From ae8bbe0b0420794126634eb83969c9cd9797559f Mon Sep 17 00:00:00 2001 From: Shay Date: Tue, 23 Jan 2024 22:42:05 +0700 Subject: [PATCH 001/470] docs: add emphasis to `useAsyncData` explanation (#25392) --- docs/3.api/2.composables/use-async-data.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.api/2.composables/use-async-data.md b/docs/3.api/2.composables/use-async-data.md index f0fa43ba70..1d8b40e744 100644 --- a/docs/3.api/2.composables/use-async-data.md +++ b/docs/3.api/2.composables/use-async-data.md @@ -11,7 +11,7 @@ links: Within your pages, components, and plugins you can use useAsyncData to get access to data that resolves asynchronously. ::callout -[`useAsyncData`](/docs/api/composables/use-async-data) is a composable meant to be called directly in a setup function, plugin, or route middleware. It returns reactive composables and handles adding responses to the Nuxt payload so they can be passed from server to client without re-fetching the data on client side when the page hydrates. +[`useAsyncData`](/docs/api/composables/use-async-data) is a composable meant to be called directly in a setup function, plugin, or route middleware. It returns reactive composables and handles adding responses to the Nuxt payload so they can be passed from server to client **without re-fetching the data on client side** when the page hydrates. :: ## Usage From 979ee466c10f0be106dd73cf1ab5bf864ee8ee6d Mon Sep 17 00:00:00 2001 From: Michael Brevard Date: Tue, 23 Jan 2024 18:02:40 +0200 Subject: [PATCH 002/470] docs: add separate docs page for `error.vue` (#25320) --- docs/1.getting-started/8.error-handling.md | 30 +---------- docs/2.guide/2.directory-structure/3.error.md | 53 +++++++++++++++++++ 2 files changed, 55 insertions(+), 28 deletions(-) create mode 100644 docs/2.guide/2.directory-structure/3.error.md diff --git a/docs/1.getting-started/8.error-handling.md b/docs/1.getting-started/8.error-handling.md index c5e026f50c..b6067c6593 100644 --- a/docs/1.getting-started/8.error-handling.md +++ b/docs/1.getting-started/8.error-handling.md @@ -101,36 +101,10 @@ const handleError = () => clearError({ redirect: '/' }) ``` -::callout -Although it is called an 'error page' it's not a route and shouldn't be placed in your `~/pages` directory. For the same reason, you shouldn't use `definePageMeta` within this page. +::read-more{to="/docs/guide/directory-structure/error"} +Read more about `error.vue` and its uses. :: -The error page has a single prop - `error` which contains an error for you to handle. - -The `error` object provides the fields: -```ts -{ - url: string - statusCode: number - statusMessage: string - message: string - description: string - data: any -} -``` - -If you have an error with custom fields they will be lost; you should assign them to `data` instead: - -```ts -throw createError({ - statusCode: 404, - statusMessage: 'Page Not Found', - data: { - myCustomField: true - } -}) -``` - For custom errors we highly recommend to use `onErrorCaptured` composable that can be called in a page/component setup function or `vue:error` runtime nuxt hook that can be configured in a nuxt plugin. ```ts [plugins/error-handler.ts] diff --git a/docs/2.guide/2.directory-structure/3.error.md b/docs/2.guide/2.directory-structure/3.error.md new file mode 100644 index 0000000000..ade92b7179 --- /dev/null +++ b/docs/2.guide/2.directory-structure/3.error.md @@ -0,0 +1,53 @@ +--- +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 +--- + +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. + +```vue [error.vue] + + + +``` + +::callout +Although it is called an 'error page' it's not a route and shouldn't be placed in your `~/pages` directory. For the same reason, you shouldn't use `definePageMeta` within this page. +:: + +The error page has a single prop - `error` which contains an error for you to handle. + +The `error` object provides the following fields: +```ts +{ + url: string + statusCode: number + statusMessage: string + message: string + description: string + data: any +} +``` + +If you have an error with custom fields they will be lost; you should assign them to `data` instead: + +```ts +throw createError({ + statusCode: 404, + statusMessage: 'Page Not Found', + data: { + myCustomField: true + } +}) +``` From c51272099f22f6c3b06b9551e1f87c0daff02151 Mon Sep 17 00:00:00 2001 From: Michael Brevard Date: Tue, 23 Jan 2024 18:12:59 +0200 Subject: [PATCH 003/470] docs: add explanation about layout usage in `error.vue` (#25396) --- docs/2.guide/2.directory-structure/3.error.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/2.guide/2.directory-structure/3.error.md b/docs/2.guide/2.directory-structure/3.error.md index ade92b7179..55a71bdd4c 100644 --- a/docs/2.guide/2.directory-structure/3.error.md +++ b/docs/2.guide/2.directory-structure/3.error.md @@ -23,7 +23,7 @@ const props = defineProps({ ``` ::callout -Although it is called an 'error page' it's not a route and shouldn't be placed in your `~/pages` directory. For the same reason, you shouldn't use `definePageMeta` within this page. +Although it is called an 'error page' it's not a route and shouldn't be placed in your `~/pages` directory. For the same reason, you shouldn't use `definePageMeta` within this page. That being said, you can still use layouts in the error file, by utilizing the [`NuxtLayout`](/docs/api/components/nuxt-layout) component and specifying the name of the layout. :: The error page has a single prop - `error` which contains an error for you to handle. From a42aaecfb5eb44966c67a925b9ee4085bea8329f Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 23 Jan 2024 17:44:14 +0000 Subject: [PATCH 004/470] fix(nuxt): add router.options files in definite order (#25397) --- packages/nuxt/src/pages/module.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 95c256a438..06b8fa5de5 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -38,10 +38,10 @@ export default defineNuxtModule({ // Add default options context.files.push({ path: resolve(runtimeDir, 'router.options'), optional: true }) - await Promise.all(nuxt.options._layers.map(async layer => { + for (const layer of nuxt.options._layers) { const path = await findPath(resolve(layer.config.srcDir, 'app/router.options')) if (path) { context.files.push({ path }) } - })) + } await nuxt.callHook('pages:routerOptions', context) return context.files From 1daf92b3de053416ddb2b235657409afa7249cc7 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 24 Jan 2024 11:49:47 +0000 Subject: [PATCH 005/470] test: avoid explicit timeouts (#25395) --- test/basic.test.ts | 86 +++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/test/basic.test.ts b/test/basic.test.ts index 9e76c02456..44f7045564 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -7,7 +7,6 @@ import { join, normalize } from 'pathe' import { $fetch, createPage, fetch, isDev, setup, startServer, url, useTestContext } from '@nuxt/test-utils/e2e' import { $fetchComponent } from '@nuxt/test-utils/experimental' -import type { ConsoleMessage } from 'playwright-core' import type { NuxtIslandResponse } from '../packages/nuxt/src/core/runtime/nitro/renderer' import { expectNoClientErrors, expectWithPolling, gotoPath, isRenderingJson, parseData, parsePayload, renderPage } from './utils' @@ -272,8 +271,7 @@ describe('pages', () => { it('/client-server', async () => { // expect no hydration issues await expectNoClientErrors('/client-server') - const page = await createPage('/client-server') - await page.waitForLoadState('networkidle') + const { page } = await renderPage('/client-server') const bodyHTML = await page.innerHTML('body') expect(await page.locator('.placeholder-to-ensure-no-override').all()).toHaveLength(5) expect(await page.locator('.server').all()).toHaveLength(0) @@ -285,6 +283,7 @@ describe('pages', () => { expect(bodyHTML).not.toContain('hello') expect(bodyHTML).toContain('world') + await page.close() }) it('/client-only-components', async () => { @@ -363,8 +362,7 @@ describe('pages', () => { // don't expect any errors or warning on client-side navigation const { page: page2, consoleLogs: consoleLogs2 } = await renderPage('/') await page2.locator('#to-client-only-components').click() - // force wait for a few ticks - await page2.waitForTimeout(50) + await page2.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/client-only-components`) expect(consoleLogs2.some(log => log.type === 'error' || log.type === 'warning')).toBeFalsy() await page2.close() }) @@ -591,50 +589,48 @@ describe('nuxt links', () => { it('expect scroll to top on routes with same component', async () => { // #22402 - const page = await createPage('/big-page-1') - await page.setViewportSize({ - width: 1000, - height: 1000 + const page = await createPage('/big-page-1', { + viewport: { + width: 1000, + height: 1000 + } }) - await page.waitForLoadState('networkidle') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/big-page-1') await page.locator('#big-page-2').scrollIntoViewIfNeeded() expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) await page.locator('#big-page-2').click() - await page.waitForURL(url => url.href.includes('/big-page-2')) - await page.waitForTimeout(25) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/big-page-2`) expect(await page.evaluate(() => window.scrollY)).toBe(0) await page.locator('#big-page-1').scrollIntoViewIfNeeded() expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) await page.locator('#big-page-1').click() - await page.waitForURL(url => url.href.includes('/big-page-1')) - await page.waitForTimeout(25) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/big-page-1`) expect(await page.evaluate(() => window.scrollY)).toBe(0) await page.close() }) it('expect scroll to top on nested pages', async () => { // #20523 - const page = await createPage('/nested/foo/test') - await page.setViewportSize({ - width: 1000, - height: 1000 + const page = await createPage('/nested/foo/test', { + viewport: { + width: 1000, + height: 1000 + } }) - await page.waitForLoadState('networkidle') + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/nested/foo/test`) await page.locator('#user-test').scrollIntoViewIfNeeded() expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) await page.locator('#user-test').click() - await page.waitForURL(url => url.href.includes('/nested/foo/user-test')) - await page.waitForTimeout(25) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/nested/foo/user-test`) expect(await page.evaluate(() => window.scrollY)).toBe(0) await page.locator('#test').scrollIntoViewIfNeeded() expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) await page.locator('#test').click() - await page.waitForURL(url => url.href.includes('/nested/foo/test')) - await page.waitForTimeout(25) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/nested/foo/test`) expect(await page.evaluate(() => window.scrollY)).toBe(0) await page.close() }) @@ -1504,12 +1500,8 @@ describe('server components/islands', () => { }) it('lazy server components', async () => { - const logs: ConsoleMessage[] = [] + const { page, consoleLogs } = await renderPage('/server-components/lazy/start') - const { page } = await renderPage('/server-components/lazy/start') - - page.on('console', (msg) => { if (msg.type() === 'error') { logs.push(msg) } }) - await page.waitForLoadState('networkidle') await page.getByText('Go to page with lazy server component').click() const text = await page.innerText('pre') @@ -1528,7 +1520,7 @@ describe('server components/islands', () => { await page.getByText('Go to page with lazy server component').click() await page.waitForLoadState('networkidle') - expect(logs).toHaveLength(0) + expect(consoleLogs.filter(l => l.type === 'error')).toHaveLength(0) await page.close() }) @@ -2163,17 +2155,17 @@ describe.skipIf(isWindows)('useAsyncData', () => { }) it('data is null after navigation when immediate false', async () => { - const page = await createPage('/useAsyncData/immediate-remove-unmounted') - await page.waitForLoadState('networkidle') - await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/useAsyncData/immediate-remove-unmounted') + const { page } = await renderPage('/useAsyncData/immediate-remove-unmounted') expect(await page.locator('#immediate-data').getByText('null').textContent()).toBe('null') await page.click('#execute-btn') expect(await page.locator('#immediate-data').getByText(',').textContent()).not.toContain('null') await page.click('#to-index') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/') await page.click('#to-immediate-remove-unmounted') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/useAsyncData/immediate-remove-unmounted') expect(await page.locator('#immediate-data').getByText('null').textContent()).toBe('null') await page.click('#execute-btn') @@ -2199,7 +2191,7 @@ describe('keepalive', () => { const pageName = 'not-keepalive' await page.click(`#${pageName}`) - await page.waitForTimeout(25) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/keepalive/${pageName}`) expect(consoleLogs.map(l => l.text).filter(t => t.includes('keepalive'))).toEqual([`${pageName}: onMounted`]) @@ -2211,7 +2203,7 @@ describe('keepalive', () => { const pageName = 'keepalive-in-config' await page.click(`#${pageName}`) - await page.waitForTimeout(25) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/keepalive/${pageName}`) expect(consoleLogs.map(l => l.text).filter(t => t.includes('keepalive'))).toEqual([`${pageName}: onMounted`]) @@ -2223,7 +2215,7 @@ describe('keepalive', () => { const pageName = 'not-keepalive-in-nuxtpage' await page.click(`#${pageName}`) - await page.waitForTimeout(25) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/keepalive/${pageName}`) expect(consoleLogs.map(l => l.text).filter(t => t.includes('keepalive'))).toEqual([`${pageName}: onMounted`]) @@ -2235,7 +2227,7 @@ describe('keepalive', () => { const pageName = 'keepalive-in-nuxtpage' await page.click(`#${pageName}`) - await page.waitForTimeout(25) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/keepalive/${pageName}`) expect(consoleLogs.map(l => l.text).filter(t => t.includes('keepalive'))).toEqual([`${pageName}: onMounted`, `${pageName}: onActivated`]) @@ -2245,16 +2237,18 @@ describe('keepalive', () => { it('should preserve keepalive config when navigate routes in nuxt-page', async () => { const { page, consoleLogs } = await renderPage('/keepalive') - await page.click('#keepalive-in-nuxtpage') - await page.waitForTimeout(25) - await page.click('#keepalive-in-nuxtpage-2') - await page.waitForTimeout(25) - await page.click('#keepalive-in-nuxtpage') - await page.waitForTimeout(25) - await page.click('#not-keepalive') - await page.waitForTimeout(25) - await page.click('#keepalive-in-nuxtpage-2') - await page.waitForTimeout(25) + const slugs = [ + 'keepalive-in-nuxtpage', + 'keepalive-in-nuxtpage-2', + 'keepalive-in-nuxtpage', + 'not-keepalive', + 'keepalive-in-nuxtpage-2', + ] + + for (const slug of slugs) { + await page.click(`#${slug}`) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/keepalive/${slug}`) + } expect(consoleLogs.map(l => l.text).filter(t => t.includes('keepalive'))).toEqual([ 'keepalive-in-nuxtpage: onMounted', From 44fcacba846a6cdf33e1475fc8413f6ae49d1fe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= Date: Wed, 24 Jan 2024 12:50:40 +0100 Subject: [PATCH 006/470] ci: label pull request based on type in title (#25404) --- .github/workflows/label-pr.yml | 78 ++++++++++++++++++++++++++-------- 1 file changed, 60 insertions(+), 18 deletions(-) diff --git a/.github/workflows/label-pr.yml b/.github/workflows/label-pr.yml index 8429de7f03..20ce5a0108 100644 --- a/.github/workflows/label-pr.yml +++ b/.github/workflows/label-pr.yml @@ -9,31 +9,73 @@ on: - 2.x jobs: - add-pr-label: - name: Add PR label + add-pr-labels: + name: Add PR labels runs-on: ubuntu-latest permissions: pull-requests: write if: github.repository == 'nuxt/nuxt' steps: - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + env: + PULL_REQUEST_TITLE: ${{ github.event.pull_request.title }} with: script: | - const baseName = "${{ github.event.pull_request.base.label }}" - const PRNumber = "${{ github.event.pull_request.number }}" + const labelsToAdd = [] - if(baseName === "nuxt:2.x") { - github.rest.issues.addLabels({ - issue_number: PRNumber, - owner: context.repo.owner, - repo: context.repo.repo, - labels: ["2.x"] - }) - } else if(baseName === "nuxt:main") { - github.rest.issues.addLabels({ - issue_number: PRNumber, - owner: context.repo.owner, - repo: context.repo.repo, - labels: ["3.x"] - }) + const pullRequest = { + baseLabel: ${{ github.event.pull_request.base.label }}, + number: ${{ github.event.pull_request.number }}, + title: process.env.PULL_REQUEST_TITLE, + labelsNames: ${{ github.event.pull_request.labels }}.map( + (label) => label.name + ) } + + // Select label based on the branch name + const branchNameBasedLabelName = { + 'nuxt:main': '3.x', + 'nuxt:2.x': '2.x' + }[pullRequest.baseLabel] + + if ( + branchNameBasedLabelName && + !pullRequest.labelsNames.includes(branchNameBasedLabelName) + ) { + labelsToAdd.push(branchNameBasedLabelName) + } + + // Select label based on the type in PR title + const eligibleTypesToLabelsNamesMap = { + chore: 'chore', + ci: 'chore', + docs: 'documentation', + feat: 'enhancement', + fix: 'bug', + perf: 'performance', + refactor: 'refactor', + test: 'test' + } + + for (const [eligibleType, labelName] of Object.entries( + eligibleTypesToLabelsNamesMap + )) { + if ( + pullRequest.title.startsWith(eligibleType) && + !pullRequest.labelsNames.includes( + eligibleTypesToLabelsNamesMap[eligibleType] + ) + ) { + labelsToAdd.push(labelName) + + break + } + } + + // Add selected labels + github.rest.issues.addLabels({ + issue_number: pullRequest.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: labelsToAdd + }) From 3f51277219051a502fe28db0d8089d3c5923c759 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= Date: Thu, 25 Jan 2024 12:29:15 +0100 Subject: [PATCH 007/470] ci: wrap PR base label in quotes (#25432) --- .github/workflows/label-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/label-pr.yml b/.github/workflows/label-pr.yml index 20ce5a0108..80100fc845 100644 --- a/.github/workflows/label-pr.yml +++ b/.github/workflows/label-pr.yml @@ -24,7 +24,7 @@ jobs: const labelsToAdd = [] const pullRequest = { - baseLabel: ${{ github.event.pull_request.base.label }}, + baseLabel: '${{ github.event.pull_request.base.label }}', number: ${{ github.event.pull_request.number }}, title: process.env.PULL_REQUEST_TITLE, labelsNames: ${{ github.event.pull_request.labels }}.map( From aa4faaab3c7daf8d0d6ce8bf740c93a7402135ee Mon Sep 17 00:00:00 2001 From: Becem Date: Thu, 25 Jan 2024 15:29:50 +0100 Subject: [PATCH 008/470] fix(nuxt): do not rerun synchronous `callOnce` callbacks (#25431) --- packages/nuxt/src/app/composables/once.ts | 2 +- test/nuxt/composables.test.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/once.ts b/packages/nuxt/src/app/composables/once.ts index c8c664826d..177ab4c9d5 100644 --- a/packages/nuxt/src/app/composables/once.ts +++ b/packages/nuxt/src/app/composables/once.ts @@ -25,7 +25,7 @@ export async function callOnce (...args: any): Promise { return } nuxtApp._once = nuxtApp._once || {} - nuxtApp._once[_key] = nuxtApp._once[_key] || fn() + nuxtApp._once[_key] = nuxtApp._once[_key] || fn() || true await nuxtApp._once[_key] nuxtApp.payload.once.add(_key) delete nuxtApp._once[_key] diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index f9229a01d2..ee96662c91 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -595,6 +595,11 @@ describe('callOnce', () => { const execute = () => callOnce(fn) await Promise.all([execute(), execute(), execute()]) expect(fn).toHaveBeenCalledTimes(1) + + const fnSync = vi.fn().mockImplementation(() => { }) + const executeSync = () => callOnce(fnSync) + await Promise.all([executeSync(), executeSync(), executeSync()]) + expect(fnSync).toHaveBeenCalledTimes(1) }) it('should use key to dedupe', async () => { From 435c3290b1c3ad5645280a66e007f9db10a72607 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 14:30:18 +0000 Subject: [PATCH 009/470] chore(deps): update peter-evans/repository-dispatch action to v3 (main) (#25434) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/notify-nuxt-bridge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/notify-nuxt-bridge.yml b/.github/workflows/notify-nuxt-bridge.yml index 50f06c6ab5..fa97b12b95 100644 --- a/.github/workflows/notify-nuxt-bridge.yml +++ b/.github/workflows/notify-nuxt-bridge.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: repository dispatch - uses: peter-evans/repository-dispatch@bf47d102fdb849e755b0b0023ea3e81a44b6f570 #v2.1.2 + uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3.0.0 with: token: ${{ secrets.BRIDGE_GITHUB_TOKEN }} repository: ${{ matrix.repo }} From a995f724eadaa06d5443b188879ac18dfe73de2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= Date: Thu, 25 Jan 2024 16:55:33 +0100 Subject: [PATCH 010/470] ci: update extracting PR labels' names (#25437) --- .github/workflows/label-pr.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/label-pr.yml b/.github/workflows/label-pr.yml index 80100fc845..9a74f6fa1b 100644 --- a/.github/workflows/label-pr.yml +++ b/.github/workflows/label-pr.yml @@ -27,9 +27,7 @@ jobs: baseLabel: '${{ github.event.pull_request.base.label }}', number: ${{ github.event.pull_request.number }}, title: process.env.PULL_REQUEST_TITLE, - labelsNames: ${{ github.event.pull_request.labels }}.map( - (label) => label.name - ) + labelsNames: ${{ toJson(github.event.pull_request.labels.*.name) }} } // Select label based on the branch name From 13384149f7e031fa877f53a1936f7c86339bb5e0 Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Sat, 27 Jan 2024 22:45:34 +0100 Subject: [PATCH 011/470] fix(nuxt): remove dynamic `nuxt-client` within template code (#25464) --- packages/nuxt/src/components/islandsTransform.ts | 2 +- packages/nuxt/test/islandTransform.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index 9a84865007..2edba499a9 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -32,7 +32,7 @@ interface ComponentChunkOptions { const SCRIPT_RE = /]*>/g const HAS_SLOT_OR_CLIENT_RE = /(]*>)|(nuxt-client)/ const TEMPLATE_RE = / ``` - \ No newline at end of file diff --git a/docs/3.api/1.components/11.teleports.md b/docs/3.api/1.components/11.teleports.md index 23dc7068d0..8821cda125 100644 --- a/docs/3.api/1.components/11.teleports.md +++ b/docs/3.api/1.components/11.teleports.md @@ -3,7 +3,7 @@ title: '' description: The component teleports a component to a different location in the DOM. --- -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning The `to` target of [``](https://vuejs.org/guide/built-ins/teleport.html) expects a CSS selector string or an actual DOM node. Nuxt currently has SSR support for teleports to `body` only, with client-side support for other targets using a `` wrapper. :: diff --git a/docs/3.api/1.components/2.nuxt-page.md b/docs/3.api/1.components/2.nuxt-page.md index 09fe79d3de..dd57c2fb0c 100644 --- a/docs/3.api/1.components/2.nuxt-page.md +++ b/docs/3.api/1.components/2.nuxt-page.md @@ -10,12 +10,12 @@ links: `` is a built-in component that comes with Nuxt. It lets you display top-level or nested pages located in the [`pages/`](/docs/guide/directory-structure/pages) directory. -::callout +::note `` is a wrapper around [``](https://router.vuejs.org/api/interfaces/RouterViewProps.html#interface-routerviewprops) component from Vue Router. :br It accepts same `name` and `route` props. :: -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning `` should be used instead of `` as the former takes additional care on internal states. Otherwise, `useRoute()` may return incorrect paths. :: @@ -32,7 +32,7 @@ It accepts same `name` and `route` props. - `keepalive`: control state preservation of pages rendered with the `NuxtPage` component. - type: `boolean` or `KeepAliveProps` -::callout +::tip Nuxt automatically resolves the `name` and `route` by scanning and rendering all Vue component files found in the `/pages` directory. :: @@ -52,7 +52,7 @@ You can also use a dynamic key based on the current route: ``` -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning Don't use `$route` object here as it can cause problems with how `` renders pages with ``. :: diff --git a/docs/3.api/1.components/3.nuxt-layout.md b/docs/3.api/1.components/3.nuxt-layout.md index 409b31b01d..cc8bf04191 100644 --- a/docs/3.api/1.components/3.nuxt-layout.md +++ b/docs/3.api/1.components/3.nuxt-layout.md @@ -39,7 +39,7 @@ const layout = 'custom' ``` -::callout +::note Please note the layout name is normalized to kebab-case, so if your layout file is named `errorLayout.vue`, it will become `error-layout` when passed as a `name` property to ``. :: diff --git a/docs/3.api/1.components/4.nuxt-link.md b/docs/3.api/1.components/4.nuxt-link.md index 287d8d94a4..5e54807145 100644 --- a/docs/3.api/1.components/4.nuxt-link.md +++ b/docs/3.api/1.components/4.nuxt-link.md @@ -8,7 +8,7 @@ links: size: xs --- -::callout +::note `` is a drop-in replacement for both Vue Router's `` component and HTML's `` tag. It intelligently determines whether the link is _internal_ or _external_ and renders it accordingly with available optimizations (prefetching, default attributes, etc.) :: @@ -116,7 +116,7 @@ When not using `external`, `` supports all Vue Router's [`RouterLink` - `target`: A `target` attribute value to apply on the link - `rel`: A `rel` attribute value to apply on the link. Defaults to `"noopener noreferrer"` for external links. -::callout +::tip Defaults can be overwritten, see [overwriting defaults](#overwriting-defaults) if you want to change them. :: @@ -126,7 +126,7 @@ Defaults can be overwritten, see [overwriting defaults](#overwriting-defaults) i You can overwrite some `` defaults in your [`nuxt.config`](https://nuxt.com/docs/api/nuxt-config#defaults) -::callout{color="amber" icon="i-ph-warning-duotone"} +::important These options will likely be moved elsewhere in the future, such as into `app.config` or into the `app/` directory. :: diff --git a/docs/3.api/1.components/5.nuxt-loading-indicator.md b/docs/3.api/1.components/5.nuxt-loading-indicator.md index 016070181c..e22b582422 100644 --- a/docs/3.api/1.components/5.nuxt-loading-indicator.md +++ b/docs/3.api/1.components/5.nuxt-loading-indicator.md @@ -35,15 +35,15 @@ You can pass custom HTML or components through the loading indicator's default s - `throttle`: Throttle the appearing and hiding, in milliseconds (default `200`). - `estimatedProgress`: By default Nuxt will back off as it approaches 100%. You can provide a custom function to customize the progress estimation, which is a function that receives the duration of the loading bar (above) and the elapsed time. It should return a value between 0 and 100. -::callout +::note This component is optional. :br To achieve full customization, you can implement your own one based on [its source code](https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/nuxt-loading-indicator.ts). :: -::callout +::note You can hook into the underlying indicator instance using [the `useLoadingIndicator` composable](/docs/api/composables/use-loading-indicator), which will allow you to trigger start/finish events yourself. :: -::callout +::tip The loading indicator's speed gradually decreases after reaching a specific point controlled by `estimatedProgress`. This adjustment provides a more accurate reflection of longer page loading times and prevents the indicator from prematurely showing 100% completion. :: diff --git a/docs/3.api/1.components/6.nuxt-error-boundary.md b/docs/3.api/1.components/6.nuxt-error-boundary.md index 2e9efe3c82..35094f4ac5 100644 --- a/docs/3.api/1.components/6.nuxt-error-boundary.md +++ b/docs/3.api/1.components/6.nuxt-error-boundary.md @@ -8,7 +8,7 @@ links: size: xs --- -::callout +::tip The `` uses Vue's [`onErrorCaptured`](https://vuejs.org/api/composition-api-lifecycle.html#onerrorcaptured) hook under the hood. :: diff --git a/docs/3.api/1.components/7.nuxt-welcome.md b/docs/3.api/1.components/7.nuxt-welcome.md index 54dc41305a..f68051f170 100644 --- a/docs/3.api/1.components/7.nuxt-welcome.md +++ b/docs/3.api/1.components/7.nuxt-welcome.md @@ -20,6 +20,6 @@ It includes links to the Nuxt documentation, source code, and social media accou Preview the `` component. :: -::callout +::tip This component is part of [nuxt/assets](https://github.com/nuxt/assets). :: diff --git a/docs/3.api/1.components/8.nuxt-island.md b/docs/3.api/1.components/8.nuxt-island.md index 40c2ccfcba..a7c3dfc99f 100644 --- a/docs/3.api/1.components/8.nuxt-island.md +++ b/docs/3.api/1.components/8.nuxt-island.md @@ -16,11 +16,11 @@ Changing the island component props triggers a refetch of the island component t This component is experimental and in order to use it you must enable the `experimental.componentIslands` option in your `nuxt.config`. :: -::callout +::note Global styles of your application are sent with the response. :: -::callout +::tip Server only components use `` under the hood :: @@ -40,7 +40,7 @@ Server only components use `` under the hood - **type**: `boolean` - **default**: `false` -::callout{color="blue" icon="i-ph-info-duotone"} +::note Remote islands need `experimental.componentIslands` to be `'local+remote'` in your `nuxt.config`. It is strongly discouraged to enable `dangerouslyLoadClientComponents` as you can't trust a remote server's javascript. :: diff --git a/docs/3.api/2.composables/use-async-data.md b/docs/3.api/2.composables/use-async-data.md index fadb2049c4..43b2bc4e24 100644 --- a/docs/3.api/2.composables/use-async-data.md +++ b/docs/3.api/2.composables/use-async-data.md @@ -10,7 +10,7 @@ links: Within your pages, components, and plugins you can use useAsyncData to get access to data that resolves asynchronously. -::callout +::note [`useAsyncData`](/docs/api/composables/use-async-data) is a composable meant to be called directly in the [Nuxt context](/docs/guide/going-further/nuxt-app#the-nuxt-context). It returns reactive composables and handles adding responses to the Nuxt payload so they can be passed from server to client **without re-fetching the data on client side** when the page hydrates. :: @@ -25,7 +25,7 @@ const { data, pending, error, refresh } = await useAsyncData( ``` -::callout +::note `data`, `pending`, `status` and `error` are Vue refs and they should be accessed with `.value` when used within the ` ``` -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning [`useAsyncData`](/docs/api/composables/use-async-data) is a reserved function name transformed by the compiler, so you should not name your own function [`useAsyncData`](/docs/api/composables/use-async-data) . :: @@ -73,7 +73,7 @@ const { data: posts } = await useAsyncData( - `cancel` - cancels existing requests when a new one is made - `defer` - does not make new requests at all if there is a pending request -::callout +::note Under the hood, `lazy: false` uses `` to block the loading of the route before the data has been fetched. Consider using `lazy: true` and implementing a loading state instead for a snappier user experience. :: @@ -81,7 +81,7 @@ Under the hood, `lazy: false` uses `` to block the loading of the rout You can use `useLazyAsyncData` to have the same behavior as `lazy: true` with `useAsyncData`. :: -::callout{icon="i-simple-icons-youtube" color="gray" to="https://www.youtube.com/watch?v=aQPR0xn-MMk" target="_blank"} +::tip{icon="i-simple-icons-youtube" color="gray" to="https://www.youtube.com/watch?v=aQPR0xn-MMk" target="_blank"} Learn how to use `transform` and `getCachedData` to avoid superfluous calls to an API and cache data for visitors on the client. :: @@ -95,7 +95,7 @@ Learn how to use `transform` and `getCachedData` to avoid superfluous calls to a By default, Nuxt waits until a `refresh` is finished before it can be executed again. -::callout +::note If you have not fetched data on the server (for example, with `server: false`), then the data _will not_ be fetched until hydration completes. This means even if you await [`useAsyncData`](/docs/api/composables/use-async-data) on the client side, `data` will remain `null` within ` ``` -::callout +::note `data`, `pending`, `status` and `error` are Vue refs and they should be accessed with `.value` when used within the ` ``` -::callout{to="/docs/getting-started/state-management#usage-with-pinia"} +::tip{to="/docs/getting-started/state-management#usage-with-pinia"} `callOnce` is useful in combination with the [Pinia module](/modules/pinia) to call store actions. :: :read-more{to="/docs/getting-started/state-management"} -::callout{color="info" icon="i-ph-warning-duotone"} +::warning Note that `callOnce` doesn't return anything. You should use [`useAsyncData`](/docs/api/composables/use-async-data) or [`useFetch`](/docs/api/composables/use-fetch) if you want to do data fetching during SSR. :: -::callout +::note `callOnce` is a composable meant to be called directly in a setup function, plugin, or route middleware, because it needs to add data to the Nuxt payload to avoid re-calling the function on the client when the page hydrates. :: diff --git a/docs/3.api/3.utils/clear-nuxt-data.md b/docs/3.api/3.utils/clear-nuxt-data.md index b1b7f7cb9b..70424b9760 100644 --- a/docs/3.api/3.utils/clear-nuxt-data.md +++ b/docs/3.api/3.utils/clear-nuxt-data.md @@ -8,7 +8,7 @@ links: size: xs --- -::callout +::note This method is useful if you want to invalidate the data fetching for another page. :: diff --git a/docs/3.api/3.utils/clear-nuxt-state.md b/docs/3.api/3.utils/clear-nuxt-state.md index 70ed999bf2..a2431c526c 100644 --- a/docs/3.api/3.utils/clear-nuxt-state.md +++ b/docs/3.api/3.utils/clear-nuxt-state.md @@ -8,7 +8,7 @@ links: size: xs --- -::callout +::note This method is useful if you want to invalidate the state of `useState`. :: diff --git a/docs/3.api/3.utils/define-nuxt-component.md b/docs/3.api/3.utils/define-nuxt-component.md index 26e1d18320..7ee1073121 100644 --- a/docs/3.api/3.utils/define-nuxt-component.md +++ b/docs/3.api/3.utils/define-nuxt-component.md @@ -8,11 +8,11 @@ links: size: xs --- -::callout +::note `defineNuxtComponent()` is a helper function for defining type safe Vue components using options API similar to [`defineComponent()`](https://vuejs.org/api/general.html#definecomponent). `defineNuxtComponent()` wrapper also adds support for `asyncData` and `head` component options. :: -::callout{color="blue" icon="i-ph-info-duotone"} +::note Using ` ``` -::callout{to="/docs/guide/going-further/experimental-features#cookiestore"} +::note{to="/docs/guide/going-further/experimental-features#cookiestore"} You can enable experimental `cookieStore` option to automatically refresh `useCookie` value when cookie changes in the browser. :: diff --git a/docs/3.api/3.utils/refresh-nuxt-data.md b/docs/3.api/3.utils/refresh-nuxt-data.md index c871ff57b7..019657ac90 100644 --- a/docs/3.api/3.utils/refresh-nuxt-data.md +++ b/docs/3.api/3.utils/refresh-nuxt-data.md @@ -8,7 +8,7 @@ links: size: xs --- -::callout +::note `refreshNuxtData` re-fetches all data from the server and updates the page as well as invalidates the cache of [`useAsyncData`](/docs/api/composables/use-async-data) , `useLazyAsyncData`, [`useFetch`](/docs/api/composables/use-fetch) and `useLazyFetch`. :: diff --git a/docs/3.api/3.utils/reload-nuxt-app.md b/docs/3.api/3.utils/reload-nuxt-app.md index 0868e1319c..3b25a95905 100644 --- a/docs/3.api/3.utils/reload-nuxt-app.md +++ b/docs/3.api/3.utils/reload-nuxt-app.md @@ -8,7 +8,7 @@ links: size: xs --- -::callout +::note `reloadNuxtApp` will perform a hard reload of your app, re-requesting a page and its dependencies from the server. :: diff --git a/docs/3.api/3.utils/set-page-layout.md b/docs/3.api/3.utils/set-page-layout.md index 6d1d11e6a7..de99133bba 100644 --- a/docs/3.api/3.utils/set-page-layout.md +++ b/docs/3.api/3.utils/set-page-layout.md @@ -1,6 +1,6 @@ --- title: 'setPageLayout' -description: setPageLayout allows you to dynamically change the layout of a page. +description: setPageLayout allows you to dynamically change the layout of a page. links: - label: Source icon: i-simple-icons-github @@ -8,7 +8,7 @@ links: size: xs --- -::callout +::important `setPageLayout` allows you to dynamically change the layout of a page. It relies on access to the Nuxt context and therefore can only be called within the [Nuxt context](/docs/guide/going-further/nuxt-app#the-nuxt-context). :: @@ -19,6 +19,6 @@ export default defineNuxtRouteMiddleware((to) => { }) ``` -::callout +::note If you choose to set the layout dynamically on the server side, you _must_ do so before the layout is rendered by Vue (that is, within a plugin or route middleware) to avoid a hydration mismatch. :: diff --git a/docs/3.api/3.utils/set-response-status.md b/docs/3.api/3.utils/set-response-status.md index d3bf9119e3..967d942e01 100644 --- a/docs/3.api/3.utils/set-response-status.md +++ b/docs/3.api/3.utils/set-response-status.md @@ -12,7 +12,7 @@ Nuxt provides composables and utilities for first-class server-side-rendering su `setResponseStatus` sets the statusCode (and optionally the statusMessage) of the response. -::callout +::important `setResponseStatus` can only be called in the [Nuxt context](/docs/guide/going-further/nuxt-app#the-nuxt-context). :: @@ -29,7 +29,7 @@ if (event) { } ``` -::callout +::note In the browser, `setResponseStatus` will have no effect. :: diff --git a/docs/3.api/3.utils/show-error.md b/docs/3.api/3.utils/show-error.md index 75ef35d471..86f29c1d31 100644 --- a/docs/3.api/3.utils/show-error.md +++ b/docs/3.api/3.utils/show-error.md @@ -24,7 +24,7 @@ showError({ The error is set in the state using [`useError()`](/docs/api/composables/use-error) to create a reactive and SSR-friendly shared error state across components. -::callout +::tip `showError` calls the `app:error` hook. :: diff --git a/docs/3.api/3.utils/update-app-config.md b/docs/3.api/3.utils/update-app-config.md index 15f32044be..1ccfc61594 100644 --- a/docs/3.api/3.utils/update-app-config.md +++ b/docs/3.api/3.utils/update-app-config.md @@ -8,7 +8,7 @@ links: size: xs --- -::callout +::note Updates the [`app.config`](/docs/guide/directory-structure/app-config) using deep assignment. Existing (nested) properties will be preserved. :: diff --git a/docs/3.api/4.commands/analyze.md b/docs/3.api/4.commands/analyze.md index 2d5dbe2c75..152cbedd36 100644 --- a/docs/3.api/4.commands/analyze.md +++ b/docs/3.api/4.commands/analyze.md @@ -18,6 +18,6 @@ Option | Default | Description -------------------------|-----------------|------------------ `rootDir` | `.` | The directory of the target application. -::callout +::note This command sets `process.env.NODE_ENV` to `production`. :: diff --git a/docs/3.api/4.commands/build.md b/docs/3.api/4.commands/build.md index ba561ba5f7..7293b34238 100644 --- a/docs/3.api/4.commands/build.md +++ b/docs/3.api/4.commands/build.md @@ -21,6 +21,6 @@ Option | Default | Description `--dotenv` | `.` | Point to another `.env` file to load, **relative** to the root directory. `--log-level` | `info` | Specify build-time logging level, allowing `silent` \| `info` \| `verbose`. -::callout +::note This command sets `process.env.NODE_ENV` to `production`. :: diff --git a/docs/3.api/4.commands/dev.md b/docs/3.api/4.commands/dev.md index 7ce1f18680..53368a35a4 100644 --- a/docs/3.api/4.commands/dev.md +++ b/docs/3.api/4.commands/dev.md @@ -34,6 +34,6 @@ Additionally to the above options, `nuxi` can pass options through to `listhen`, This command sets `process.env.NODE_ENV` to `development`. -::callout +::note If you are using a self-signed certificate in development, you will need to set `NODE_TLS_REJECT_UNAUTHORIZED=0` in your environment. :: diff --git a/docs/3.api/4.commands/preview.md b/docs/3.api/4.commands/preview.md index b3360d5e0d..9c767bacc6 100644 --- a/docs/3.api/4.commands/preview.md +++ b/docs/3.api/4.commands/preview.md @@ -21,6 +21,6 @@ Option | Default | Description This command sets `process.env.NODE_ENV` to `production`. To override, define `NODE_ENV` in a `.env` file or as command-line argument. -::callout +::note For convenience, in preview mode, your [`.env`](/docs/guide/directory-structure/env) file will be loaded into `process.env`. (However, in production you will need to ensure your environment variables are set yourself.) :: diff --git a/docs/3.api/4.commands/typecheck.md b/docs/3.api/4.commands/typecheck.md index a89ed8d22c..b1fcf28f53 100644 --- a/docs/3.api/4.commands/typecheck.md +++ b/docs/3.api/4.commands/typecheck.md @@ -18,7 +18,7 @@ Option | Default | Description -------------------------|-----------------|------------------ `rootDir` | `.` | The directory of the target application. -::callout +::note This command sets `process.env.NODE_ENV` to `production`. To override, define `NODE_ENV` in a [`.env`](/docs/guide/directory-structure/env) file or as a command-line argument. :: diff --git a/docs/3.api/5.kit/11.nitro.md b/docs/3.api/5.kit/11.nitro.md index 0a78203e13..65c0c97437 100644 --- a/docs/3.api/5.kit/11.nitro.md +++ b/docs/3.api/5.kit/11.nitro.md @@ -182,11 +182,11 @@ export default defineNuxtModule({ Returns the Nitro instance. -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning You can call `useNitro()` only after `ready` hook. :: -::callout +::note Changes to the Nitro instance configuration are not applied. :: @@ -239,7 +239,7 @@ export default defineNuxtModule({ Add plugin to extend Nitro's runtime behavior. -::callout +::tip You can read more about Nitro plugins in the [Nitro documentation](https://nitro.unjs.io/guide/plugins). :: diff --git a/docs/3.api/5.kit/14.builder.md b/docs/3.api/5.kit/14.builder.md index 31557be079..68c4f876d3 100644 --- a/docs/3.api/5.kit/14.builder.md +++ b/docs/3.api/5.kit/14.builder.md @@ -220,7 +220,7 @@ interface ExtendWebpackConfigOptions { } ``` -::callout +::tip See [webpack website](https://webpack.js.org/concepts/plugins) for more information about webpack plugins. You can also use [this collection](https://webpack.js.org/awesome-webpack/#webpack-plugins) to find a plugin that suits your needs. :: @@ -275,9 +275,9 @@ Options to pass to the callback function. This object can have the following pro If set to `true`, the callback function will be called when building the client bundle. - `prepend` (optional) - + **Type**: `boolean` - + If set to `true`, the callback function will be prepended to the array with `unshift()` instead of `push()`. ### Examples @@ -302,7 +302,7 @@ export default defineNuxtModule({ context: nuxt.options.srcDir, files: options.include, lintDirtyModulesOnly: !options.lintOnStart - } + } addWebpackPlugin(new EslintWebpackPlugin(webpackOptions), { server: false }) } }) @@ -328,7 +328,7 @@ interface ExtendViteConfigOptions { } ``` -::callout +::tip See [Vite website](https://vitejs.dev/guide/api-plugin.html) for more information about Vite plugins. You can also use [this repository](https://github.com/vitejs/awesome-vite#plugins) to find a plugin that suits your needs. :: @@ -383,9 +383,9 @@ Options to pass to the callback function. This object can have the following pro If set to `true`, the callback function will be called when building the client bundle. - `prepend` (optional) - + **Type**: `boolean` - + If set to `true`, the callback function will be prepended to the array with `unshift()` instead of `push()`. ### Examples @@ -485,7 +485,7 @@ Options to pass to the callback function. This object can have the following pro If set to `true`, the callback function will be called when building the client bundle. - `prepend` (optional) - + **Type**: `boolean` - + If set to `true`, the callback function will be prepended to the array with `unshift()` instead of `push()`. diff --git a/docs/3.api/5.kit/4.autoimports.md b/docs/3.api/5.kit/4.autoimports.md index 66e781afbf..4647c4cef0 100644 --- a/docs/3.api/5.kit/4.autoimports.md +++ b/docs/3.api/5.kit/4.autoimports.md @@ -12,7 +12,7 @@ links: 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. With Nuxt Kit you can also add your own auto-imports. `addImports` and `addImportsDir` allow you to add imports to the Nuxt application. `addImportsSources` allows you to add listed imports from 3rd party packages to the Nuxt application. -::callout +::note These functions are designed for registering your own utils, composables and Vue APIs. For pages, components and plugins, please refer to the specific sections: [Pages](/docs/api/kit/pages), [Components](/docs/api/kit/components), [Plugins](/docs/api/kit/plugins). :: @@ -110,9 +110,9 @@ An object or an array of objects with the following properties: Using this as the from when generating type declarations. - `name` (required) - + **Type**: `string` - + Import name to be detected. - `as` (optional) @@ -296,9 +296,9 @@ An object or an array of objects with the following properties: Using this as the from when generating type declarations. - `name` (required) - + **Type**: `string` - + Import name to be detected. - `as` (optional) diff --git a/docs/3.api/5.kit/6.context.md b/docs/3.api/5.kit/6.context.md index 91232cbafe..df4199fb35 100644 --- a/docs/3.api/5.kit/6.context.md +++ b/docs/3.api/5.kit/6.context.md @@ -10,7 +10,7 @@ links: Nuxt modules allow you to enhance Nuxt's capabilities. They offer a structured way to keep your code organized and modular. If you're looking to break down your module into smaller components, Nuxt offers the `useNuxt` and `tryUseNuxt` functions. These functions enable you to conveniently access the Nuxt instance from the context without having to pass it as argument. -::callout +::note When you're working with the `setup` function in Nuxt modules, Nuxt is already provided as the second argument. This means you can directly utilize it without needing to call `useNuxt()`. You can look at [Nuxt Site Config](https://github.com/harlan-zw/nuxt-site-config) as an example of usage. :: diff --git a/docs/3.api/5.kit/7.pages.md b/docs/3.api/5.kit/7.pages.md index 25170806d7..6323ae5392 100644 --- a/docs/3.api/5.kit/7.pages.md +++ b/docs/3.api/5.kit/7.pages.md @@ -63,7 +63,7 @@ export default defineNuxtModule({ Nuxt is powered by the [Nitro](https://nitro.unjs.io) server engine. With Nitro, you can incorporate high-level logic directly into your configuration, which is useful for actions like redirects, proxying, caching, and appending headers to routes. This configuration works by associating route patterns with specific route settings. -::callout +::tip You can read more about Nitro route rules in the [Nitro documentation](https://nitro.unjs.io/guide/routing#route-rules). :: @@ -180,7 +180,7 @@ Registers route middlewares to be available for all routes or for specific route Route middlewares can be also defined in plugins via [`addRouteMiddleware`](/docs/api/utils/add-route-middleware) composable. -::callout +::tip Read more about route middlewares in the [Route middleware documentation](/docs/getting-started/routing#route-middleware). :: diff --git a/docs/3.api/5.kit/8.layout.md b/docs/3.api/5.kit/8.layout.md index da80a70c90..dd6de0f6aa 100644 --- a/docs/3.api/5.kit/8.layout.md +++ b/docs/3.api/5.kit/8.layout.md @@ -14,7 +14,7 @@ Layouts is used to be a wrapper around your pages. It can be used to wrap your p Register template as layout and add it to the layouts. -::callout +::note In Nuxt 2 `error` layout can also be registered using this utility. In Nuxt 3 `error` layout [replaced](/docs/getting-started/error-handling#rendering-an-error-page) with `error.vue` page in project root. :: @@ -74,7 +74,7 @@ A template object or a string with the path to the template. If a string is prov A function that will be called with the `options` object. It should return a string or a promise that resolves to a string. If `src` is provided, this function will be ignored. - `write` (optional) - + **Type**: `boolean` If set to `true`, the template will be written to the destination file. Otherwise, the template will be used only in virtual filesystem. diff --git a/docs/3.api/5.kit/9.plugins.md b/docs/3.api/5.kit/9.plugins.md index 6f8924edae..cf94c20bf0 100644 --- a/docs/3.api/5.kit/9.plugins.md +++ b/docs/3.api/5.kit/9.plugins.md @@ -60,7 +60,7 @@ A plugin object or a string with the path to the plugin. If a string is provided Order of the plugin. This allows more granular control over plugin order and should only be used by advanced users. Lower numbers run first, and user plugins default to `0`. It's recommended to set `order` to a number between `-20` for `pre`-plugins (plugins that run before Nuxt plugins) and `20` for `post`-plugins (plugins that run after Nuxt plugins). -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning Don't use `order` unless you know what you're doing. For most plugins, the default `order` of `0` is sufficient. To append a plugin to the end of the plugins array, use the `append` option instead. :: @@ -184,7 +184,7 @@ A plugin template object with the following properties: A function that will be called with the `options` object. It should return a string or a promise that resolves to a string. If `src` is provided, this function will be ignored. - `write` (optional) - + **Type**: `boolean` If set to `true`, the template will be written to the destination file. Otherwise, the template will be used only in virtual filesystem. @@ -197,10 +197,10 @@ A plugin template object with the following properties: Order of the plugin. This allows more granular control over plugin order and should only be used by advanced users. Lower numbers run first, and user plugins default to `0`. It's recommended to set `order` to a number between `-20` for `pre`-plugins (plugins that run before Nuxt plugins) and `20` for `post`-plugins (plugins that run after Nuxt plugins). -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning Don't use `order` unless you know what you're doing. For most plugins, the default `order` of `0` is sufficient. To append a plugin to the end of the plugins array, use the `append` option instead. :: - + #### `options` **Type**: `AddPluginOptions` diff --git a/docs/3.api/6.nuxt-config.md b/docs/3.api/6.nuxt-config.md index 027f73fe32..7f915757f6 100644 --- a/docs/3.api/6.nuxt-config.md +++ b/docs/3.api/6.nuxt-config.md @@ -5,7 +5,7 @@ description: Discover all the options you can use in your nuxt.config.ts file. navigation.icon: i-ph-gear-duotone --- -::callout{icon="i-simple-icons-github" color="gray" to="https://github.com/nuxt/nuxt/tree/main/packages/schema/src/config" target="_blank"} +::note{icon="i-simple-icons-github" color="gray" to="https://github.com/nuxt/nuxt/tree/main/packages/schema/src/config" target="_blank"} This file is auto-generated from Nuxt source code. :: diff --git a/docs/5.community/3.reporting-bugs.md b/docs/5.community/3.reporting-bugs.md index 8d0de17e5d..815617c2e8 100644 --- a/docs/5.community/3.reporting-bugs.md +++ b/docs/5.community/3.reporting-bugs.md @@ -24,7 +24,7 @@ It's important to be able to reproduce the bug reliably - in a minimal way and a Start with the Nuxt 3 or Nuxt Bridge sandbox and add the **minimum** amount of code necessary to reproduce the bug you're experiencing. -::callout +::note If your issue concerns Vue 3 or Vite, please try to reproduce it first with the Vue 3 SSR starter. :: diff --git a/docs/5.community/4.contribution.md b/docs/5.community/4.contribution.md index ea6b72dc08..764730c668 100644 --- a/docs/5.community/4.contribution.md +++ b/docs/5.community/4.contribution.md @@ -184,21 +184,21 @@ Here are some tips that may help improve your documentation: Keep in mind your readers can have different backgrounds and experiences. Therefore, these words don't convey meaning and can be harmful. - ::callout{color="red" icon="i-ph-x-circle-duotone"} + ::caution{ icon="i-ph-x-circle-duotone"} Simply make sure the function returns a promise. :: - ::callout{color="green" icon="i-ph-check-circle-duotone"} + ::tip{icon="i-ph-check-circle-duotone"} Make sure the function returns a [promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise). :: * Prefer [active voice](https://developers.google.com/tech-writing/one/active-voice). - ::callout{color="red" icon="i-ph-x-circle-duotone"} + ::caution{icon="i-ph-x-circle-duotone"} An error will be thrown by Nuxt. :: - ::callout{color="green" icon="i-ph-check-circle-duotone"} + ::tip{icon="i-ph-check-circle-duotone"} Nuxt will throw an error. :: diff --git a/docs/5.community/5.framework-contribution.md b/docs/5.community/5.framework-contribution.md index 09b7e5b9e2..8dc6104142 100644 --- a/docs/5.community/5.framework-contribution.md +++ b/docs/5.community/5.framework-contribution.md @@ -29,7 +29,7 @@ To contribute to Nuxt, you need to set up a local environment. ```bash [Terminal] pnpm install ``` - ::callout + ::note If you are adding a dependency, please use `pnpm add`. :br The `pnpm-lock.yaml` file is the source of truth for all Nuxt dependencies. :: @@ -54,7 +54,7 @@ You can modify the example app in `playground/`, and run: pnpm dev ``` -::callout{color="amber" icon="i-ph-warning-duotone"} +::important Please make sure not to commit it to your branch, but it could be helpful to add some example code to your PR description. This can help reviewers and other Nuxt users understand the feature you've built in-depth. :: @@ -78,7 +78,7 @@ Before committing your changes, to verify that the code style is correct, run: pnpm lint ``` -::callout +::note You can use `pnpm lint --fix` to fix most of the style changes. :br If there are still errors left, you must correct them manually. :: @@ -87,7 +87,7 @@ If there are still errors left, you must correct them manually. If you are adding a new feature or refactoring or changing the behavior of Nuxt in any other manner, you'll likely want to document the changes. Please include any changes to the docs in the same PR. You don't have to write documentation up on the first commit (but please do so as soon as your pull request is mature enough). -::callout +::important Make sure to make changes according to the [Documentation Style Guide](/docs/community/contribution#documentation-style-guide). :: @@ -99,7 +99,7 @@ When submitting your PR, there is a simple template that you have to fill out. P If you spot an area where we can improve documentation or error messages, please do open a PR - even if it's just to fix a typo! -::callout +::important Make sure to make changes according to the [Documentation Style Guide](/docs/community/contribution#documentation-style-guide). :: @@ -113,11 +113,11 @@ Make the change directly in the GitHub interface and open a Pull Request. The documentation content is inside the `docs/` directory of the [nuxt/nuxt](https://github.com/nuxt/nuxt) repository and written in markdown. -::callout{icon="i-ph-info-duotone" color="blue"} +::note To preview the docs locally, follow the steps on [nuxt/nuxt.com](https://github.com/nuxt/nuxt.com) repository. :: -::callout +::note We recommend that you install the [MDC extension](https://marketplace.visualstudio.com/items?itemName=Nuxt.mdc) for VS Code. :: @@ -129,7 +129,7 @@ Documentation is linted using [MarkdownLint](https://github.com/DavidAnson/markd pnpm lint:docs ``` -::callout +::note You can also run `pnpm lint:docs:fix` to highlight and resolve any lint issues. :: diff --git a/docs/5.community/6.roadmap.md b/docs/5.community/6.roadmap.md index b936dfaf1c..67a1d29f2d 100644 --- a/docs/5.community/6.roadmap.md +++ b/docs/5.community/6.roadmap.md @@ -24,7 +24,7 @@ Nuxt Image: Performance and Status In roadmap below are some features we are planning or working on at the moment. -::callout{icon="i-ph-lightbulb-duotone" color="yellow"} +::tip Check [Discussions](https://github.com/nuxt/nuxt/discussions) and [RFCs](https://github.com/nuxt/nuxt/discussions/categories/rfcs) for more upcoming features and ideas. :: diff --git a/docs/6.bridge/1.overview.md b/docs/6.bridge/1.overview.md index e1aaab0074..8f3a018b24 100644 --- a/docs/6.bridge/1.overview.md +++ b/docs/6.bridge/1.overview.md @@ -3,11 +3,11 @@ title: Overview description: Reduce the differences with Nuxt 3 and reduce the burden of migration to Nuxt 3. --- -::callout +::note If you're starting a fresh Nuxt 3 project, please skip this section and go to [Nuxt 3 Installation](/docs/getting-started/introduction). :: -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning Nuxt Bridge provides identical features to Nuxt 3 ([docs](/docs/guide/concepts/auto-imports)) but there are some limitations, notably that [`useAsyncData`](/docs/api/composables/use-async-data) and [`useFetch`](/docs/api/composables/use-fetch) composables are not available. Please read the rest of this page for details. :: @@ -40,7 +40,7 @@ npm install :: -::callout +::note Once the installation is complete, make sure both development and production builds are working as expected before proceeding. :: diff --git a/docs/6.bridge/2.typescript.md b/docs/6.bridge/2.typescript.md index 6529a54010..691c8d1f21 100644 --- a/docs/6.bridge/2.typescript.md +++ b/docs/6.bridge/2.typescript.md @@ -34,11 +34,11 @@ If you are using TypeScript, you can edit your `tsconfig.json` to benefit from a } ``` -::callout +::note As `.nuxt/tsconfig.json` is generated and not checked into version control, you'll need to generate that file before running your tests. Add `nuxi prepare` as a step before your tests, otherwise you'll see `TS5083: Cannot read file '~/.nuxt/tsconfig.json'` :: -::callout +::note Keep in mind that all options extended from `./.nuxt/tsconfig.json` will be overwritten by the options defined in your `tsconfig.json`. Overwriting options such as `"compilerOptions.paths"` with your own configuration will lead TypeScript to not factor in the module resolutions from `./.nuxt/tsconfig.json`. This can lead to module resolutions such as `#imports` not being recognized. diff --git a/docs/6.bridge/4.plugins-and-middleware.md b/docs/6.bridge/4.plugins-and-middleware.md index 2bbaaf2ffa..c379b3f801 100644 --- a/docs/6.bridge/4.plugins-and-middleware.md +++ b/docs/6.bridge/4.plugins-and-middleware.md @@ -16,11 +16,11 @@ export default defineNuxtPlugin(nuxtApp => { }) ``` -::callout +::note If you want to use the new Nuxt composables (such as [`useNuxtApp`](/docs/api/composables/use-nuxt-app) or `useRuntimeConfig`) within your plugins, you will need to use the `defineNuxtPlugin` helper for those plugins. :: -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning Although a compatibility interface is provided via `nuxtApp.vueApp` you should avoid registering plugins, directives, mixins or components this way without adding your own logic to ensure they are not installed more than once, or this may cause a memory leak. :: @@ -38,11 +38,11 @@ export default defineNuxtRouteMiddleware((to) => { }) ``` -::callout{color="amber" icon="i-ph-warning-duotone"} +::important Use of `defineNuxtRouteMiddleware` is not supported outside of the middleware directory. :: -::callout +::note You can also use [`definePageMeta`](https://nuxt.com/docs/api/utils/define-page-meta) in Nuxt Bridge. But only for `middleware` and `layout`. :: diff --git a/docs/6.bridge/5.nuxt3-compatible-api.md b/docs/6.bridge/5.nuxt3-compatible-api.md index ce8784c28b..956a556566 100644 --- a/docs/6.bridge/5.nuxt3-compatible-api.md +++ b/docs/6.bridge/5.nuxt3-compatible-api.md @@ -65,7 +65,7 @@ You can access injected helpers using `useNuxtApp`. + const { $axios } = useNuxtApp() ``` -::callout +::note `useNuxtApp()` also provides a key called `nuxt2Context` which contains all the same properties you would normally access from Nuxt 2 context, but it's advised _not_ to use this directly, as it won't exist in Nuxt 3. Instead, see if there is another way to access what you need. (If not, please raise a feature request or discussion.) :: @@ -84,11 +84,11 @@ const wrapProperty = (property, makeComputed = true) => () => { These two composables can be replaced with `useLazyAsyncData` and `useLazyFetch`, which are documented [in the Nuxt 3 docs](/docs/getting-started/data-fetching). Just like the previous `@nuxtjs/composition-api` composables, these composables do not block route navigation on the client-side (hence the 'lazy' part of the name). -::callout +::important Note that the API is entirely different, despite similar sounding names. Importantly, you should not attempt to change the value of other variables outside the composable (as you may have been doing with the previous `useFetch`). :: -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning The `useLazyFetch` must have been configured for [Nitro](/docs/bridge/nitro). :: @@ -146,7 +146,7 @@ title.value = 'new title' ``` -::callout +::note Be careful not to use both `useNuxt2Meta()` and the Options API `head()` within the same component, as behavior may be unpredictable. :: diff --git a/docs/6.bridge/6.meta.md b/docs/6.bridge/6.meta.md index e15a8b5143..6903a774e6 100644 --- a/docs/6.bridge/6.meta.md +++ b/docs/6.bridge/6.meta.md @@ -69,11 +69,11 @@ useHead({ ``` -::callout +::tip This [`useHead`](/docs/api/composables/use-head) composable uses `@unhead/vue` under the hood (rather than `vue-meta`) to manipulate your ``. :: -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning We recommend not using the native Nuxt 2 `head()` properties in addition to [`useHead`](/docs/api/composables/use-head) , as they may conflict. :: diff --git a/docs/6.bridge/7.runtime-config.md b/docs/6.bridge/7.runtime-config.md index 70c0f06579..c94b1890e3 100644 --- a/docs/6.bridge/7.runtime-config.md +++ b/docs/6.bridge/7.runtime-config.md @@ -3,7 +3,7 @@ title: Runtime Config description: 'Nuxt provides a runtime config API to expose configuration and secrets within your application.' --- -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning When using `runtimeConfig` option, [nitro](/docs/bridge/nitro) must have been configured. :: diff --git a/docs/6.bridge/8.nitro.md b/docs/6.bridge/8.nitro.md index e2bd72a322..920b37374a 100644 --- a/docs/6.bridge/8.nitro.md +++ b/docs/6.bridge/8.nitro.md @@ -56,7 +56,7 @@ Nuxt 3 introduced the new Nuxt CLI command [`nuxi`](/docs/api/commands/add). Upd } ``` -::callout +::tip If `nitro: false`, use the `nuxt2` command. :: diff --git a/docs/6.bridge/9.vite.md b/docs/6.bridge/9.vite.md index cb44570118..3900784529 100644 --- a/docs/6.bridge/9.vite.md +++ b/docs/6.bridge/9.vite.md @@ -3,7 +3,7 @@ title: Vite description: 'Activate Vite to your Nuxt 2 application with Nuxt Bridge.' --- -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning When using `vite`, [nitro](/docs/bridge/nitro) must have been configured. :: diff --git a/docs/7.migration/1.overview.md b/docs/7.migration/1.overview.md index cef7bc52e4..168191061b 100644 --- a/docs/7.migration/1.overview.md +++ b/docs/7.migration/1.overview.md @@ -5,7 +5,7 @@ description: Nuxt 3 is a complete rewrite of Nuxt 2, and also based on a new set There are significant changes when migrating a Nuxt 2 app to Nuxt 3, although you can expect migration to become more straightforward as we move toward a stable release. -::callout +::note This migration guide is under progress to align with the development of Nuxt 3. :: @@ -15,7 +15,7 @@ Some of these significant changes include: 1. Moving from webpack 4 and Babel to Vite or webpack 5 and esbuild. 1. Moving from a runtime Nuxt dependency to a minimal, standalone server compiled with nitropack. -::callout +::tip If you need to remain on Nuxt 2, but want to benefit from Nuxt 3 features in Nuxt 2, you can alternatively check out [how to get started with Bridge](/docs/bridge/overview). :: diff --git a/docs/7.migration/2.configuration.md b/docs/7.migration/2.configuration.md index 11d4e31687..1ee7a3d042 100644 --- a/docs/7.migration/2.configuration.md +++ b/docs/7.migration/2.configuration.md @@ -7,7 +7,7 @@ description: 'Learn how to migrate from Nuxt 2 to Nuxt 3 new configuration.' The starting point for your Nuxt app remains your `nuxt.config` file. -::callout +::note Nuxt configuration will be loaded using [`unjs/jiti`](https://github.com/unjs/jiti) and [`unjs/c12`](https://github.com/unjs/c12). :: @@ -91,7 +91,7 @@ Nuxt and Nuxt Modules are now build-time-only. }) ``` -::callout +::tip If you are a module author, you can check out [more information about module compatibility](/docs/migration/module-authors) and [our module author guide](/docs/guide/going-further/modules). :: @@ -107,7 +107,7 @@ It will be much easier to migrate your application if you use Nuxt's TypeScript You can read more about Nuxt's TypeScript support [in the docs](/docs/guide/concepts/typescript). -::callout +::note Nuxt can type-check your app using [`vue-tsc`](https://github.com/vuejs/language-tools/tree/master/packages/tsc) with `nuxi typecheck` command. :: diff --git a/docs/7.migration/20.module-authors.md b/docs/7.migration/20.module-authors.md index a45545487e..ff42347c12 100644 --- a/docs/7.migration/20.module-authors.md +++ b/docs/7.migration/20.module-authors.md @@ -9,7 +9,7 @@ Nuxt 3 has a basic backward compatibility layer for Nuxt 2 modules using `@nuxt/ We have prepared a [Dedicated Guide](/docs/guide/going-further/modules) for authoring Nuxt 3 ready modules using `@nuxt/kit`. Currently best migration path is to follow it and rewrite your modules. Rest of this guide includes preparation steps if you prefer to avoid a full rewrite yet making modules compatible with Nuxt 3. -::callout{icon="i-ph-puzzle-piece-duotone" to="/modules"} +::tip{icon="i-ph-puzzle-piece-duotone" to="/modules"} Explore Nuxt 3 compatible modules. :: @@ -77,7 +77,7 @@ Your module should work even if it's only added to [`buildModules`](/docs/api/nu (*) Unless it is for `nuxt dev` purpose only and guarded with `if (nuxt.options.dev) { }`. -::callout +::tip Continue reading about Nuxt 3 modules in the [Modules Author Guide](/docs/guide/going-further/modules). :: @@ -85,10 +85,10 @@ Continue reading about Nuxt 3 modules in the [Modules Author Guide](/docs/guide/ While it is not essential, most of the Nuxt ecosystem is shifting to use TypeScript, so it is highly recommended to consider migration. -::callout +::tip You can start migration by renaming `.js` files, to `.ts`. TypeScript is designed to be progressive! :: -::callout +::tip You can use TypeScript syntax for Nuxt 2 and 3 modules and plugins without any extra dependencies. :: diff --git a/docs/7.migration/3.auto-imports.md b/docs/7.migration/3.auto-imports.md index ddfb19208f..b0ca8ff3f4 100644 --- a/docs/7.migration/3.auto-imports.md +++ b/docs/7.migration/3.auto-imports.md @@ -3,7 +3,7 @@ title: Auto Imports description: Nuxt 3 adopts a minimal friction approach, meaning wherever possible components and composables are auto-imported. --- -::callout +::note In the rest of the migration documentation, you will notice that key Nuxt and Vue utilities do not have explicit imports. This is not a typo; Nuxt will automatically import them for you, and you should get full type hinting if you have followed [the instructions](/docs/migration/configuration#typescript) to use Nuxt's TypeScript support. :: @@ -13,6 +13,6 @@ In the rest of the migration documentation, you will notice that key Nuxt and Vu 1. If you have been using `@nuxt/components` in Nuxt 2, you can remove `components: true` in your `nuxt.config`. If you had a more complex setup, then note that the component options have changed somewhat. See the [components documentation](/docs/guide/directory-structure/components) for more information. -::callout +::tip You can look at `.nuxt/types/components.d.ts` and `.nuxt/types/imports.d.ts` to see how Nuxt has resolved your components and composable auto-imports. :: diff --git a/docs/7.migration/4.meta.md b/docs/7.migration/4.meta.md index dfda62461f..1813c850b7 100644 --- a/docs/7.migration/4.meta.md +++ b/docs/7.migration/4.meta.md @@ -10,7 +10,7 @@ Nuxt 3 provides several different ways to manage your meta tags: You can customize `title`, `titleTemplate`, `base`, `script`, `noscript`, `style`, `meta`, `link`, `htmlAttrs` and `bodyAttrs`. -::callout +::tip Nuxt currently uses [`vueuse/head`](https://github.com/vueuse/head) to manage your meta tags, but implementation details may change. :: @@ -102,7 +102,7 @@ export default { :: -::callout +::important 1. Make sure you use capital letters for these component names to distinguish them from native HTML elements (`` rather than `<title>`). 2. You can place these components anywhere in your template for your page. :: diff --git a/docs/7.migration/6.pages-and-layouts.md b/docs/7.migration/6.pages-and-layouts.md index 73d1c1cbb8..0baf3dd849 100644 --- a/docs/7.migration/6.pages-and-layouts.md +++ b/docs/7.migration/6.pages-and-layouts.md @@ -7,7 +7,7 @@ description: Learn how to migrate from Nuxt 2 to Nuxt 3 pages and layouts. Nuxt 3 provides a central entry point to your app via `~/app.vue`. -::callout +::note If you don't have an `app.vue` file in your source directory, Nuxt will use its own default version. :: @@ -191,7 +191,7 @@ Most of the syntax and functionality are the same for the global [NuxtLink](/doc When migrating from Nuxt 2 to Nuxt 3, you will have to update how you programmatically navigate your users. In Nuxt 2, you had access to the underlying Vue Router with `this.$router`. In Nuxt 3, you can use the `navigateTo()` utility method which allows you to pass a route and parameters to Vue Router. -::callout{color="amber" icon="i-ph-warning-duotone"} +::warning Ensure to always `await` on [`navigateTo`](/docs/api/utils/navigate-to) or chain its result by returning from functions. :: diff --git a/docs/7.migration/7.component-options.md b/docs/7.migration/7.component-options.md index 245e42fd43..ced74743cb 100644 --- a/docs/7.migration/7.component-options.md +++ b/docs/7.migration/7.component-options.md @@ -56,7 +56,7 @@ const { data: post, refresh } = await useFetch(`https://api.nuxtjs.dev/posts/${p You can now use `post` inside of your Nuxt 3 template, or call `refresh` to update the data. -::callout +::note Despite the names, [`useFetch`](/docs/api/composables/use-fetch) is not a direct replacement of the `fetch()` hook. Rather, [`useAsyncData`](/docs/api/composables/use-async-data) replaces both hooks and is more customizable; it can do more than simply fetching data from an endpoint. [`useFetch`](/docs/api/composables/use-fetch) is a convenience wrapper around [`useAsyncData`](/docs/api/composables/use-async-data) for simply fetching data from an endpoint. :: From f2d891cae9cf7bccc244a0b0350c24f576c2599e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Wed, 21 Feb 2024 22:20:13 +0100 Subject: [PATCH 132/470] fix(nuxt): pass `external` to `navigate` in custom `<NuxtLink>` (#25887) --- packages/nuxt/src/app/components/nuxt-link.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index b5ad9dbc68..bb06a0c1d7 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -354,14 +354,14 @@ export function defineNuxtLink (options: NuxtLinkOptions) { (isAbsoluteUrl.value || hasTarget.value) ? 'noopener noreferrer' : '' ) || null - const navigate = () => navigateTo(href, { replace: props.replace }) - // https://router.vuejs.org/api/#custom if (props.custom) { if (!slots.default) { return null } + const navigate = () => navigateTo(href, { replace: props.replace, external: props.external }) + return slots.default({ href, navigate, From b2729911b1935795697025fd33bf728bc54d6a08 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Wed, 21 Feb 2024 22:20:55 +0100 Subject: [PATCH 133/470] fix(nuxt): mark internal island components with `@__PURE__` (#25842) --- .../nuxt/src/app/components/nuxt-teleport-island-component.ts | 1 + packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts index 5d527c3bdb..34a5dcca91 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts @@ -13,6 +13,7 @@ type ExtendedComponent = Component & { * component only used with componentsIsland * this teleport the component in SSR only if it needs to be hydrated on client */ +/* @__PURE__ */ export default defineComponent({ name: 'NuxtTeleportIslandComponent', props: { diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts index eb1713280e..6001f26097 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts @@ -4,6 +4,7 @@ import { useNuxtApp } from '../nuxt' /** * component only used within islands for slot teleport */ +/* @__PURE__ */ export default defineComponent({ name: 'NuxtTeleportIslandSlot', props: { From 6b504258bb2aafbd5eb54b3ab43b2749fade235a Mon Sep 17 00:00:00 2001 From: Josh Layton <josh.l8n@gmail.com> Date: Wed, 21 Feb 2024 16:56:56 -0700 Subject: [PATCH 134/470] docs: fix incorrect wording (#25902) --- docs/2.guide/2.directory-structure/1.plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/2.guide/2.directory-structure/1.plugins.md b/docs/2.guide/2.directory-structure/1.plugins.md index c4cec61635..995e6212d1 100644 --- a/docs/2.guide/2.directory-structure/1.plugins.md +++ b/docs/2.guide/2.directory-structure/1.plugins.md @@ -8,7 +8,7 @@ navigation.icon: i-ph-folder-duotone Nuxt automatically reads the files in the `plugins/` directory and loads them at the creation of the Vue application. ::note -All plugins inside are auto-registered, you don't need not add them to your `nuxt.config` separately. +All plugins inside are auto-registered, you don't need to add them to your `nuxt.config` separately. :: ::note From 0152cf48eb00cc7848c5e78cce46da56961a83b3 Mon Sep 17 00:00:00 2001 From: Jonathan Walters <Chalks@users.noreply.github.com> Date: Thu, 22 Feb 2024 06:09:51 -0500 Subject: [PATCH 135/470] fix(nuxt): use `setTimeout` before scrolling when navigating (#25817) --- packages/nuxt/src/pages/runtime/router.options.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/pages/runtime/router.options.ts b/packages/nuxt/src/pages/runtime/router.options.ts index 71eefaa4a1..5850c8be78 100644 --- a/packages/nuxt/src/pages/runtime/router.options.ts +++ b/packages/nuxt/src/pages/runtime/router.options.ts @@ -1,5 +1,4 @@ import type { RouteLocationNormalized, RouterScrollBehavior } from '#vue-router' -import { nextTick } from 'vue' import type { RouterConfig } from 'nuxt/schema' import { useNuxtApp } from '#app/nuxt' import { isChangingPage } from '#app/components/utils' @@ -36,6 +35,8 @@ export default <RouterConfig> { if (to.hash) { return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior } } + // The route isn't changing so keep current scroll position + return false } // Wait for `page:transition:finish` or `page:finish` depending on if transitions are enabled or not @@ -43,7 +44,7 @@ export default <RouterConfig> { const hookToWait = (hasTransition(from) && hasTransition(to)) ? 'page:transition:finish' : 'page:finish' return new Promise((resolve) => { nuxtApp.hooks.hookOnce(hookToWait, async () => { - await nextTick() + await new Promise(resolve => setTimeout(resolve, 0)) if (to.hash) { position = { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior } } From b5981f6840364f7279514375ee2622d096d07f69 Mon Sep 17 00:00:00 2001 From: Mateusz Kulpa <mateusz.kulpa@outlook.com> Date: Thu, 22 Feb 2024 12:11:44 +0100 Subject: [PATCH 136/470] fix(nuxt): add missing type for `head` in `defineNuxtComponent` (#25410) --- packages/nuxt/src/app/types/augments.d.ts | 8 ++++++++ test/fixtures/basic-types/types.ts | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/packages/nuxt/src/app/types/augments.d.ts b/packages/nuxt/src/app/types/augments.d.ts index 601fcea877..47fbbf1e23 100644 --- a/packages/nuxt/src/app/types/augments.d.ts +++ b/packages/nuxt/src/app/types/augments.d.ts @@ -1,3 +1,4 @@ +import type { UseHeadInput } from "@unhead/vue"; import type { NuxtApp, useNuxtApp } from '../nuxt' interface NuxtStaticBuildFlags { @@ -33,4 +34,11 @@ declare module 'vue' { _nuxtOnBeforeMountCbs: Function[] _nuxtIdIndex?: Record<string, number> } + interface ComponentCustomOptions { + /** + * Available exclusively for `defineNuxtComponent`. + * It will not be executed when using `defineComponent`. + */ + head?(nuxtApp: NuxtApp): UseHeadInput + } } diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index 429a5d27d6..9a95361b21 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -329,6 +329,25 @@ describe('head', () => { } }) }) + it('types head for defineNuxtComponent', () => { + defineNuxtComponent({ + head(nuxtApp) { + expectTypeOf(nuxtApp).not.toBeAny() + return { + title: 'Site Title' + } + } + }) + + defineNuxtComponent({ + // @ts-expect-error wrong return type for head function + head() { + return { + 'test': true + } + } + }) + }) }) describe('components', () => { From 3fc4231d337c9270ac87f26e5717b8afce2e1417 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 22 Feb 2024 11:55:14 +0000 Subject: [PATCH 137/470] chore(nuxt): use Exclude rather than Omit --- packages/nuxt/src/app/components/nuxt-link.ts | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index bb06a0c1d7..c0d8d42417 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -98,18 +98,9 @@ export function defineNuxtLink (options: NuxtLinkOptions) { } } - function resolveTrailingSlashBehavior ( - to: string, - resolve: Router['resolve'] - ): string - function resolveTrailingSlashBehavior ( - to: RouteLocationRaw, - resolve: Router['resolve'] - ): Omit<RouteLocationRaw, string> - function resolveTrailingSlashBehavior ( - to: RouteLocationRaw, - resolve: Router['resolve'] - ): RouteLocationRaw | RouteLocation { + function resolveTrailingSlashBehavior (to: string, resolve: Router['resolve']): string + function resolveTrailingSlashBehavior (to: RouteLocationRaw, resolve: Router['resolve']): Exclude<RouteLocationRaw, string> + function resolveTrailingSlashBehavior (to: RouteLocationRaw, resolve: Router['resolve']): RouteLocationRaw | RouteLocation { if (!to || (options.trailingSlash !== 'append' && options.trailingSlash !== 'remove')) { return to } From ba6a4132bb0847fdf063e3b3f90b7078f81e91b4 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 22 Feb 2024 12:03:57 +0000 Subject: [PATCH 138/470] fix(nuxt): handle `undefined` paths in `resolveTrailingSlashBehavior` --- packages/nuxt/src/app/components/nuxt-link.ts | 20 ++++++++++++------- .../nuxt/src/pages/runtime/plugins/router.ts | 6 ++++-- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index c0d8d42417..eed79ef4cd 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -88,7 +88,7 @@ export interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> { noPrefetch?: boolean } - /*@__NO_SIDE_EFFECTS__*/ +/*@__NO_SIDE_EFFECTS__*/ export function defineNuxtLink (options: NuxtLinkOptions) { const componentName = options.componentName || 'NuxtLink' @@ -100,7 +100,8 @@ export function defineNuxtLink (options: NuxtLinkOptions) { function resolveTrailingSlashBehavior (to: string, resolve: Router['resolve']): string function resolveTrailingSlashBehavior (to: RouteLocationRaw, resolve: Router['resolve']): Exclude<RouteLocationRaw, string> - function resolveTrailingSlashBehavior (to: RouteLocationRaw, resolve: Router['resolve']): RouteLocationRaw | RouteLocation { + function resolveTrailingSlashBehavior (to: undefined, resolve: Router['resolve']): undefined + function resolveTrailingSlashBehavior (to: RouteLocationRaw | undefined, resolve: Router['resolve']): RouteLocationRaw | RouteLocation | undefined { if (!to || (options.trailingSlash !== 'append' && options.trailingSlash !== 'remove')) { return to } @@ -109,13 +110,18 @@ export function defineNuxtLink (options: NuxtLinkOptions) { return applyTrailingSlashBehavior(to, options.trailingSlash) } - const path = 'path' in to ? to.path : resolve(to).path + const path = 'path' in to && to.path !== undefined ? to.path : resolve(to).path - return { + const resolvedPath = { ...to, - name: undefined, // named routes would otherwise always override trailing slash behavior path: applyTrailingSlashBehavior(path, options.trailingSlash) } + + if ('name' in resolvedPath) { + delete resolvedPath.name + } + + return resolvedPath } return defineComponent({ @@ -326,8 +332,8 @@ export function defineNuxtLink (options: NuxtLinkOptions) { const href = typeof to.value === 'object' ? router.resolve(to.value)?.href ?? null : (to.value && !props.external && !isAbsoluteUrl.value) - ? resolveTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), router.resolve) as string - : to.value || null + ? resolveTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), router.resolve) as string + : to.value || null // Resolves `target` value const target = props.target || null diff --git a/packages/nuxt/src/pages/runtime/plugins/router.ts b/packages/nuxt/src/pages/runtime/plugins/router.ts index 0de9129194..53a62bdcf8 100644 --- a/packages/nuxt/src/pages/runtime/plugins/router.ts +++ b/packages/nuxt/src/pages/runtime/plugins/router.ts @@ -237,9 +237,11 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ nuxtApp.hooks.hookOnce('app:created', async () => { try { + const to = router.resolve(initialURL) + // #4920, #4982 + if ('name' in to) { delete to.name } await router.replace({ - ...router.resolve(initialURL), - name: undefined, // #4920, #4982 + ...to, force: true }) // reset scroll behavior to initial value From 4ca1ab7cfb4cd7157a156382fcde0250f2fb4d79 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 22 Feb 2024 12:46:13 +0000 Subject: [PATCH 139/470] fix(nuxt): set `to.name` to be undefined rather than deleting entirely --- packages/nuxt/src/app/components/nuxt-link.ts | 8 ++++---- packages/nuxt/src/pages/runtime/plugins/router.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index eed79ef4cd..e3ecfd29a9 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -88,7 +88,7 @@ export interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> { noPrefetch?: boolean } -/*@__NO_SIDE_EFFECTS__*/ + /*@__NO_SIDE_EFFECTS__*/ export function defineNuxtLink (options: NuxtLinkOptions) { const componentName = options.componentName || 'NuxtLink' @@ -100,7 +100,6 @@ export function defineNuxtLink (options: NuxtLinkOptions) { function resolveTrailingSlashBehavior (to: string, resolve: Router['resolve']): string function resolveTrailingSlashBehavior (to: RouteLocationRaw, resolve: Router['resolve']): Exclude<RouteLocationRaw, string> - function resolveTrailingSlashBehavior (to: undefined, resolve: Router['resolve']): undefined function resolveTrailingSlashBehavior (to: RouteLocationRaw | undefined, resolve: Router['resolve']): RouteLocationRaw | RouteLocation | undefined { if (!to || (options.trailingSlash !== 'append' && options.trailingSlash !== 'remove')) { return to @@ -117,6 +116,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { path: applyTrailingSlashBehavior(path, options.trailingSlash) } + // named routes would otherwise always override trailing slash behavior if ('name' in resolvedPath) { delete resolvedPath.name } @@ -332,8 +332,8 @@ export function defineNuxtLink (options: NuxtLinkOptions) { const href = typeof to.value === 'object' ? router.resolve(to.value)?.href ?? null : (to.value && !props.external && !isAbsoluteUrl.value) - ? resolveTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), router.resolve) as string - : to.value || null + ? resolveTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), router.resolve) as string + : to.value || null // Resolves `target` value const target = props.target || null diff --git a/packages/nuxt/src/pages/runtime/plugins/router.ts b/packages/nuxt/src/pages/runtime/plugins/router.ts index 53a62bdcf8..267ea380d7 100644 --- a/packages/nuxt/src/pages/runtime/plugins/router.ts +++ b/packages/nuxt/src/pages/runtime/plugins/router.ts @@ -239,7 +239,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ try { const to = router.resolve(initialURL) // #4920, #4982 - if ('name' in to) { delete to.name } + if ('name' in to) { to.name = undefined } await router.replace({ ...to, force: true From 30695bdb48b260342750d014856e6cb75da12b37 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 13:12:00 +0000 Subject: [PATCH 140/470] chore(deps): update all non-major dependencies (main) (#25862) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- .github/workflows/benchmark.yml | 2 +- .github/workflows/ci.yml | 4 +- .github/workflows/dependency-review.yml | 2 +- .github/workflows/scorecards.yml | 2 +- docs/1.getting-started/5.routing.md | 2 +- nuxt.config.ts | 13 +- package.json | 10 +- packages/kit/package.json | 8 +- packages/nuxt/package.json | 14 +- packages/schema/package.json | 10 +- packages/vite/package.json | 6 +- packages/webpack/package.json | 10 +- pnpm-lock.yaml | 887 +++++++++--------------- renovate.json | 6 + 14 files changed, 369 insertions(+), 607 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 23af9bb1a5..d036634f03 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -48,7 +48,7 @@ jobs: run: pnpm build - name: Run benchmarks - uses: CodSpeedHQ/action@fce3a2f16d0b352af341dcacb25caadfd9159055 # v2.1.1 + uses: CodSpeedHQ/action@8fd5bb7fdd76cbeb81845c3289e5e4eea9f08979 # v2.2.0 with: run: pnpm vitest bench token: ${{ secrets.CODSPEED_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e098c0bc10..49753677a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,7 +85,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 + uses: github/codeql-action/init@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4 with: languages: javascript queries: +security-and-quality @@ -97,7 +97,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 + uses: github/codeql-action/analyze@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4 with: category: "/language:javascript" diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 9146d1ab4b..4537173ac3 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -19,4 +19,4 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: 'Dependency Review' - uses: actions/dependency-review-action@fd07d42ce87ab09f10c61a2d1a5e59e6c655620a # v4.1.1 + uses: actions/dependency-review-action@9129d7d40b8c12c1ed0f60400d00c92d437adcce # v4.1.3 diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 160cee1c97..458114d01a 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3 + uses: github/codeql-action/upload-sarif@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4 with: sarif_file: results.sarif diff --git a/docs/1.getting-started/5.routing.md b/docs/1.getting-started/5.routing.md index 4494de536e..e39d5d446b 100644 --- a/docs/1.getting-started/5.routing.md +++ b/docs/1.getting-started/5.routing.md @@ -140,7 +140,7 @@ If you have a more complex use case, then you can use anonymous route middleware definePageMeta({ validate: async (route) => { // Check if the id is made up of digits - return /^\d+$/.test(route.params.id) + return typeof route.params.id === 'string' && /^\d+$/.test(route.params.id) } }) </script> diff --git a/nuxt.config.ts b/nuxt.config.ts index db9349c8fc..3bcf682df1 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,4 +1,15 @@ // For pnpm typecheck:docs to generate correct types + +import { addPluginTemplate } from 'nuxt/kit' + export default defineNuxtConfig({ - pages: process.env.DOCS_TYPECHECK === 'true' + pages: process.env.DOCS_TYPECHECK === 'true', + modules: [ + function () { + addPluginTemplate({ + filename: 'plugins/my-plugin.mjs', + getContents: () => `export default defineNuxtPlugin({ name: 'my-plugin' })` + }) + } + ], }) diff --git a/package.json b/package.json index 16c14e9fb7..bee5dbb5dd 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@nuxt/webpack-builder": "workspace:*", "rollup": "^4.12.0", "nuxt": "workspace:*", - "vite": "5.1.3", + "vite": "5.1.4", "vue": "3.4.19", "magic-string": "^0.30.7" }, @@ -67,14 +67,14 @@ "execa": "8.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", - "h3": "1.10.1", - "happy-dom": "13.3.8", + "h3": "1.10.2", + "happy-dom": "13.4.1", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.8.1", "nuxi": "3.10.1", "nuxt": "workspace:*", - "nuxt-content-twoslash": "0.0.8", + "nuxt-content-twoslash": "0.0.10", "ofetch": "1.3.3", "pathe": "1.1.2", "playwright-core": "1.41.2", @@ -87,7 +87,7 @@ "vitest-environment-nuxt": "1.0.0", "vue": "3.4.19", "vue-eslint-parser": "9.4.2", - "vue-router": "4.2.5", + "vue-router": "4.3.0", "vue-tsc": "1.8.27" }, "packageManager": "pnpm@8.15.3", diff --git a/packages/kit/package.json b/packages/kit/package.json index c62718677c..ce2f0b0257 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@nuxt/schema": "workspace:*", - "c12": "^1.8.0", + "c12": "^1.9.0", "consola": "^3.2.3", "defu": "^6.1.4", "globby": "^14.0.1", @@ -35,7 +35,7 @@ "ignore": "^5.3.1", "jiti": "^1.21.0", "knitwork": "^1.0.0", - "mlly": "^1.5.0", + "mlly": "^1.6.0", "pathe": "^1.1.2", "pkg-types": "^1.0.3", "scule": "^1.3.0", @@ -52,9 +52,9 @@ "lodash-es": "4.17.21", "nitropack": "2.8.1", "unbuild": "latest", - "vite": "5.1.3", + "vite": "5.1.4", "vitest": "1.3.1", - "webpack": "5.90.2" + "webpack": "5.90.3" }, "engines": { "node": "^14.18.0 || >=16.10.0" diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 9591854b21..fb455338ef 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -71,24 +71,24 @@ "@unhead/vue": "^1.8.10", "@vue/shared": "^3.4.19", "acorn": "8.11.3", - "c12": "^1.8.0", + "c12": "^1.9.0", "chokidar": "^3.6.0", "cookie-es": "^1.0.0", "defu": "^6.1.4", - "destr": "^2.0.2", + "destr": "^2.0.3", "devalue": "^4.3.2", "esbuild": "^0.20.1", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "fs-extra": "^11.2.0", "globby": "^14.0.1", - "h3": "^1.10.1", + "h3": "^1.10.2", "hookable": "^5.5.3", "jiti": "^1.21.0", "klona": "^2.0.6", "knitwork": "^1.0.0", "magic-string": "^0.30.7", - "mlly": "^1.5.0", + "mlly": "^1.6.0", "nitropack": "^2.8.1", "nuxi": "^3.10.1", "nypm": "^0.3.6", @@ -102,7 +102,7 @@ "std-env": "^3.7.0", "strip-literal": "^2.0.0", "ufo": "^1.4.0", - "ultrahtml": "^1.5.2", + "ultrahtml": "^1.5.3", "uncrypto": "^0.1.3", "unctx": "^2.3.1", "unenv": "^1.9.0", @@ -113,7 +113,7 @@ "vue": "^3.4.19", "vue-bundle-renderer": "^2.0.0", "vue-devtools-stub": "^0.1.0", - "vue-router": "^4.2.5" + "vue-router": "^4.3.0" }, "devDependencies": { "@parcel/watcher": "2.4.0", @@ -121,7 +121,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.1.3", + "vite": "5.1.4", "vitest": "1.3.1" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 161cc4ddc4..862aa57156 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,21 +42,21 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.19", - "c12": "1.8.0", + "c12": "1.9.0", "esbuild-loader": "4.0.3", - "h3": "1.10.1", + "h3": "1.10.2", "ignore": "5.3.1", "nitropack": "2.8.1", "ofetch": "1.3.3", "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.1.3", + "vite": "5.1.4", "vue": "3.4.19", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", - "vue-router": "4.2.5", - "webpack": "5.90.2", + "vue-router": "4.3.0", + "webpack": "5.90.3", "webpack-dev-middleware": "7.0.0" }, "dependencies": { diff --git a/packages/vite/package.json b/packages/vite/package.json index 8aa9718359..56b93ad60a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -47,10 +47,10 @@ "externality": "^1.0.2", "fs-extra": "^11.2.0", "get-port-please": "^3.1.2", - "h3": "^1.10.1", + "h3": "^1.10.2", "knitwork": "^1.0.0", "magic-string": "^0.30.7", - "mlly": "^1.5.0", + "mlly": "^1.6.0", "ohash": "^1.1.3", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", @@ -62,7 +62,7 @@ "ufo": "^1.4.0", "unenv": "^1.9.0", "unplugin": "^1.7.1", - "vite": "^5.1.3", + "vite": "^5.1.4", "vite-node": "^1.3.1", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/packages/webpack/package.json b/packages/webpack/package.json index dcf7f0be83..22cbe20e1e 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -38,13 +38,13 @@ "file-loader": "^6.2.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "fs-extra": "^11.2.0", - "h3": "^1.10.1", + "h3": "^1.10.2", "hash-sum": "^2.0.0", "lodash-es": "4.17.21", "magic-string": "^0.30.7", - "memfs": "^4.7.6", + "memfs": "^4.7.7", "mini-css-extract-plugin": "^2.8.0", - "mlly": "^1.5.0", + "mlly": "^1.6.0", "ohash": "^1.1.3", "pathe": "^1.1.2", "pify": "^6.1.0", @@ -62,12 +62,12 @@ "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", - "webpack": "^5.90.2", + "webpack": "^5.90.3", "webpack-bundle-analyzer": "^4.10.1", "webpack-dev-middleware": "^7.0.0", "webpack-hot-middleware": "^2.26.1", "webpack-virtual-modules": "^0.6.1", - "webpackbar": "^6.0.0" + "webpackbar": "^6.0.1" }, "devDependencies": { "@nuxt/schema": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93b234810d..c9dcde105e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: '@nuxt/webpack-builder': workspace:* rollup: ^4.12.0 nuxt: workspace:* - vite: 5.1.3 + vite: 5.1.4 vue: 3.4.19 magic-string: ^0.30.7 @@ -21,7 +21,7 @@ importers: devDependencies: '@codspeed/vitest-plugin': specifier: 3.1.0 - version: 3.1.0(vite@5.1.3)(vitest@1.3.1) + version: 3.1.0(vite@5.1.4)(vitest@1.3.1) '@nuxt/eslint-config': specifier: 0.2.0 version: 0.2.0(eslint@8.56.0) @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.1)(happy-dom@13.3.8)(playwright-core@1.41.2)(vite@5.1.3)(vitest@1.3.1)(vue-router@4.2.5)(vue@3.4.19) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -89,11 +89,11 @@ importers: specifier: 14.0.1 version: 14.0.1 h3: - specifier: 1.10.1 - version: 1.10.1 + specifier: 1.10.2 + version: 1.10.2 happy-dom: - specifier: 13.3.8 - version: 13.3.8 + specifier: 13.4.1 + version: 13.4.1 jiti: specifier: 1.21.0 version: 1.21.0 @@ -110,8 +110,8 @@ importers: specifier: workspace:* version: link:packages/nuxt nuxt-content-twoslash: - specifier: 0.0.8 - version: 0.0.8(@nuxtjs/mdc@0.5.0) + specifier: 0.0.10 + version: 0.0.10(@nuxtjs/mdc@0.5.0) ofetch: specifier: 1.3.3 version: 1.3.3 @@ -138,10 +138,10 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.19)(happy-dom@13.3.8) + version: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.1)(happy-dom@13.3.8)(playwright-core@1.41.2)(vite@5.1.3)(vitest@1.3.1)(vue-router@4.2.5)(vue@3.4.19) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) vue: specifier: 3.4.19 version: 3.4.19(typescript@5.3.3) @@ -149,8 +149,8 @@ importers: specifier: 9.4.2 version: 9.4.2(eslint@8.56.0) vue-router: - specifier: 4.2.5 - version: 4.2.5(vue@3.4.19) + specifier: 4.3.0 + version: 4.3.0(vue@3.4.19) vue-tsc: specifier: 1.8.27 version: 1.8.27(typescript@5.3.3) @@ -161,8 +161,8 @@ importers: specifier: workspace:* version: link:../schema c12: - specifier: ^1.8.0 - version: 1.8.0 + specifier: ^1.9.0 + version: 1.9.0 consola: specifier: ^3.2.3 version: 3.2.3 @@ -185,8 +185,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 mlly: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.6.0 + version: 1.6.0 pathe: specifier: ^1.1.2 version: 1.1.2 @@ -231,14 +231,14 @@ importers: specifier: latest version: 2.0.0(typescript@5.3.3) vite: - specifier: 5.1.3 - version: 5.1.3(@types/node@20.11.19) + specifier: 5.1.4 + version: 5.1.4(@types/node@20.11.19) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.19)(happy-dom@13.3.8) + version: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) webpack: - specifier: 5.90.2 - version: 5.90.2 + specifier: 5.90.3 + version: 5.90.3 packages/nuxt: dependencies: @@ -247,7 +247,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.0.8 - version: 1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.3) + version: 1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.4) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -265,7 +265,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.11.17 + version: 20.11.19 '@unhead/dom': specifier: ^1.8.10 version: 1.8.10 @@ -282,8 +282,8 @@ importers: specifier: 8.11.3 version: 8.11.3 c12: - specifier: ^1.8.0 - version: 1.8.0 + specifier: ^1.9.0 + version: 1.9.0 chokidar: specifier: ^3.6.0 version: 3.6.0 @@ -294,8 +294,8 @@ importers: specifier: ^6.1.4 version: 6.1.4 destr: - specifier: ^2.0.2 - version: 2.0.2 + specifier: ^2.0.3 + version: 2.0.3 devalue: specifier: ^4.3.2 version: 4.3.2 @@ -315,8 +315,8 @@ importers: specifier: ^14.0.1 version: 14.0.1 h3: - specifier: ^1.10.1 - version: 1.10.1 + specifier: ^1.10.2 + version: 1.10.2 hookable: specifier: ^5.5.3 version: 5.5.3 @@ -333,8 +333,8 @@ importers: specifier: ^0.30.7 version: 0.30.7 mlly: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.6.0 + version: 1.6.0 nitropack: specifier: ^2.8.1 version: 2.8.1 @@ -375,8 +375,8 @@ importers: specifier: ^1.4.0 version: 1.4.0 ultrahtml: - specifier: ^1.5.2 - version: 1.5.2 + specifier: ^1.5.3 + version: 1.5.3 uncrypto: specifier: ^0.1.3 version: 0.1.3 @@ -394,7 +394,7 @@ importers: version: 1.7.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.12.0)(vue-router@4.2.5)(vue@3.4.19) + version: 0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.19) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -408,8 +408,8 @@ importers: specifier: ^0.1.0 version: 0.1.0 vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.4.19) + specifier: ^4.3.0 + version: 4.3.0(vue@3.4.19) devDependencies: '@parcel/watcher': specifier: 2.4.0 @@ -422,16 +422,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.3)(vue@3.4.19) + version: 5.0.4(vite@5.1.4)(vue@3.4.19) unbuild: specifier: latest version: 2.0.0(typescript@5.3.3) vite: - specifier: 5.1.3 - version: 5.1.3(@types/node@20.11.17) + specifier: 5.1.4 + version: 5.1.4(@types/node@20.11.19) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.17)(happy-dom@13.3.8) + version: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) packages/schema: dependencies: @@ -486,22 +486,22 @@ importers: version: 1.8.10 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.3)(vue@3.4.19) + version: 5.0.4(vite@5.1.4)(vue@3.4.19) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.1.3)(vue@3.4.19) + version: 3.1.0(vite@5.1.4)(vue@3.4.19) '@vue/compiler-core': specifier: 3.4.19 version: 3.4.19 c12: - specifier: 1.8.0 - version: 1.8.0 + specifier: 1.9.0 + version: 1.9.0 esbuild-loader: specifier: 4.0.3 - version: 4.0.3(webpack@5.90.2) + version: 4.0.3(webpack@5.90.3) h3: - specifier: 1.10.1 - version: 1.10.1 + specifier: 1.10.2 + version: 1.10.2 ignore: specifier: 5.3.1 version: 5.3.1 @@ -521,8 +521,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.1.3 - version: 5.1.3(@types/node@20.11.19) + specifier: 5.1.4 + version: 5.1.4(@types/node@20.11.19) vue: specifier: 3.4.19 version: 3.4.19(typescript@5.3.3) @@ -531,16 +531,16 @@ importers: version: 2.0.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(vue@3.4.19)(webpack@5.90.2) + version: 17.4.2(vue@3.4.19)(webpack@5.90.3) vue-router: - specifier: 4.2.5 - version: 4.2.5(vue@3.4.19) + specifier: 4.3.0 + version: 4.3.0(vue@3.4.19) webpack: - specifier: 5.90.2 - version: 5.90.2 + specifier: 5.90.3 + version: 5.90.3 webpack-dev-middleware: specifier: 7.0.0 - version: 7.0.0(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.2)(webpack@5.90.2) + version: 7.0.0(webpack@5.90.3) packages/vite: dependencies: @@ -552,10 +552,10 @@ importers: version: 5.0.5(rollup@4.12.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.3)(vue@3.4.19) + version: 5.0.4(vite@5.1.4)(vue@3.4.19) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.1.3)(vue@3.4.19) + version: 3.1.0(vite@5.1.4)(vue@3.4.19) autoprefixer: specifier: ^10.4.17 version: 10.4.17(postcss@8.4.35) @@ -590,8 +590,8 @@ importers: specifier: ^3.1.2 version: 3.1.2 h3: - specifier: ^1.10.1 - version: 1.10.1 + specifier: ^1.10.2 + version: 1.10.2 knitwork: specifier: ^1.0.0 version: 1.0.0 @@ -599,8 +599,8 @@ importers: specifier: ^0.30.7 version: 0.30.7 mlly: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.6.0 + version: 1.6.0 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -635,14 +635,14 @@ importers: specifier: ^1.7.1 version: 1.7.1 vite: - specifier: 5.1.3 - version: 5.1.3(@types/node@20.11.19) + specifier: 5.1.4 + version: 5.1.4(@types/node@20.11.19) vite-node: specifier: ^1.3.1 version: 1.3.1(@types/node@20.11.19) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.3)(vue-tsc@1.8.27) + version: 0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -670,7 +670,7 @@ importers: dependencies: '@nuxt/friendly-errors-webpack-plugin': specifier: ^2.6.0 - version: 2.6.0(webpack@5.90.2) + version: 2.6.0(webpack@5.90.3) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -679,10 +679,10 @@ importers: version: 10.4.17(postcss@8.4.35) css-loader: specifier: ^6.10.0 - version: 6.10.0(webpack@5.90.2) + version: 6.10.0(webpack@5.90.3) css-minimizer-webpack-plugin: specifier: ^6.0.0 - version: 6.0.0(webpack@5.90.2) + version: 6.0.0(webpack@5.90.3) cssnano: specifier: ^6.0.3 version: 6.0.3(postcss@8.4.35) @@ -691,7 +691,7 @@ importers: version: 6.1.4 esbuild-loader: specifier: ^4.0.3 - version: 4.0.3(webpack@5.90.2) + version: 4.0.3(webpack@5.90.3) escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -700,16 +700,16 @@ importers: version: 3.0.3 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.90.2) + version: 6.2.0(webpack@5.90.3) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.3.3)(webpack@5.90.2) + version: 9.0.2(typescript@5.3.3)(webpack@5.90.3) fs-extra: specifier: ^11.2.0 version: 11.2.0 h3: - specifier: ^1.10.1 - version: 1.10.1 + specifier: ^1.10.2 + version: 1.10.2 hash-sum: specifier: ^2.0.0 version: 2.0.0 @@ -720,14 +720,14 @@ importers: specifier: ^0.30.7 version: 0.30.7 memfs: - specifier: ^4.7.6 - version: 4.7.6 + specifier: ^4.7.7 + version: 4.7.7 mini-css-extract-plugin: specifier: ^2.8.0 - version: 2.8.0(webpack@5.90.2) + version: 2.8.0(webpack@5.90.3) mlly: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.6.0 + version: 1.6.0 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -748,7 +748,7 @@ importers: version: 2.0.0 postcss-loader: specifier: ^8.1.0 - version: 8.1.0(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.2) + version: 8.1.0(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3) postcss-url: specifier: ^10.1.3 version: 10.1.3(postcss@8.4.35) @@ -760,7 +760,7 @@ importers: version: 3.7.0 time-fix-plugin: specifier: ^2.0.7 - version: 2.0.7(webpack@5.90.2) + version: 2.0.7(webpack@5.90.3) ufo: specifier: ^1.4.0 version: 1.4.0 @@ -772,22 +772,22 @@ importers: version: 1.7.1 url-loader: specifier: ^4.1.1 - version: 4.1.1(file-loader@6.2.0)(webpack@5.90.2) + version: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(vue@3.4.19)(webpack@5.90.2) + version: 17.4.2(vue@3.4.19)(webpack@5.90.3) webpack: - specifier: ^5.90.2 - version: 5.90.2 + specifier: ^5.90.3 + version: 5.90.3 webpack-bundle-analyzer: specifier: ^4.10.1 version: 4.10.1 webpack-dev-middleware: specifier: ^7.0.0 - version: 7.0.0(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.2)(webpack@5.90.2) + version: 7.0.0(webpack@5.90.3) webpack-hot-middleware: specifier: ^2.26.1 version: 2.26.1 @@ -795,8 +795,8 @@ importers: specifier: ^0.6.1 version: 0.6.1 webpackbar: - specifier: ^6.0.0 - version: 6.0.0(webpack@5.90.2) + specifier: ^6.0.1 + version: 6.0.1(webpack@5.90.3) devDependencies: '@nuxt/schema': specifier: workspace:* @@ -865,13 +865,13 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.19)(happy-dom@13.3.8) + version: 1.0.2(@types/node@20.11.19)(happy-dom@13.4.1) vue: specifier: 3.4.19 version: 3.4.19(typescript@5.3.3) vue-router: specifier: latest - version: 4.2.5(vue@3.4.19) + version: 4.3.0(vue@3.4.19) test/fixtures/minimal: dependencies: @@ -1258,15 +1258,15 @@ packages: - debug dev: true - /@codspeed/vitest-plugin@3.1.0(vite@5.1.3)(vitest@1.3.1): + /@codspeed/vitest-plugin@3.1.0(vite@5.1.4)(vitest@1.3.1): resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} peerDependencies: - vite: 5.1.3 + vite: 5.1.4 vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.1.3(@types/node@20.11.19) - vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.3.8) + vite: 5.1.4(@types/node@20.11.19) + vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) transitivePeerDependencies: - debug dev: true @@ -2151,17 +2151,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.0.8(nuxt@packages+nuxt)(vite@5.1.3): + /@nuxt/devtools-kit@1.0.8(nuxt@packages+nuxt)(vite@5.1.4): resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} peerDependencies: nuxt: workspace:* - vite: 5.1.3 + vite: 5.1.4 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.1.3(@types/node@20.11.17) + vite: 5.1.4(@types/node@20.11.19) dev: false /@nuxt/devtools-wizard@1.0.8: @@ -2180,20 +2180,20 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.3): + /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.4): resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.1.3 + vite: 5.1.4 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.0.8(nuxt@packages+nuxt)(vite@5.1.3) + '@nuxt/devtools-kit': 1.0.8(nuxt@packages+nuxt)(vite@5.1.4) '@nuxt/devtools-wizard': 1.0.8 '@nuxt/kit': link:packages/kit birpc: 0.2.14 consola: 3.2.3 - destr: 2.0.2 + destr: 2.0.3 error-stack-parser-es: 0.1.1 execa: 7.2.0 fast-glob: 3.3.2 @@ -2218,9 +2218,9 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.12.0) - vite: 5.1.3(@types/node@20.11.17) - vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.3) - vite-plugin-vue-inspector: 4.0.2(vite@5.1.3) + vite: 5.1.4(@types/node@20.11.19) + vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.4) + vite-plugin-vue-inspector: 4.0.2(vite@5.1.4) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -2246,7 +2246,7 @@ packages: - supports-color dev: true - /@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.90.2): + /@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.90.3): resolution: {integrity: sha512-3IZj6MXbzlvUxDncAxgBMLQwGPY/JlNhy2i+AGyOHCAReR5HcBxYjVRBvyaKM9R3s5k4OODYKeHAbrToZH/47w==} engines: {node: '>=14.18.0', npm: '>=5.0.0'} peerDependencies: @@ -2256,7 +2256,7 @@ packages: consola: 3.2.3 error-stack-parser: 2.1.4 string-width: 4.2.3 - webpack: 5.90.2 + webpack: 5.90.3 dev: false /@nuxt/telemetry@2.5.3: @@ -2268,7 +2268,7 @@ packages: consola: 3.2.3 create-require: 1.1.1 defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 dotenv: 16.4.1 git-url-parse: 13.1.1 is-docker: 3.0.0 @@ -2281,7 +2281,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.1)(happy-dom@13.3.8)(playwright-core@1.41.2)(vite@5.1.3)(vitest@1.3.1)(vue-router@4.2.5)(vue@3.4.19): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2294,7 +2294,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.1.3 + vite: 5.1.4 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.19 vue-router: ^4.0.0 @@ -2322,16 +2322,16 @@ packages: '@nuxt/schema': link:packages/schema '@testing-library/vue': 8.0.2(vue@3.4.19) '@vue/test-utils': 2.4.4(vue@3.4.19) - c12: 1.8.0 + c12: 1.9.0 consola: 3.2.3 defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 estree-walker: 3.0.3 execa: 8.0.1 fake-indexeddb: 5.0.2 get-port-please: 3.1.2 - h3: 1.10.1 - happy-dom: 13.3.8 + h3: 1.10.2 + happy-dom: 13.4.1 local-pkg: 0.5.0 magic-string: 0.30.7 node-fetch-native: 1.6.1 @@ -2345,11 +2345,11 @@ packages: ufo: 1.4.0 unenv: 1.9.0 unplugin: 1.7.1 - vite: 5.1.3(@types/node@20.11.19) - vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.3.8) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.1)(happy-dom@13.3.8)(playwright-core@1.41.2)(vite@5.1.3)(vitest@1.3.1)(vue-router@4.2.5)(vue@3.4.19) + vite: 5.1.4(@types/node@20.11.19) + vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) vue: 3.4.19(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.19) + vue-router: 4.3.0(vue@3.4.19) dev: true /@nuxt/ui-templates@1.3.1: @@ -2367,7 +2367,7 @@ packages: consola: 3.2.3 debug: 4.3.4 defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 detab: 3.0.2 github-slugger: 2.0.0 hast-util-to-string: 3.0.0 @@ -2388,7 +2388,7 @@ packages: remark-parse: 11.0.0 remark-rehype: 11.1.0 scule: 1.3.0 - shiki: 1.1.3 + shiki: 1.1.6 ufo: 1.4.0 unified: 11.0.4 unist-builder: 4.0.0 @@ -2770,8 +2770,8 @@ packages: resolution: {integrity: sha512-ERVzNQz88ZkDqUpWeC57Kp+Kmx5RjqeDBR1M8AGWGom4yrkITiTfXCGmjchlDSw12MhDTuPYR4HVFW8uT61RaQ==} dev: true - /@shikijs/core@1.1.3: - resolution: {integrity: sha512-1QWSvWcPbvZXsDxB1F7ejW+Kuxp3z/JHs944hp/f8BYOlFd5gplzseFIkE/GTu/qytFef3zNME4qw1oHbQ0j2A==} + /@shikijs/core@1.1.6: + resolution: {integrity: sha512-kt9hhvrWTm0EPtRDIsoAZnSsFlIDBVBBI5CQewpA/NZCPin+MOKRXg+JiWc4y+8fZ/v0HzfDhu/UC+OTZGMt7A==} dev: true /@shikijs/transformers@1.1.2: @@ -2780,27 +2780,27 @@ packages: shiki: 1.1.2 dev: true - /@shikijs/twoslash@1.1.3(typescript@5.3.3): - resolution: {integrity: sha512-7NUEqRasZ15wWdUIusm2rQMenV2dIpNNOoCiNx7GZ4VzJxy7AwULQxgDVtYfn0u4BCgiUWqtdMYuO9uts8JSmg==} + /@shikijs/twoslash@1.1.6(typescript@5.3.3): + resolution: {integrity: sha512-0HJK7Il7HevTpRvpPlnJ0ow8UyoQxhvxQ0/lhfw1C0xW/7eLtSAtZfSKdel5Nch6HgbbtfucEzuUFmRIRXUFUg==} dependencies: - '@shikijs/core': 1.1.3 - twoslash: 0.2.3(typescript@5.3.3) + '@shikijs/core': 1.1.6 + twoslash: 0.2.4(typescript@5.3.3) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.1.3(@nuxt/kit@packages+kit)(typescript@5.3.3): - resolution: {integrity: sha512-n8xYi7GW0WrLfzFyNQ4o1ugjnLurDt8OFQTpd0N0cjShtRqxePw/iivPSLXKh9RoLoEY4Zo9MHpOVMGXvIc9VA==} + /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.3.3): + resolution: {integrity: sha512-OpOu/KszoEIm/pdTMmnFW+cPKj+Vw8Jut4CLivqdwgHysTdMUphyG/nuaYcpVZfCQBu6JLfQ6izgkYrefiKzXQ==} dependencies: - '@shikijs/twoslash': 1.1.3(typescript@5.3.3) + '@shikijs/twoslash': 1.1.6(typescript@5.3.3) floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.19) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 - shiki: 1.1.3 - twoslash: 0.2.3(typescript@5.3.3) - twoslash-vue: 0.2.2(typescript@5.3.3) + shiki: 1.1.6 + twoslash: 0.2.4(typescript@5.3.3) + twoslash-vue: 0.2.4(typescript@5.3.3) vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - '@nuxt/kit' @@ -2953,7 +2953,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.11.17 + '@types/node': 20.11.19 dev: true /@types/hash-sum@1.0.2: @@ -3025,11 +3025,6 @@ packages: '@types/node': 20.11.19 dev: true - /@types/node@20.11.17: - resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} - dependencies: - undici-types: 5.26.5 - /@types/node@20.11.19: resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} dependencies: @@ -3053,7 +3048,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.19 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3088,9 +3083,9 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.19 tapable: 2.2.1 - webpack: 5.90.2 + webpack: 5.90.3 transitivePeerDependencies: - '@swc/core' - esbuild @@ -3103,7 +3098,7 @@ packages: dependencies: '@types/connect': 3.4.37 tapable: 2.2.1 - webpack: 5.90.2 + webpack: 5.90.3 transitivePeerDependencies: - '@swc/core' - esbuild @@ -3346,29 +3341,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.3)(vue@3.4.19): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4)(vue@3.4.19): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.1.3 + vite: 5.1.4 vue: 3.4.19 dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.3(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.19) vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.1.3)(vue@3.4.19): + /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.19): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.1.3 + vite: 5.1.4 vue: 3.4.19 dependencies: - vite: 5.1.3(@types/node@20.11.17) + vite: 5.1.4(@types/node@20.11.19) vue: 3.4.19(typescript@5.3.3) /@vitest/coverage-v8@1.3.1(vitest@1.3.1): @@ -3389,7 +3384,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.3.8) + vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) transitivePeerDependencies: - supports-color dev: true @@ -3487,8 +3482,8 @@ packages: '@volar/language-core': 1.11.1 path-browserify: 1.0.1 - /@vue-macros/common@1.8.0(rollup@4.12.0)(vue@3.4.19): - resolution: {integrity: sha512-auDJJzE0z3uRe3867e0DsqcseKImktNf5ojCZgUKqiVxb2yTlwlgOVAYCgoep9oITqxkXQymSvFeKhedi8PhaA==} + /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.19): + resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: vue: 3.4.19 @@ -3499,8 +3494,8 @@ packages: '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) '@vue/compiler-sfc': 3.4.19 - ast-kit: 0.11.2(rollup@4.12.0) - local-pkg: 0.4.3 + ast-kit: 0.11.3(rollup@4.12.0) + local-pkg: 0.5.0 magic-string-ast: 0.3.0 vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: @@ -3932,9 +3927,6 @@ packages: readable-stream: 3.6.2 dev: false - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -3955,10 +3947,10 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -3971,18 +3963,18 @@ packages: resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 dev: true /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 @@ -3992,7 +3984,7 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 @@ -4003,10 +3995,10 @@ packages: engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 dev: true @@ -4023,8 +4015,8 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.2(rollup@4.12.0): - resolution: {integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==} + /ast-kit@0.11.3(rollup@4.12.0): + resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.23.9 @@ -4081,11 +4073,6 @@ packages: postcss-value-parser: 4.2.0 dev: false - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true - /available-typed-arrays@1.0.6: resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} engines: {node: '>= 0.4'} @@ -4196,17 +4183,16 @@ packages: dependencies: run-applescript: 5.0.0 - /c12@1.8.0: - resolution: {integrity: sha512-93U6RndoaAwFQPBcS9F/6lwtgBfrWh4695sQ/ChILkbj0C7zOZVptOU3Sxp0I/9xvfW/lzBWD90AXDQz4muSkA==} + /c12@1.9.0: + resolution: {integrity: sha512-7KTCZXdIbOA2hLRQ+1KzJ15Qp9Wn58one74dkihMVp2H6EzKTa3OYBy0BSfS1CCcmxYyqeX8L02m40zjQ+dstg==} dependencies: chokidar: 3.6.0 + confbox: 0.1.3 defu: 6.1.4 dotenv: 16.4.1 giget: 1.2.1 jiti: 1.21.0 - json5: 2.2.3 - jsonc-parser: 3.2.1 - mlly: 1.5.0 + mlly: 1.6.0 ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -4253,13 +4239,6 @@ packages: unique-filename: 3.0.0 dev: false - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.2 - get-intrinsic: 1.2.1 - dev: true - /call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -4335,7 +4314,7 @@ packages: resolution: {integrity: sha512-IzgToIJ/R9NhVKmL+PW33ozYkv53bXvufDNUSH3GTKXq1iCHGgkbgbtqEWbo8tnWNnt7nPDpjL8PwSG2iS8RVw==} hasBin: true dependencies: - c12: 1.8.0 + c12: 1.9.0 colorette: 2.0.20 consola: 3.2.3 convert-gitmoji: 0.1.3 @@ -4349,7 +4328,7 @@ packages: scule: 1.3.0 semver: 7.6.0 std-env: 3.7.0 - yaml: 2.3.3 + yaml: 2.3.4 dev: true /char-regex@1.0.2: @@ -4542,6 +4521,9 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + /confbox@0.1.3: + resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} + /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -4646,7 +4628,7 @@ packages: postcss: 8.4.35 dev: false - /css-loader@6.10.0(webpack@5.90.2): + /css-loader@6.10.0(webpack@5.90.3): resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -4666,10 +4648,10 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.35) postcss-value-parser: 4.2.0 semver: 7.6.0 - webpack: 5.90.2 + webpack: 5.90.3 dev: false - /css-minimizer-webpack-plugin@6.0.0(webpack@5.90.2): + /css-minimizer-webpack-plugin@6.0.0(webpack@5.90.3): resolution: {integrity: sha512-BLpR9CCDkKvhO3i0oZQgad6v9pCxUuhSc5RT6iUEy9M8hBXi4TJb5vqF2GQ2deqYHmRi3O6IR9hgAZQWg0EBwA==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -4700,7 +4682,7 @@ packages: postcss: 8.4.35 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.90.2 + webpack: 5.90.3 dev: false /css-select@5.1.0: @@ -4915,15 +4897,6 @@ packages: execa: 7.2.0 titleize: 3.0.0 - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - gopd: 1.0.1 - has-property-descriptors: 1.0.0 - dev: true - /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -4944,8 +4917,8 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: true @@ -4973,8 +4946,8 @@ packages: engines: {node: '>=6'} dev: true - /destr@2.0.2: - resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} + /destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} @@ -5187,17 +5160,17 @@ packages: dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.6 + call-bind: 1.0.7 es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 has: 1.0.4 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 has-proto: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.5 @@ -5223,7 +5196,7 @@ packages: typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 + which-typed-array: 1.1.14 dev: true /es-define-property@1.0.0: @@ -5257,9 +5230,9 @@ packages: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 has: 1.0.4 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /es-shim-unscopables@1.0.0: @@ -5277,7 +5250,7 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-loader@4.0.3(webpack@5.90.2): + /esbuild-loader@4.0.3(webpack@5.90.3): resolution: {integrity: sha512-YpaSRisj7TSg6maKKKG9OJGGm0BZ7EXeov8J8cXEYdugjlAJ0wL7aj2JactoQvPJ113v2Ar204pdJWrZsAQc8Q==} peerDependencies: webpack: ^4.40.0 || ^5.0.0 @@ -5285,7 +5258,7 @@ packages: esbuild: 0.19.11 get-tsconfig: 4.7.2 loader-utils: 2.0.4 - webpack: 5.90.2 + webpack: 5.90.3 webpack-sources: 1.4.3 /esbuild@0.18.20: @@ -5708,7 +5681,7 @@ packages: resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} dependencies: enhanced-resolve: 5.15.0 - mlly: 1.5.0 + mlly: 1.6.0 pathe: 1.1.2 ufo: 1.4.0 dev: false @@ -5721,9 +5694,6 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - /fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -5761,7 +5731,7 @@ packages: dependencies: flat-cache: 3.1.1 - /file-loader@6.2.0(webpack@5.90.2): + /file-loader@6.2.0(webpack@5.90.3): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -5769,7 +5739,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.90.2 + webpack: 5.90.3 dev: false /file-uri-to-path@1.0.0: @@ -5863,7 +5833,7 @@ packages: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.3.3)(webpack@5.90.2): + /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.3.3)(webpack@5.90.3): resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -5883,7 +5853,7 @@ packages: semver: 7.6.0 tapable: 2.2.1 typescript: 5.3.3 - webpack: 5.90.2 + webpack: 5.90.3 dev: false /form-data@4.0.0: @@ -5954,7 +5924,7 @@ packages: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 functions-have-names: 1.2.3 @@ -6004,14 +5974,6 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.2 - has: 1.0.4 - has-proto: 1.0.1 - has-symbols: 1.0.3 - /get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} @@ -6042,8 +6004,8 @@ packages: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /get-tsconfig@4.7.2: @@ -6190,7 +6152,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -6211,12 +6173,12 @@ packages: dependencies: duplexer: 0.1.2 - /h3@1.10.1: - resolution: {integrity: sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==} + /h3@1.10.2: + resolution: {integrity: sha512-r1iNNcFGL4G9pL3lgYxwX0O2ZmqdKqhILAJsnlw5icn5I1QHnADM4TgVdYRtHUqy+NntVpHIEFwnw/XCbebICg==} dependencies: cookie-es: 1.0.0 defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 iron-webcrypto: 1.0.0 ohash: 1.1.3 radix3: 1.1.0 @@ -6224,8 +6186,8 @@ packages: uncrypto: 0.1.3 unenv: 1.9.0 - /happy-dom@13.3.8: - resolution: {integrity: sha512-RAbq4oYfJNkVan1m1F3jfA4YEyRY0/ASoNvZsNJbuX85jIypidmsz9jQZD7Tqz0VXA2MhAGfcsh5oshwmwNYSg==} + /happy-dom@13.4.1: + resolution: {integrity: sha512-jSDMlBd+pCytrEOtC2N0IUyIYz1hkjpGGp+C8o80QPXhiAC0RY/koVCwdz3Y4dJNNENDOnzyk/k2i5El6q+vAg==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -6245,12 +6207,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.1 - dev: true - /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: @@ -6264,18 +6220,11 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - /has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - dev: true /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} @@ -6283,6 +6232,7 @@ packages: /has@1.0.4: resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} + dev: true /hash-sum@2.0.0: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} @@ -6482,10 +6432,6 @@ packages: ms: 2.1.3 dev: false - /hyperdyperid@1.2.0: - resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} - engines: {node: '>=10.18'} - /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -6558,7 +6504,7 @@ packages: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 has: 1.0.4 side-channel: 1.0.4 dev: true @@ -6638,7 +6584,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-builtin-module@3.2.1: @@ -6661,7 +6607,7 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-decimal@2.0.1: @@ -6738,7 +6684,7 @@ packages: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: @@ -6785,7 +6731,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} @@ -6814,7 +6760,7 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-symbol@1.0.4: @@ -6828,7 +6774,7 @@ packages: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.11 + which-typed-array: 1.1.14 dev: true /is-weakmap@2.0.1: @@ -6838,7 +6784,7 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-weakset@2.0.2: @@ -6996,22 +6942,6 @@ packages: /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - /json-joy@11.28.0(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.2): - resolution: {integrity: sha512-WTq2tYD2r+0rUFId4gtUjwejV20pArh4q2WRJKxJdwLlPFHyW94HwwB2vUr5lUJTVkehhhWEVLwOUI0MSacNIw==} - engines: {node: '>=10.0'} - hasBin: true - peerDependencies: - quill-delta: ^5 - rxjs: '7' - tslib: '2' - dependencies: - arg: 5.0.2 - hyperdyperid: 1.2.0 - quill-delta: 5.1.0 - rxjs: 7.8.1 - thingies: 1.16.0(tslib@2.6.2) - tslib: 2.6.2 - /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -7128,10 +7058,10 @@ packages: consola: 3.2.3 defu: 6.1.4 get-port-please: 3.1.2 - h3: 1.10.1 + h3: 1.10.2 http-shutdown: 1.2.2 jiti: 1.21.0 - mlly: 1.5.0 + mlly: 1.6.0 node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 @@ -7169,7 +7099,7 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.5.0 + mlly: 1.6.0 pkg-types: 1.0.3 /locate-path@5.0.0: @@ -7195,18 +7125,12 @@ packages: /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - /lodash.clonedeep@4.5.0: - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - /lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} /lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: false @@ -7538,25 +7462,11 @@ packages: fs-monkey: 1.0.5 dev: false - /memfs@4.7.0(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.2): - resolution: {integrity: sha512-FGbf9Yz2gzXCUmpymkKnzAQOitriZQlIMtmnzb2LOcT0FTUdzL6AAwNGQrSOACx/UiW7XQsG65vrIA9+L01Edw==} - engines: {node: '>= 4.0.0'} - peerDependencies: - tslib: '2' - dependencies: - json-joy: 11.28.0(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.2) - thingies: 1.16.0(tslib@2.6.2) - tslib: 2.6.2 - transitivePeerDependencies: - - quill-delta - - rxjs - - /memfs@4.7.6: - resolution: {integrity: sha512-PMxcVnZYdSFYZIzsbhd8XLvxrHaIarhyyfDQHThUwhAYAPDfDTvKhEjWbzPyGFr9CPvJJl+VUetfcnVVF9Wckg==} + /memfs@4.7.7: + resolution: {integrity: sha512-x9qc6k88J/VVwnfTkJV8pRRswJ2156Rc4w5rciRqKceFDZ0y1MqsNL9pkg5sE0GOcDzZYbonreALhaHzg1siFw==} engines: {node: '>= 4.0.0'} dependencies: tslib: 2.6.2 - dev: false /memory-fs@0.5.0: resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} @@ -7866,7 +7776,7 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.8.0(webpack@5.90.2): + /mini-css-extract-plugin@2.8.0(webpack@5.90.3): resolution: {integrity: sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -7874,7 +7784,7 @@ packages: dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.90.2 + webpack: 5.90.3 dev: false /minimatch@3.0.8: @@ -8000,14 +7910,14 @@ packages: fs-extra: 11.2.0 globby: 13.2.2 jiti: 1.21.0 - mlly: 1.5.0 + mlly: 1.6.0 mri: 1.2.0 pathe: 1.1.2 typescript: 5.3.3 dev: true - /mlly@1.5.0: - resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} + /mlly@1.6.0: + resolution: {integrity: sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ==} dependencies: acorn: 8.11.3 pathe: 1.1.2 @@ -8080,14 +7990,14 @@ packages: '@types/http-proxy': 1.17.14 '@vercel/nft': 0.24.3 archiver: 6.0.1 - c12: 1.8.0 + c12: 1.9.0 chalk: 5.3.0 chokidar: 3.6.0 citty: 0.1.5 consola: 3.2.3 cookie-es: 1.0.0 defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 dot-prop: 8.0.2 esbuild: 0.19.11 escape-string-regexp: 5.0.0 @@ -8096,7 +8006,7 @@ packages: fs-extra: 11.2.0 globby: 14.0.1 gzip-size: 7.0.0 - h3: 1.10.1 + h3: 1.10.2 hookable: 5.5.3 httpxy: 0.1.5 is-primitive: 3.0.1 @@ -8106,7 +8016,7 @@ packages: listhen: 1.5.5 magic-string: 0.30.7 mime: 3.0.0 - mlly: 1.5.0 + mlly: 1.6.0 mri: 1.2.0 node-fetch-native: 1.6.1 ofetch: 1.3.3 @@ -8353,8 +8263,8 @@ packages: optionalDependencies: fsevents: 2.3.3 - /nuxt-content-twoslash@0.0.8(@nuxtjs/mdc@0.5.0): - resolution: {integrity: sha512-Yg0cnICYs6tDleWxpE035R720UWvirFwnUF5jPs/L0K3efkM2u8GmNLdnqMSwXcEYl8v3GwqcHb1y6YiOphRvA==} + /nuxt-content-twoslash@0.0.10(@nuxtjs/mdc@0.5.0): + resolution: {integrity: sha512-rnSX+qiMvCGMrUBWbHUidxQazw7NlCs80bK1uJ9gwXd2rupM7/niko/3b57jIJUZnDIhlvePk2eWpRDskvfajg==} hasBin: true peerDependencies: '@nuxtjs/mdc': '>=0.5.0' @@ -8362,15 +8272,15 @@ packages: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema '@nuxtjs/mdc': 0.5.0 - '@shikijs/vitepress-twoslash': 1.1.3(@nuxt/kit@packages+kit)(typescript@5.3.3) + '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.3.3) cac: 6.7.14 chokidar: 3.6.0 fast-glob: 3.3.2 pathe: 1.1.2 picocolors: 1.0.0 remark-parse: 11.0.0 - shiki: 1.1.3 - twoslash: 0.2.3(typescript@5.3.3) + shiki: 1.1.6 + twoslash: 0.2.4(typescript@5.3.3) typescript: 5.3.3 unified: 11.0.4 unist-util-visit: 5.0.0 @@ -8423,7 +8333,7 @@ packages: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 dev: true @@ -8431,17 +8341,17 @@ packages: /object.groupby@1.0.1: resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 dev: true /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 dev: true @@ -8449,7 +8359,7 @@ packages: /ofetch@1.3.3: resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} dependencies: - destr: 2.0.2 + destr: 2.0.3 node-fetch-native: 1.6.1 ufo: 1.4.0 @@ -8738,7 +8648,7 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.1 - mlly: 1.5.0 + mlly: 1.6.0 pathe: 1.1.2 /playwright-core@1.41.2: @@ -8841,7 +8751,7 @@ packages: resolve: 1.22.8 dev: false - /postcss-loader@8.1.0(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.2): + /postcss-loader@8.1.0(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3): resolution: {integrity: sha512-AbperNcX3rlob7Ay7A/HQcrofug1caABBkopoFeOQMspZBqcqj6giYn1Bwey/0uiOPAcR+NQD0I2HC7rXzk91w==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -8858,7 +8768,7 @@ packages: jiti: 1.21.0 postcss: 8.4.35 semver: 7.6.0 - webpack: 5.90.2 + webpack: 5.90.3 transitivePeerDependencies: - typescript dev: false @@ -9351,14 +9261,6 @@ packages: /queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - /quill-delta@5.1.0: - resolution: {integrity: sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==} - engines: {node: '>= 12.0.0'} - dependencies: - fast-diff: 1.3.0 - lodash.clonedeep: 4.5.0 - lodash.isequal: 4.5.0 - /radix3@1.1.0: resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} @@ -9375,7 +9277,7 @@ packages: resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} dependencies: defu: 6.1.4 - destr: 2.0.2 + destr: 2.0.3 flat: 5.0.2 /react-is@17.0.2: @@ -9744,17 +9646,12 @@ packages: dependencies: queue-microtask: 1.2.3 - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - dependencies: - tslib: 2.6.2 - /safe-array-concat@1.0.1: resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 dev: true @@ -9768,8 +9665,8 @@ packages: /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 is-regex: 1.1.4 dev: true @@ -9884,9 +9781,9 @@ packages: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 dev: true /setprototypeof@1.2.0: @@ -9912,10 +9809,10 @@ packages: '@shikijs/core': 1.1.2 dev: true - /shiki@1.1.3: - resolution: {integrity: sha512-k/B4UvtWmGcHMLp6JnQminlex3Go5MHKXEiormmzTJECAiSQiwSon6USuwTyto8EMUQc9aYRJ7HojkfVLbBk+g==} + /shiki@1.1.6: + resolution: {integrity: sha512-j4pcpvaQWHb42cHeV+W6P+X/VcK7Y2ctvEham6zB8wsuRQroT6cEMIkiUmBU2Nqg2qnHZDH6ZyRdVldcy0l6xw==} dependencies: - '@shikijs/core': 1.1.3 + '@shikijs/core': 1.1.6 dev: true /side-channel@1.0.4: @@ -10138,7 +10035,7 @@ packages: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 dev: true @@ -10146,7 +10043,7 @@ packages: /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 dev: true @@ -10154,7 +10051,7 @@ packages: /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.2 dev: true @@ -10303,7 +10200,7 @@ packages: mkdirp: 1.0.4 yallist: 4.0.0 - /terser-webpack-plugin@5.3.10(webpack@5.90.2): + /terser-webpack-plugin@5.3.10(webpack@5.90.3): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10324,7 +10221,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.27.0 - webpack: 5.90.2 + webpack: 5.90.3 /terser@5.27.0: resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} @@ -10348,20 +10245,12 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - /thingies@1.16.0(tslib@2.6.2): - resolution: {integrity: sha512-J23AVs11hSQxuJxvfQyMIaS9z1QpDxOCvMkL3ZxZl8/jmkgmnNGWrlyNxVz6Jbh0U6DuGmHqq6f7zUROfg/ncg==} - engines: {node: '>=10.18'} - peerDependencies: - tslib: ^2 - dependencies: - tslib: 2.6.2 - - /time-fix-plugin@2.0.7(webpack@5.90.2): + /time-fix-plugin@2.0.7(webpack@5.90.3): resolution: {integrity: sha512-uVFet1LQToeUX0rTcSiYVYVoGuBpc8gP/2jnlUzuHMHe+gux6XLsNzxLUweabMwiUj5ejhoIMsUI55nVSEa/Vw==} peerDependencies: webpack: '>=4.0.0' dependencies: - webpack: 5.90.2 + webpack: 5.90.3 dev: false /tiny-invariant@1.3.1: @@ -10452,46 +10341,30 @@ packages: - supports-color dev: false - /twoslash-protocol@0.2.2: - resolution: {integrity: sha512-vwmMzoVkRk9yOElqn1xzCGwnv4rpfWHGtD177NkGc+A6KK5JhZtmugyW/T96g+Fwx2JrZB67FhAvdU5ptsXrUQ==} + /twoslash-protocol@0.2.4: + resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==} dev: true - /twoslash-protocol@0.2.3: - resolution: {integrity: sha512-pvNVFaYvZ2S5AvG3dN91NSxTt+JxeoJju/1ezOGhmHB+Wpa5xZuWY5nuvOkeBpqcwvwTvpjtw5d/xSV19ZMzJA==} - dev: true - - /twoslash-vue@0.2.2(typescript@5.3.3): - resolution: {integrity: sha512-wSl1r9kO38QJtejrJ7f4zxCSxAF3iZkbQl0JsC2p7pzzBzRY9ZpkPDEkbeL0dQ6gI7Eyqi6ryZh1iLoAts738Q==} + /twoslash-vue@0.2.4(typescript@5.3.3): + resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==} peerDependencies: typescript: '*' dependencies: '@vue/language-core': 1.8.27(typescript@5.3.3) - twoslash: 0.2.2(typescript@5.3.3) - twoslash-protocol: 0.2.2 + twoslash: 0.2.4(typescript@5.3.3) + twoslash-protocol: 0.2.4 typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /twoslash@0.2.2(typescript@5.3.3): - resolution: {integrity: sha512-34VeMQiwiC6Jn2fSxo39z0BtINrOAeYb9WRfEQyW47cgMjw4NUuM3ym5qwL0g4xFoocuH1fKXlSl96EE2DghVQ==} + /twoslash@0.2.4(typescript@5.3.3): + resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==} peerDependencies: typescript: '*' dependencies: '@typescript/vfs': 1.5.0 - twoslash-protocol: 0.2.2 - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /twoslash@0.2.3(typescript@5.3.3): - resolution: {integrity: sha512-96vxkRz/IiOwrRDNniBuLLi29q9F5Vv0BAb0Jx/lhF3EhG71hcm0he4fvQllhf/ZPzUGMt/QfJX6o0cTwnZhJQ==} - peerDependencies: - typescript: '*' - dependencies: - '@typescript/vfs': 1.5.0 - twoslash-protocol: 0.2.3 + twoslash-protocol: 0.2.4 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -10535,8 +10408,8 @@ packages: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 is-typed-array: 1.1.12 dev: true @@ -10544,7 +10417,7 @@ packages: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 @@ -10554,8 +10427,8 @@ packages: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.6 + call-bind: 1.0.7 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 @@ -10564,7 +10437,7 @@ packages: /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 is-typed-array: 1.1.12 dev: true @@ -10581,14 +10454,14 @@ packages: /ufo@1.4.0: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - /ultrahtml@1.5.2: - resolution: {integrity: sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==} + /ultrahtml@1.5.3: + resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} dev: false /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -10619,7 +10492,7 @@ packages: jiti: 1.21.0 magic-string: 0.30.7 mkdist: 1.3.0(typescript@5.3.3) - mlly: 1.5.0 + mlly: 1.6.0 pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 @@ -10702,7 +10575,7 @@ packages: fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.7 - mlly: 1.5.0 + mlly: 1.6.0 pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.3.0 @@ -10768,7 +10641,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unplugin-vue-router@0.7.0(rollup@4.12.0)(vue-router@4.2.5)(vue@3.4.19): + /unplugin-vue-router@0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.19): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -10778,18 +10651,18 @@ packages: dependencies: '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue-macros/common': 1.8.0(rollup@4.12.0)(vue@3.4.19) + '@vue-macros/common': 1.10.1(rollup@4.12.0)(vue@3.4.19) ast-walker-scope: 0.5.0(rollup@4.12.0) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 local-pkg: 0.4.3 - mlly: 1.5.0 + mlly: 1.6.0 pathe: 1.1.2 scule: 1.3.0 unplugin: 1.7.1 - vue-router: 4.2.5(vue@3.4.19) - yaml: 2.3.3 + vue-router: 4.3.0(vue@3.4.19) + yaml: 2.3.4 transitivePeerDependencies: - rollup - vue @@ -10846,8 +10719,8 @@ packages: dependencies: anymatch: 3.1.3 chokidar: 3.6.0 - destr: 2.0.2 - h3: 1.10.1 + destr: 2.0.3 + h3: 1.10.2 ioredis: 5.3.2 listhen: 1.5.5 lru-cache: 10.0.3 @@ -10888,7 +10761,7 @@ packages: resolution: {integrity: sha512-+s4iWvHHYnLuwNo+9mqVFLBmBzGc3gIuzkVZ8fdMN9K/kWopCnfaUVnDagd2OX3It5nRR5EenI5nSQb8FOd0fA==} dependencies: magic-string: 0.30.7 - mlly: 1.5.0 + mlly: 1.6.0 pathe: 1.1.2 pkg-types: 1.0.3 unplugin: 1.7.1 @@ -10912,7 +10785,7 @@ packages: dependencies: punycode: 2.3.0 - /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.90.2): + /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.90.3): resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10922,11 +10795,11 @@ packages: file-loader: optional: true dependencies: - file-loader: 6.2.0(webpack@5.90.2) + file-loader: 6.2.0(webpack@5.90.3) loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.90.2 + webpack: 5.90.3 dev: false /urlpattern-polyfill@8.0.2: @@ -10988,28 +10861,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.3(@types/node@20.11.19) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-node@1.3.1(@types/node@20.11.17): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.3(@types/node@20.11.17) + vite: 5.1.4(@types/node@20.11.19) transitivePeerDependencies: - '@types/node' - less @@ -11030,7 +10882,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.3(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.19) transitivePeerDependencies: - '@types/node' - less @@ -11041,7 +10893,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.3)(vue-tsc@1.8.27): + /vite-plugin-checker@0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11050,7 +10902,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.1.3 + vite: 5.1.4 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -11085,7 +10937,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 5.1.3(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.19) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11093,12 +10945,12 @@ packages: vue-tsc: 1.8.27(typescript@5.3.3) dev: false - /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.3): + /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.4): resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.1.3 + vite: 5.1.4 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -11112,16 +10964,16 @@ packages: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.3(@types/node@20.11.17) + vite: 5.1.4(@types/node@20.11.19) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.1.3): + /vite-plugin-vue-inspector@4.0.2(vite@5.1.4): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.1.3 + vite: 5.1.4 dependencies: '@babel/core': 7.23.9 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.23.9) @@ -11132,48 +10984,13 @@ packages: '@vue/compiler-dom': 3.4.19 kolorist: 1.8.0 magic-string: 0.30.7 - vite: 5.1.3(@types/node@20.11.17) + vite: 5.1.4(@types/node@20.11.19) transitivePeerDependencies: - supports-color dev: false - /vite@5.1.3(@types/node@20.11.17): - resolution: {integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.17 - esbuild: 0.19.11 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - - /vite@5.1.3(@types/node@20.11.19): - resolution: {integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==} + /vite@5.1.4(@types/node@20.11.19): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11207,10 +11024,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.1)(happy-dom@13.3.8)(playwright-core@1.41.2)(vite@5.1.3)(vitest@1.3.1)(vue-router@4.2.5)(vue@3.4.19): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.1)(happy-dom@13.3.8)(playwright-core@1.41.2)(vite@5.1.3)(vitest@1.3.1)(vue-router@4.2.5)(vue@3.4.19) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11227,7 +11044,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.19)(happy-dom@13.3.8): + /vitest@1.0.2(@types/node@20.11.19)(happy-dom@13.4.1): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11263,7 +11080,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.3.8 + happy-dom: 13.4.1 local-pkg: 0.5.0 magic-string: 0.30.7 pathe: 1.1.2 @@ -11272,7 +11089,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.3(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.19) vite-node: 1.0.2(@types/node@20.11.19) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11285,64 +11102,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.17)(happy-dom@13.3.8): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.11.17 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - happy-dom: 13.3.8 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.5.1 - tinypool: 0.8.2 - vite: 5.1.3(@types/node@20.11.17) - vite-node: 1.3.1(@types/node@20.11.17) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vitest@1.3.1(@types/node@20.11.19)(happy-dom@13.3.8): + /vitest@1.3.1(@types/node@20.11.19)(happy-dom@13.4.1): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11377,7 +11137,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.3.8 + happy-dom: 13.4.1 local-pkg: 0.5.0 magic-string: 0.30.7 pathe: 1.1.2 @@ -11386,7 +11146,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.3(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.19) vite-node: 1.3.1(@types/node@20.11.19) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11475,7 +11235,7 @@ packages: - supports-color dev: true - /vue-loader@17.4.2(vue@3.4.19)(webpack@5.90.2): + /vue-loader@17.4.2(vue@3.4.19)(webpack@5.90.3): resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} peerDependencies: '@vue/compiler-sfc': '*' @@ -11491,7 +11251,7 @@ packages: hash-sum: 2.0.0 vue: 3.4.19(typescript@5.3.3) watchpack: 2.4.0 - webpack: 5.90.2 + webpack: 5.90.3 /vue-resize@2.0.0-alpha.1(vue@3.4.19): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} @@ -11501,8 +11261,8 @@ packages: vue: 3.4.19(typescript@5.3.3) dev: true - /vue-router@4.2.5(vue@3.4.19): - resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + /vue-router@4.3.0(vue@3.4.19): + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} peerDependencies: vue: 3.4.19 dependencies: @@ -11583,7 +11343,7 @@ packages: - utf-8-validate dev: false - /webpack-dev-middleware@7.0.0(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.2)(webpack@5.90.2): + /webpack-dev-middleware@7.0.0(webpack@5.90.3): resolution: {integrity: sha512-tZ5hqsWwww/8DislmrzXE3x+4f+v10H1z57mA2dWFrILb4i3xX+dPhTkcdR0DLyQztrhF2AUmO5nN085UYjd/Q==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -11593,15 +11353,11 @@ packages: optional: true dependencies: colorette: 2.0.20 - memfs: 4.7.0(quill-delta@5.1.0)(rxjs@7.8.1)(tslib@2.6.2) + memfs: 4.7.7 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.90.2 - transitivePeerDependencies: - - quill-delta - - rxjs - - tslib + webpack: 5.90.3 /webpack-hot-middleware@2.26.1: resolution: {integrity: sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==} @@ -11624,8 +11380,8 @@ packages: /webpack-virtual-modules@0.6.1: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} - /webpack@5.90.2: - resolution: {integrity: sha512-ziXu8ABGr0InCMEYFnHrYweinHK2PWrMqnwdHk2oK3rRhv/1B+2FnfwYv5oD+RrknK/Pp/Hmyvu+eAsaMYhzCw==} + /webpack@5.90.3: + resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -11655,7 +11411,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.90.2) + terser-webpack-plugin: 5.3.10(webpack@5.90.3) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -11663,8 +11419,8 @@ packages: - esbuild - uglify-js - /webpackbar@6.0.0(webpack@5.90.2): - resolution: {integrity: sha512-RdB0RskzOaix1VFMnBXSkKMbUgvZliRqgoNp0gCnG6iUe9RS9sf018AJ/1h5NAeh+ttwXkXjXKC6NdjE/OOcaA==} + /webpackbar@6.0.1(webpack@5.90.3): + resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} engines: {node: '>=14.21.3'} peerDependencies: webpack: 3 || 4 || 5 @@ -11676,7 +11432,7 @@ packages: markdown-table: 2.0.0 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.90.2 + webpack: 5.90.3 wrap-ansi: 7.0.0 dev: false @@ -11710,17 +11466,6 @@ packages: is-weakset: 2.0.2 dev: true - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - /which-typed-array@1.1.14: resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} engines: {node: '>= 0.4'} @@ -11845,8 +11590,8 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - /yaml@2.3.3: - resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} /yargs-parser@21.1.1: diff --git a/renovate.json b/renovate.json index 69d745a740..96895fcd07 100644 --- a/renovate.json +++ b/renovate.json @@ -20,6 +20,12 @@ "^@vitest/" ] }, + { + "groupName": "unplugin-vue-router", + "matchPackageNames": [ + "unplugin-vue-router" + ] + }, { "matchBaseBranches": [ "main" From aaad9924339b4c45d7feb45ed84bac4052edfcf0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 13:56:09 +0000 Subject: [PATCH 141/470] v3.10.3 --- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index ce2f0b0257..a74b1bf114 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/kit", - "version": "3.10.2", + "version": "3.10.3", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index fb455338ef..d652111991 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "3.10.2", + "version": "3.10.3", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/schema/package.json b/packages/schema/package.json index 862aa57156..cb3e70df6c 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/schema", - "version": "3.10.2", + "version": "3.10.3", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/vite/package.json b/packages/vite/package.json index 56b93ad60a..4eedb3a85a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vite-builder", - "version": "3.10.2", + "version": "3.10.3", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 22cbe20e1e..f256c17b17 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/webpack-builder", - "version": "3.10.2", + "version": "3.10.3", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", From 5440ececedc5cae84653b63064e72bddee6b1ee1 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 22 Feb 2024 16:31:20 +0000 Subject: [PATCH 142/470] fix(kit): apply nuxt types to `.config/nuxt.config` resolves https://github.com/nuxt/nuxt/issues/25918 --- packages/kit/src/template.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index 851cdc48ce..8c0be5dd7d 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -145,6 +145,7 @@ export async function writeTypes (nuxt: Nuxt) { }, include: [ './nuxt.d.ts', + join(relativeWithDot(nuxt.options.buildDir, nuxt.options.rootDir), '.config/nuxt.config.*'), join(relativeWithDot(nuxt.options.buildDir, nuxt.options.rootDir), '**/*'), ...nuxt.options.srcDir !== nuxt.options.rootDir ? [join(relative(nuxt.options.buildDir, nuxt.options.srcDir), '**/*')] : [], ...nuxt.options._layers.map(layer => layer.config.srcDir ?? layer.cwd) From 580f4f65bfe727755dd746e9deec3c72f5924967 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 16:56:31 +0000 Subject: [PATCH 143/470] chore(deps): update devdependency eslint-plugin-jsdoc to v48.2.0 (main) (#25914) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bee5dbb5dd..b525f6505b 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "devalue": "4.3.2", "eslint": "8.56.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "48.1.0", + "eslint-plugin-jsdoc": "48.2.0", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-unicorn": "51.0.1", "execa": "8.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9dcde105e..3eeb04f508 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,8 +71,8 @@ importers: specifier: 2.29.1 version: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.56.0) eslint-plugin-jsdoc: - specifier: 48.1.0 - version: 48.1.0(eslint@8.56.0) + specifier: 48.2.0 + version: 48.2.0(eslint@8.56.0) eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 @@ -5445,8 +5445,8 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@48.1.0(eslint@8.56.0): - resolution: {integrity: sha512-g9S8ukmTd1DVcV/xeBYPPXOZ6rc8WJ4yi0+MVxJ1jBOrz5kmxV9gJJQ64ltCqIWFnBChLIhLVx3tbTSarqVyFA==} + /eslint-plugin-jsdoc@48.2.0(eslint@8.56.0): + resolution: {integrity: sha512-O2B1XLBJnUCRkggFzUQ+PBYJDit8iAgXdlu8ucolqGrbmOWPvttZQZX8d1sC0MbqDMSLs8SHSQxaNPRY1RQREg==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 From 9037c3476656370da2edddc9a86dccb291caeb1f Mon Sep 17 00:00:00 2001 From: Mehmet <hi@productdevbook.com> Date: Thu, 22 Feb 2024 20:04:56 +0300 Subject: [PATCH 144/470] ci: clean up pr cache when it is merged (#25873) --- .github/workflows/cache-cleanup.yml | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/cache-cleanup.yml diff --git a/.github/workflows/cache-cleanup.yml b/.github/workflows/cache-cleanup.yml new file mode 100644 index 0000000000..b71b0e9baa --- /dev/null +++ b/.github/workflows/cache-cleanup.yml @@ -0,0 +1,36 @@ +# From https://github.com/actions/cache/blob/main/tips-and-workarounds.md#force-deletion-of-caches-overriding-default-cache-eviction-policy + +name: cache +on: + pull_request: + types: + - closed + +jobs: + cleanup: + runs-on: ubuntu-latest + permissions: + # `actions:write` permission is required to delete caches + # See also: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#delete-a-github-actions-cache-for-a-repository-using-a-cache-id + actions: write + contents: read + steps: + - name: Cleanup + run: | + gh extension install actions/gh-actions-cache + + echo "Fetching list of cache keys" + cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH -L 100 | cut -f 1 ) + + ## Setting this to not fail the workflow while deleting cache keys. + set +e + echo "Deleting caches..." + for cacheKey in $cacheKeysForPR + do + gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm + done + echo "Done" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge From 7815aa534edb0e7dbf7a6c4d43dccc11acb408df Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 22 Feb 2024 18:15:44 +0000 Subject: [PATCH 145/470] fix(kit): widen pattern to `.config/nuxt.*` --- packages/kit/src/template.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index 8c0be5dd7d..3d3888fb71 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -145,7 +145,7 @@ export async function writeTypes (nuxt: Nuxt) { }, include: [ './nuxt.d.ts', - join(relativeWithDot(nuxt.options.buildDir, nuxt.options.rootDir), '.config/nuxt.config.*'), + join(relativeWithDot(nuxt.options.buildDir, nuxt.options.rootDir), '.config/nuxt.*'), join(relativeWithDot(nuxt.options.buildDir, nuxt.options.rootDir), '**/*'), ...nuxt.options.srcDir !== nuxt.options.rootDir ? [join(relative(nuxt.options.buildDir, nuxt.options.srcDir), '**/*')] : [], ...nuxt.options._layers.map(layer => layer.config.srcDir ?? layer.cwd) From db32d836986f16b3062ee0bbd3ff510c86348665 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 23 Feb 2024 12:46:11 +0000 Subject: [PATCH 146/470] chore(deps): update all non-major dependencies (main) (#25922) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/benchmark.yml | 2 +- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 226 +++++++++++++++++++++++-------- 7 files changed, 179 insertions(+), 61 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index d036634f03..028a297f84 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -48,7 +48,7 @@ jobs: run: pnpm build - name: Run benchmarks - uses: CodSpeedHQ/action@8fd5bb7fdd76cbeb81845c3289e5e4eea9f08979 # v2.2.0 + uses: CodSpeedHQ/action@2e04019f4572c19684929a755da499f19a00b25b # v2.2.1 with: run: pnpm vitest bench token: ${{ secrets.CODSPEED_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 49753677a5..13d0ae4ba2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,7 +85,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4 + uses: github/codeql-action/init@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 with: languages: javascript queries: +security-and-quality @@ -97,7 +97,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4 + uses: github/codeql-action/analyze@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 458114d01a..4d7d7ae87e 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4 + uses: github/codeql-action/upload-sarif@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 with: sarif_file: results.sarif diff --git a/package.json b/package.json index b525f6505b..a99a87ec73 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.2", "@types/fs-extra": "11.0.4", - "@types/node": "20.11.19", + "@types/node": "20.11.20", "@types/semver": "7.5.7", "@vitest/coverage-v8": "1.3.1", "@vue/test-utils": "2.4.4", diff --git a/packages/vite/package.json b/packages/vite/package.json index 4eedb3a85a..3517e5c2a0 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -39,7 +39,7 @@ "autoprefixer": "^10.4.17", "clear": "^0.1.0", "consola": "^3.2.3", - "cssnano": "^6.0.3", + "cssnano": "^6.0.4", "defu": "^6.1.4", "esbuild": "^0.20.1", "escape-string-regexp": "^5.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index f256c17b17..8b7325328d 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.17", "css-loader": "^6.10.0", "css-minimizer-webpack-plugin": "^6.0.0", - "cssnano": "^6.0.3", + "cssnano": "^6.0.4", "defu": "^6.1.4", "esbuild-loader": "^4.0.3", "escape-string-regexp": "^5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3eeb04f508..0f525e7f2e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,8 +41,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.19 - version: 20.11.19 + specifier: 20.11.20 + version: 20.11.20 '@types/semver': specifier: 7.5.7 version: 7.5.7 @@ -138,7 +138,7 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) + version: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) vitest-environment-nuxt: specifier: 1.0.0 version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) @@ -232,10 +232,10 @@ importers: version: 2.0.0(typescript@5.3.3) vite: specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.19) + version: 5.1.4(@types/node@20.11.20) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) + version: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) webpack: specifier: 5.90.3 version: 5.90.3 @@ -522,7 +522,7 @@ importers: version: 1.9.0 vite: specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.19) + version: 5.1.4(@types/node@20.11.20) vue: specifier: 3.4.19 version: 3.4.19(typescript@5.3.3) @@ -566,8 +566,8 @@ importers: specifier: ^3.2.3 version: 3.2.3 cssnano: - specifier: ^6.0.3 - version: 6.0.3(postcss@8.4.35) + specifier: ^6.0.4 + version: 6.0.4(postcss@8.4.35) defu: specifier: ^6.1.4 version: 6.1.4 @@ -636,10 +636,10 @@ importers: version: 1.7.1 vite: specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.19) + version: 5.1.4(@types/node@20.11.20) vite-node: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.19) + version: 1.3.1(@types/node@20.11.20) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) @@ -684,8 +684,8 @@ importers: specifier: ^6.0.0 version: 6.0.0(webpack@5.90.3) cssnano: - specifier: ^6.0.3 - version: 6.0.3(postcss@8.4.35) + specifier: ^6.0.4 + version: 6.0.4(postcss@8.4.35) defu: specifier: ^6.1.4 version: 6.1.4 @@ -865,7 +865,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.19)(happy-dom@13.4.1) + version: 1.0.2(@types/node@20.11.20)(happy-dom@13.4.1) vue: specifier: 3.4.19 version: 3.4.19(typescript@5.3.3) @@ -1265,8 +1265,8 @@ packages: vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.1.4(@types/node@20.11.19) - vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) + vite: 5.1.4(@types/node@20.11.20) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) transitivePeerDependencies: - debug dev: true @@ -1976,7 +1976,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.11.19 + '@types/node': 20.11.20 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2345,8 +2345,8 @@ packages: ufo: 1.4.0 unenv: 1.9.0 unplugin: 1.7.1 - vite: 5.1.4(@types/node@20.11.19) - vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) + vite: 5.1.4(@types/node@20.11.20) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) vue: 3.4.19(typescript@5.3.3) vue-router: 4.3.0(vue@3.4.19) @@ -2919,7 +2919,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 dev: true /@types/debug@4.1.12: @@ -2969,7 +2969,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -2996,7 +2996,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 dev: true /@types/lodash-es@4.17.12: @@ -3022,7 +3022,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 dev: true /@types/node@20.11.19: @@ -3030,6 +3030,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.11.20: + resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -3109,7 +3114,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3123,7 +3128,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3351,7 +3356,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.20) vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - supports-color @@ -3384,7 +3389,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) transitivePeerDependencies: - supports-color dev: true @@ -4677,7 +4682,7 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.21 - cssnano: 6.0.3(postcss@8.4.35) + cssnano: 6.0.4(postcss@8.4.35) jest-worker: 29.7.0 postcss: 8.4.35 schema-utils: 4.2.0 @@ -4721,8 +4726,8 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA==} + /cssnano-preset-default@6.0.4(postcss@8.4.35): + resolution: {integrity: sha512-mvyBIFHaFA4lkBwePlB9Gycnf/rgFQRKcP/yHG/tbD0ZuIdCDSF1GoL4QC4gcp8qaJOkmVmb0mCXMR6Wi4Da0A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -4732,10 +4737,10 @@ packages: postcss: 8.4.35 postcss-calc: 9.0.1(postcss@8.4.35) postcss-colormin: 6.0.2(postcss@8.4.35) - postcss-convert-values: 6.0.2(postcss@8.4.35) + postcss-convert-values: 6.0.3(postcss@8.4.35) postcss-discard-comments: 6.0.1(postcss@8.4.35) - postcss-discard-duplicates: 6.0.1(postcss@8.4.35) - postcss-discard-empty: 6.0.1(postcss@8.4.35) + postcss-discard-duplicates: 6.0.2(postcss@8.4.35) + postcss-discard-empty: 6.0.2(postcss@8.4.35) postcss-discard-overridden: 6.0.1(postcss@8.4.35) postcss-merge-longhand: 6.0.2(postcss@8.4.35) postcss-merge-rules: 6.0.3(postcss@8.4.35) @@ -4768,14 +4773,14 @@ packages: postcss: 8.4.35 dev: false - /cssnano@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw==} + /cssnano@6.0.4(postcss@8.4.35): + resolution: {integrity: sha512-Bp607LopXmwV9TPUxw76yvcvRk4AYrrtHtLsndAnSWUwT4xgaiC6Eaa44cZ6ciu9J7Sqv9zocMTDcyQnU4dihw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.0.3(postcss@8.4.35) - lilconfig: 3.0.0 + cssnano-preset-default: 6.0.4(postcss@8.4.35) + lilconfig: 3.1.1 postcss: 8.4.35 dev: false @@ -6861,7 +6866,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.19 + '@types/node': 20.11.20 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6872,7 +6877,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6880,7 +6885,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7033,8 +7038,8 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 - /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + /lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} dev: false @@ -8686,8 +8691,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw==} + /postcss-convert-values@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-Tj+VH3GtQxvBVX6hhggIUaAMLDbqoHgsAFeZ8iCOD03hnho+wrOF2IsahY9o4MANtaJEjqABrhD1SqwIILGH9A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8706,8 +8711,8 @@ packages: postcss: 8.4.35 dev: false - /postcss-discard-duplicates@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg==} + /postcss-discard-duplicates@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-U2rsj4w6pAGROCCcD13LP2eBIi1whUsXs4kgE6xkIuGfkbxCBSKhkCTWyowFd66WdVlLv0uM1euJKIgmdmZObg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8715,8 +8720,8 @@ packages: postcss: 8.4.35 dev: false - /postcss-discard-empty@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg==} + /postcss-discard-empty@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-rj6pVC2dVCJrP0Y2RkYTQEbYaCf4HEm+R/2StQgJqGHxAa3+KcYslNQhcRqjLHtl/4wpzipJluaJLqBj6d5eDQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -10852,7 +10857,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.0.2(@types/node@20.11.19): + /vite-node@1.0.2(@types/node@20.11.20): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10861,7 +10866,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.20) transitivePeerDependencies: - '@types/node' - less @@ -10892,6 +10897,27 @@ packages: - sugarss - supports-color - terser + dev: true + + /vite-node@1.3.1(@types/node@20.11.20): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.20) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser /vite-plugin-checker@0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} @@ -10937,7 +10963,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.20) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11024,6 +11050,41 @@ packages: optionalDependencies: fsevents: 2.3.3 + /vite@5.1.4(@types/node@20.11.20): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.20 + esbuild: 0.19.11 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: @@ -11044,7 +11105,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.19)(happy-dom@13.4.1): + /vitest@1.0.2(@types/node@20.11.20)(happy-dom@13.4.1): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11069,7 +11130,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11089,8 +11150,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.19) - vite-node: 1.0.2(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.20) + vite-node: 1.0.2(@types/node@20.11.20) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11159,6 +11220,63 @@ packages: - terser dev: true + /vitest@1.3.1(@types/node@20.11.20)(happy-dom@13.4.1): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.11.20 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + happy-dom: 13.4.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.5.1 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.20) + vite-node: 1.3.1(@types/node@20.11.20) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} From 5e5e96992cb977e2b88b372353511ab7b4ba3b32 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 23 Feb 2024 14:08:01 +0000 Subject: [PATCH 147/470] chore: use consistent quotes/semi --- packages/nuxt/src/app/types/augments.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/types/augments.d.ts b/packages/nuxt/src/app/types/augments.d.ts index 47fbbf1e23..e9ea30b927 100644 --- a/packages/nuxt/src/app/types/augments.d.ts +++ b/packages/nuxt/src/app/types/augments.d.ts @@ -1,4 +1,4 @@ -import type { UseHeadInput } from "@unhead/vue"; +import type { UseHeadInput } from '@unhead/vue' import type { NuxtApp, useNuxtApp } from '../nuxt' interface NuxtStaticBuildFlags { From 39a04ebcd9ad48afc28585eeb610af9f2dcd84c1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 24 Feb 2024 10:11:43 +0000 Subject: [PATCH 148/470] chore(deps): update all non-major dependencies (main) (#25935) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- package.json | 4 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 4 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 292 +++++++++++++++++----------------- 7 files changed, 154 insertions(+), 154 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13d0ae4ba2..a6f9d36556 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -261,7 +261,7 @@ jobs: TEST_CONTEXT: ${{ matrix.context }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || runner.os == 'Windows' }} - - uses: codecov/codecov-action@e0b68c6749509c5f83f984dd99a76a1c1a231044 # v4.0.1 + - uses: codecov/codecov-action@0cfda1dd0a4ad9efc75517f399d859cd1ea4ced1 # v4.0.2 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 }} diff --git a/package.json b/package.json index a99a87ec73..aa4746af66 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "changelogen": "0.5.5", "consola": "3.2.3", "devalue": "4.3.2", - "eslint": "8.56.0", + "eslint": "8.57.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-jsdoc": "48.2.0", "eslint-plugin-no-only-tests": "3.1.0", @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.10.2", - "happy-dom": "13.4.1", + "happy-dom": "13.5.0", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.8.1", diff --git a/packages/kit/package.json b/packages/kit/package.json index a74b1bf114..4756851b86 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -35,7 +35,7 @@ "ignore": "^5.3.1", "jiti": "^1.21.0", "knitwork": "^1.0.0", - "mlly": "^1.6.0", + "mlly": "^1.6.1", "pathe": "^1.1.2", "pkg-types": "^1.0.3", "scule": "^1.3.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index d652111991..faef1eb668 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -88,7 +88,7 @@ "klona": "^2.0.6", "knitwork": "^1.0.0", "magic-string": "^0.30.7", - "mlly": "^1.6.0", + "mlly": "^1.6.1", "nitropack": "^2.8.1", "nuxi": "^3.10.1", "nypm": "^0.3.6", @@ -116,7 +116,7 @@ "vue-router": "^4.3.0" }, "devDependencies": { - "@parcel/watcher": "2.4.0", + "@parcel/watcher": "2.4.1", "@types/estree": "1.0.5", "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", diff --git a/packages/vite/package.json b/packages/vite/package.json index 3517e5c2a0..cf87131fc3 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -50,7 +50,7 @@ "h3": "^1.10.2", "knitwork": "^1.0.0", "magic-string": "^0.30.7", - "mlly": "^1.6.0", + "mlly": "^1.6.1", "ohash": "^1.1.3", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 8b7325328d..7a9f4bde7c 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -44,7 +44,7 @@ "magic-string": "^0.30.7", "memfs": "^4.7.7", "mini-css-extract-plugin": "^2.8.0", - "mlly": "^1.6.0", + "mlly": "^1.6.1", "ohash": "^1.1.3", "pathe": "^1.1.2", "pify": "^6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f525e7f2e..e8149fcf49 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,13 +24,13 @@ importers: version: 3.1.0(vite@5.1.4)(vitest@1.3.1) '@nuxt/eslint-config': specifier: 0.2.0 - version: 0.2.0(eslint@8.56.0) + version: 0.2.0(eslint@8.57.0) '@nuxt/kit': specifier: workspace:* version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -65,20 +65,20 @@ importers: specifier: 4.3.2 version: 4.3.2 eslint: - specifier: 8.56.0 - version: 8.56.0 + specifier: 8.57.0 + version: 8.57.0 eslint-plugin-import: specifier: 2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0) eslint-plugin-jsdoc: specifier: 48.2.0 - version: 48.2.0(eslint@8.56.0) + version: 48.2.0(eslint@8.57.0) eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 eslint-plugin-unicorn: specifier: 51.0.1 - version: 51.0.1(eslint@8.56.0) + version: 51.0.1(eslint@8.57.0) execa: specifier: 8.0.1 version: 8.0.1 @@ -92,8 +92,8 @@ importers: specifier: 1.10.2 version: 1.10.2 happy-dom: - specifier: 13.4.1 - version: 13.4.1 + specifier: 13.5.0 + version: 13.5.0 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,16 +138,16 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) + version: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) vue: specifier: 3.4.19 version: 3.4.19(typescript@5.3.3) vue-eslint-parser: specifier: 9.4.2 - version: 9.4.2(eslint@8.56.0) + version: 9.4.2(eslint@8.57.0) vue-router: specifier: 4.3.0 version: 4.3.0(vue@3.4.19) @@ -185,8 +185,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 mlly: - specifier: ^1.6.0 - version: 1.6.0 + specifier: ^1.6.1 + version: 1.6.1 pathe: specifier: ^1.1.2 version: 1.1.2 @@ -235,7 +235,7 @@ importers: version: 5.1.4(@types/node@20.11.20) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) + version: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) webpack: specifier: 5.90.3 version: 5.90.3 @@ -333,8 +333,8 @@ importers: specifier: ^0.30.7 version: 0.30.7 mlly: - specifier: ^1.6.0 - version: 1.6.0 + specifier: ^1.6.1 + version: 1.6.1 nitropack: specifier: ^2.8.1 version: 2.8.1 @@ -412,8 +412,8 @@ importers: version: 4.3.0(vue@3.4.19) devDependencies: '@parcel/watcher': - specifier: 2.4.0 - version: 2.4.0 + specifier: 2.4.1 + version: 2.4.1 '@types/estree': specifier: 1.0.5 version: 1.0.5 @@ -431,7 +431,7 @@ importers: version: 5.1.4(@types/node@20.11.19) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.19)(happy-dom@13.4.1) + version: 1.3.1(@types/node@20.11.19)(happy-dom@13.5.0) packages/schema: dependencies: @@ -599,8 +599,8 @@ importers: specifier: ^0.30.7 version: 0.30.7 mlly: - specifier: ^1.6.0 - version: 1.6.0 + specifier: ^1.6.1 + version: 1.6.1 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -642,7 +642,7 @@ importers: version: 1.3.1(@types/node@20.11.20) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) + version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -726,8 +726,8 @@ importers: specifier: ^2.8.0 version: 2.8.0(webpack@5.90.3) mlly: - specifier: ^1.6.0 - version: 1.6.0 + specifier: ^1.6.1 + version: 1.6.1 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -865,7 +865,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.20)(happy-dom@13.4.1) + version: 1.0.2(@types/node@20.11.20)(happy-dom@13.5.0) vue: specifier: 3.4.19 version: 3.4.19(typescript@5.3.3) @@ -1266,7 +1266,7 @@ packages: dependencies: '@codspeed/core': 3.1.0 vite: 5.1.4(@types/node@20.11.20) - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) transitivePeerDependencies: - debug dev: true @@ -1874,13 +1874,13 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.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 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.9.1: @@ -1903,8 +1903,8 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@fastify/busboy@2.0.0: @@ -1927,11 +1927,11 @@ packages: resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} dev: true - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -1941,8 +1941,8 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} /@ioredis/commands@1.2.0: resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} @@ -2231,16 +2231,16 @@ packages: - utf-8-validate dev: false - /@nuxt/eslint-config@0.2.0(eslint@8.56.0): + /@nuxt/eslint-config@0.2.0(eslint@8.57.0): resolution: {integrity: sha512-NeJX8TLcnNAjQFiDs3XhP+9CHKK8jaKsP7eUyCSrQdgY7nqWe7VJx64lwzx5FTT4cW3RHMEyH+Y0qzLGYYoa/A==} peerDependencies: eslint: ^8.48.0 dependencies: '@rushstack/eslint-patch': 1.5.1 - '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.8.0(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 - eslint-plugin-vue: 9.17.0(eslint@8.56.0) + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 + eslint-plugin-vue: 9.17.0(eslint@8.57.0) typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -2281,7 +2281,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2331,7 +2331,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.10.2 - happy-dom: 13.4.1 + happy-dom: 13.5.0 local-pkg: 0.5.0 magic-string: 0.30.7 node-fetch-native: 1.6.1 @@ -2346,8 +2346,8 @@ packages: unenv: 1.9.0 unplugin: 1.7.1 vite: 5.1.4(@types/node@20.11.20) - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) vue: 3.4.19(typescript@5.3.3) vue-router: 4.3.0(vue@3.4.19) dev: true @@ -2402,72 +2402,72 @@ packages: resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} dev: true - /@parcel/watcher-android-arm64@2.4.0: - resolution: {integrity: sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==} + /@parcel/watcher-android-arm64@2.4.1: + resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@parcel/watcher-darwin-arm64@2.4.0: - resolution: {integrity: sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==} + /@parcel/watcher-darwin-arm64@2.4.1: + resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@parcel/watcher-darwin-x64@2.4.0: - resolution: {integrity: sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==} + /@parcel/watcher-darwin-x64@2.4.1: + resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@parcel/watcher-freebsd-x64@2.4.0: - resolution: {integrity: sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==} + /@parcel/watcher-freebsd-x64@2.4.1: + resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /@parcel/watcher-linux-arm-glibc@2.4.0: - resolution: {integrity: sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==} + /@parcel/watcher-linux-arm-glibc@2.4.1: + resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@parcel/watcher-linux-arm64-glibc@2.4.0: - resolution: {integrity: sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==} + /@parcel/watcher-linux-arm64-glibc@2.4.1: + resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@parcel/watcher-linux-arm64-musl@2.4.0: - resolution: {integrity: sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==} + /@parcel/watcher-linux-arm64-musl@2.4.1: + resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@parcel/watcher-linux-x64-glibc@2.4.0: - resolution: {integrity: sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==} + /@parcel/watcher-linux-x64-glibc@2.4.1: + resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@parcel/watcher-linux-x64-musl@2.4.0: - resolution: {integrity: sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==} + /@parcel/watcher-linux-x64-musl@2.4.1: + resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] @@ -2483,32 +2483,32 @@ packages: bundledDependencies: - napi-wasm - /@parcel/watcher-win32-arm64@2.4.0: - resolution: {integrity: sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==} + /@parcel/watcher-win32-arm64@2.4.1: + resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@parcel/watcher-win32-ia32@2.4.0: - resolution: {integrity: sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==} + /@parcel/watcher-win32-ia32@2.4.1: + resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@parcel/watcher-win32-x64@2.4.0: - resolution: {integrity: sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==} + /@parcel/watcher-win32-x64@2.4.1: + resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@parcel/watcher@2.4.0: - resolution: {integrity: sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==} + /@parcel/watcher@2.4.1: + resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} engines: {node: '>= 10.0.0'} dependencies: detect-libc: 1.0.3 @@ -2516,18 +2516,18 @@ packages: micromatch: 4.0.5 node-addon-api: 7.0.0 optionalDependencies: - '@parcel/watcher-android-arm64': 2.4.0 - '@parcel/watcher-darwin-arm64': 2.4.0 - '@parcel/watcher-darwin-x64': 2.4.0 - '@parcel/watcher-freebsd-x64': 2.4.0 - '@parcel/watcher-linux-arm-glibc': 2.4.0 - '@parcel/watcher-linux-arm64-glibc': 2.4.0 - '@parcel/watcher-linux-arm64-musl': 2.4.0 - '@parcel/watcher-linux-x64-glibc': 2.4.0 - '@parcel/watcher-linux-x64-musl': 2.4.0 - '@parcel/watcher-win32-arm64': 2.4.0 - '@parcel/watcher-win32-ia32': 2.4.0 - '@parcel/watcher-win32-x64': 2.4.0 + '@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 /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -3146,7 +3146,7 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3158,13 +3158,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.8.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.8.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.8.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.8.0 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -3175,7 +3175,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.8.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.8.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3190,7 +3190,7 @@ packages: '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.8.0 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -3204,7 +3204,7 @@ packages: '@typescript-eslint/visitor-keys': 6.8.0 dev: true - /@typescript-eslint/type-utils@6.8.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@6.8.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3215,9 +3215,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.8.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -3250,19 +3250,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.8.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.7 '@typescript-eslint/scope-manager': 6.8.0 '@typescript-eslint/types': 6.8.0 '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) - eslint: 8.56.0 + eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: - supports-color @@ -3389,7 +3389,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.4.1) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) transitivePeerDependencies: - supports-color dev: true @@ -4197,7 +4197,7 @@ packages: dotenv: 16.4.1 giget: 1.2.1 jiti: 1.21.0 - mlly: 1.6.0 + mlly: 1.6.1 ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -5386,7 +5386,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5407,15 +5407,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.3.3) debug: 3.2.7 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -5425,16 +5425,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -5450,7 +5450,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@48.2.0(eslint@8.56.0): + /eslint-plugin-jsdoc@48.2.0(eslint@8.57.0): resolution: {integrity: sha512-O2B1XLBJnUCRkggFzUQ+PBYJDit8iAgXdlu8ucolqGrbmOWPvttZQZX8d1sC0MbqDMSLs8SHSQxaNPRY1RQREg==} engines: {node: '>=18'} peerDependencies: @@ -5461,7 +5461,7 @@ packages: comment-parser: 1.4.1 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 8.56.0 + eslint: 8.57.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.6.0 @@ -5475,19 +5475,19 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-unicorn@51.0.1(eslint@8.56.0): + /eslint-plugin-unicorn@51.0.1(eslint@8.57.0): resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.56.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.34.0 - eslint: 8.56.0 + eslint: 8.57.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -5502,19 +5502,19 @@ packages: - supports-color dev: true - /eslint-plugin-vue@9.17.0(eslint@8.56.0): + /eslint-plugin-vue@9.17.0(eslint@8.57.0): resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - eslint: 8.56.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.15 semver: 7.6.0 - vue-eslint-parser: 9.4.2(eslint@8.56.0) + vue-eslint-parser: 9.4.2(eslint@8.57.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -5538,16 +5538,16 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.9.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -5686,7 +5686,7 @@ packages: resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} dependencies: enhanced-resolve: 5.15.0 - mlly: 1.6.0 + mlly: 1.6.1 pathe: 1.1.2 ufo: 1.4.0 dev: false @@ -6191,8 +6191,8 @@ packages: uncrypto: 0.1.3 unenv: 1.9.0 - /happy-dom@13.4.1: - resolution: {integrity: sha512-jSDMlBd+pCytrEOtC2N0IUyIYz1hkjpGGp+C8o80QPXhiAC0RY/koVCwdz3Y4dJNNENDOnzyk/k2i5El6q+vAg==} + /happy-dom@13.5.0: + resolution: {integrity: sha512-0XWOSvyc03Z2Ye+VGP5pN6fpwgKMy3a2d09RuGRqAR4TEaW0SCtw3upt7dLoKaYBFUO+JeuDJh366aDBat3OVQ==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -7056,7 +7056,7 @@ packages: resolution: {integrity: sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==} hasBin: true dependencies: - '@parcel/watcher': 2.4.0 + '@parcel/watcher': 2.4.1 '@parcel/watcher-wasm': 2.3.0 citty: 0.1.5 clipboardy: 3.0.0 @@ -7066,7 +7066,7 @@ packages: h3: 1.10.2 http-shutdown: 1.2.2 jiti: 1.21.0 - mlly: 1.6.0 + mlly: 1.6.1 node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 @@ -7104,7 +7104,7 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.6.0 + mlly: 1.6.1 pkg-types: 1.0.3 /locate-path@5.0.0: @@ -7915,14 +7915,14 @@ packages: fs-extra: 11.2.0 globby: 13.2.2 jiti: 1.21.0 - mlly: 1.6.0 + mlly: 1.6.1 mri: 1.2.0 pathe: 1.1.2 typescript: 5.3.3 dev: true - /mlly@1.6.0: - resolution: {integrity: sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ==} + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} dependencies: acorn: 8.11.3 pathe: 1.1.2 @@ -8021,7 +8021,7 @@ packages: listhen: 1.5.5 magic-string: 0.30.7 mime: 3.0.0 - mlly: 1.6.0 + mlly: 1.6.1 mri: 1.2.0 node-fetch-native: 1.6.1 ofetch: 1.3.3 @@ -8653,7 +8653,7 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.1 - mlly: 1.6.0 + mlly: 1.6.1 pathe: 1.1.2 /playwright-core@1.41.2: @@ -10497,7 +10497,7 @@ packages: jiti: 1.21.0 magic-string: 0.30.7 mkdist: 1.3.0(typescript@5.3.3) - mlly: 1.6.0 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 @@ -10580,7 +10580,7 @@ packages: fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.7 - mlly: 1.6.0 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.3.0 @@ -10662,7 +10662,7 @@ packages: fast-glob: 3.3.2 json5: 2.2.3 local-pkg: 0.4.3 - mlly: 1.6.0 + mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 unplugin: 1.7.1 @@ -10766,7 +10766,7 @@ packages: resolution: {integrity: sha512-+s4iWvHHYnLuwNo+9mqVFLBmBzGc3gIuzkVZ8fdMN9K/kWopCnfaUVnDagd2OX3It5nRR5EenI5nSQb8FOd0fA==} dependencies: magic-string: 0.30.7 - mlly: 1.6.0 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 unplugin: 1.7.1 @@ -10919,7 +10919,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -10955,7 +10955,7 @@ packages: chalk: 4.1.2 chokidar: 3.6.0 commander: 8.3.0 - eslint: 8.56.0 + eslint: 8.57.0 fast-glob: 3.3.2 fs-extra: 11.2.0 npm-run-path: 4.0.1 @@ -11085,10 +11085,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.4.1)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11105,7 +11105,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.20)(happy-dom@13.4.1): + /vitest@1.0.2(@types/node@20.11.20)(happy-dom@13.5.0): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11141,7 +11141,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.4.1 + happy-dom: 13.5.0 local-pkg: 0.5.0 magic-string: 0.30.7 pathe: 1.1.2 @@ -11163,7 +11163,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.19)(happy-dom@13.4.1): + /vitest@1.3.1(@types/node@20.11.19)(happy-dom@13.5.0): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11198,7 +11198,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.4.1 + happy-dom: 13.5.0 local-pkg: 0.5.0 magic-string: 0.30.7 pathe: 1.1.2 @@ -11220,7 +11220,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.20)(happy-dom@13.4.1): + /vitest@1.3.1(@types/node@20.11.20)(happy-dom@13.5.0): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11255,7 +11255,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.4.1 + happy-dom: 13.5.0 local-pkg: 0.5.0 magic-string: 0.30.7 pathe: 1.1.2 @@ -11335,14 +11335,14 @@ packages: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} dev: false - /vue-eslint-parser@9.4.2(eslint@8.56.0): + /vue-eslint-parser@9.4.2(eslint@8.57.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 From 36e77c88576e8e27926036d627099d030d258edc Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 24 Feb 2024 16:04:54 +0000 Subject: [PATCH 149/470] chore: add tea.yml (experimental) --- tea.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tea.yml diff --git a/tea.yml b/tea.yml new file mode 100644 index 0000000000..f2d37b29cb --- /dev/null +++ b/tea.yml @@ -0,0 +1,7 @@ +# https://tea.xyz/what-is-this-file +--- +version: 1.0.0 +codeOwners: + - '0xBb533C940878fdBa9E5434d659e05dAbEc4EC423' +quorum: 1 + From 88eff08a0ffbf8043a69f94e201909fcf9d10e0d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 25 Feb 2024 09:54:45 +0000 Subject: [PATCH 150/470] chore(deps): update all non-major dependencies (main) (#25939) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- packages/kit/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 140 +++++++++++++++++++++------------- 5 files changed, 90 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index aa4746af66..d221620c7d 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@testing-library/vue": "8.0.2", "@types/fs-extra": "11.0.4", "@types/node": "20.11.20", - "@types/semver": "7.5.7", + "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.3.1", "@vue/test-utils": "2.4.4", "case-police": "0.6.1", @@ -90,7 +90,7 @@ "vue-router": "4.3.0", "vue-tsc": "1.8.27" }, - "packageManager": "pnpm@8.15.3", + "packageManager": "pnpm@8.15.4", "engines": { "node": "^14.18.0 || >=16.10.0" }, diff --git a/packages/kit/package.json b/packages/kit/package.json index 4756851b86..1c9f641547 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -48,7 +48,7 @@ "devDependencies": { "@types/hash-sum": "1.0.2", "@types/lodash-es": "4.17.12", - "@types/semver": "7.5.7", + "@types/semver": "7.5.8", "lodash-es": "4.17.21", "nitropack": "2.8.1", "unbuild": "latest", diff --git a/packages/vite/package.json b/packages/vite/package.json index cf87131fc3..f7b10ce57c 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -39,7 +39,7 @@ "autoprefixer": "^10.4.17", "clear": "^0.1.0", "consola": "^3.2.3", - "cssnano": "^6.0.4", + "cssnano": "^6.0.5", "defu": "^6.1.4", "esbuild": "^0.20.1", "escape-string-regexp": "^5.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 7a9f4bde7c..c64c37633d 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.17", "css-loader": "^6.10.0", "css-minimizer-webpack-plugin": "^6.0.0", - "cssnano": "^6.0.4", + "cssnano": "^6.0.5", "defu": "^6.1.4", "esbuild-loader": "^4.0.3", "escape-string-regexp": "^5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8149fcf49..147963b788 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,8 +44,8 @@ importers: specifier: 20.11.20 version: 20.11.20 '@types/semver': - specifier: 7.5.7 - version: 7.5.7 + specifier: 7.5.8 + version: 7.5.8 '@vitest/coverage-v8': specifier: 1.3.1 version: 1.3.1(vitest@1.3.1) @@ -219,8 +219,8 @@ importers: specifier: 4.17.12 version: 4.17.12 '@types/semver': - specifier: 7.5.7 - version: 7.5.7 + specifier: 7.5.8 + version: 7.5.8 lodash-es: specifier: 4.17.21 version: 4.17.21 @@ -566,8 +566,8 @@ importers: specifier: ^3.2.3 version: 3.2.3 cssnano: - specifier: ^6.0.4 - version: 6.0.4(postcss@8.4.35) + specifier: ^6.0.5 + version: 6.0.5(postcss@8.4.35) defu: specifier: ^6.1.4 version: 6.1.4 @@ -684,8 +684,8 @@ importers: specifier: ^6.0.0 version: 6.0.0(webpack@5.90.3) cssnano: - specifier: ^6.0.4 - version: 6.0.4(postcss@8.4.35) + specifier: ^6.0.5 + version: 6.0.5(postcss@8.4.35) defu: specifier: ^6.1.4 version: 6.1.4 @@ -3059,8 +3059,8 @@ packages: sass: 1.69.4 dev: true - /@types/semver@7.5.7: - resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==} + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true /@types/source-list-map@0.1.4: @@ -3258,7 +3258,7 @@ packages: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.14 - '@types/semver': 7.5.7 + '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.8.0 '@typescript-eslint/types': 6.8.0 '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) @@ -4166,6 +4166,17 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001589 + electron-to-chromium: 1.4.681 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: false + /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -4265,7 +4276,7 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 caniuse-lite: 1.0.30001578 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 @@ -4274,6 +4285,10 @@ packages: /caniuse-lite@1.0.30001578: resolution: {integrity: sha512-J/jkFgsQ3NEl4w2lCoM9ZPxrD+FoBNJ7uJUpGVjIg/j0OwJosWM36EPDv+Yyi0V4twBk9pPmlFS+PLykgEvUmg==} + /caniuse-lite@1.0.30001589: + resolution: {integrity: sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==} + dev: false + /case-police@0.6.1: resolution: {integrity: sha512-tOgkG3HhtzNVHU+HVHqbpVJ3CICPDihtlgoM2C4dx0RLeo6qcNVeBgiYJN5Bln+stxKrnKrw89CFgqYQDqwZQg==} hasBin: true @@ -4682,7 +4697,7 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.21 - cssnano: 6.0.4(postcss@8.4.35) + cssnano: 6.0.5(postcss@8.4.35) jest-worker: 29.7.0 postcss: 8.4.35 schema-utils: 4.2.0 @@ -4726,8 +4741,8 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.0.4(postcss@8.4.35): - resolution: {integrity: sha512-mvyBIFHaFA4lkBwePlB9Gycnf/rgFQRKcP/yHG/tbD0ZuIdCDSF1GoL4QC4gcp8qaJOkmVmb0mCXMR6Wi4Da0A==} + /cssnano-preset-default@6.0.5(postcss@8.4.35): + resolution: {integrity: sha512-M+qRDEr5QZrfNl0B2ySdbTLGyNb8kBcSjuwR7WBamYBOEREH9t2efnB/nblekqhdGLZdkf4oZNetykG2JWRdZQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -4736,17 +4751,17 @@ packages: cssnano-utils: 4.0.1(postcss@8.4.35) postcss: 8.4.35 postcss-calc: 9.0.1(postcss@8.4.35) - postcss-colormin: 6.0.2(postcss@8.4.35) - postcss-convert-values: 6.0.3(postcss@8.4.35) + postcss-colormin: 6.0.3(postcss@8.4.35) + postcss-convert-values: 6.0.4(postcss@8.4.35) postcss-discard-comments: 6.0.1(postcss@8.4.35) postcss-discard-duplicates: 6.0.2(postcss@8.4.35) postcss-discard-empty: 6.0.2(postcss@8.4.35) postcss-discard-overridden: 6.0.1(postcss@8.4.35) - postcss-merge-longhand: 6.0.2(postcss@8.4.35) - postcss-merge-rules: 6.0.3(postcss@8.4.35) - postcss-minify-font-values: 6.0.1(postcss@8.4.35) - postcss-minify-gradients: 6.0.1(postcss@8.4.35) - postcss-minify-params: 6.0.2(postcss@8.4.35) + postcss-merge-longhand: 6.0.3(postcss@8.4.35) + postcss-merge-rules: 6.0.4(postcss@8.4.35) + postcss-minify-font-values: 6.0.2(postcss@8.4.35) + postcss-minify-gradients: 6.0.2(postcss@8.4.35) + postcss-minify-params: 6.0.3(postcss@8.4.35) postcss-minify-selectors: 6.0.2(postcss@8.4.35) postcss-normalize-charset: 6.0.1(postcss@8.4.35) postcss-normalize-display-values: 6.0.1(postcss@8.4.35) @@ -4754,11 +4769,11 @@ packages: postcss-normalize-repeat-style: 6.0.1(postcss@8.4.35) postcss-normalize-string: 6.0.1(postcss@8.4.35) postcss-normalize-timing-functions: 6.0.1(postcss@8.4.35) - postcss-normalize-unicode: 6.0.2(postcss@8.4.35) + postcss-normalize-unicode: 6.0.3(postcss@8.4.35) postcss-normalize-url: 6.0.1(postcss@8.4.35) postcss-normalize-whitespace: 6.0.1(postcss@8.4.35) postcss-ordered-values: 6.0.1(postcss@8.4.35) - postcss-reduce-initial: 6.0.2(postcss@8.4.35) + postcss-reduce-initial: 6.0.3(postcss@8.4.35) postcss-reduce-transforms: 6.0.1(postcss@8.4.35) postcss-svgo: 6.0.2(postcss@8.4.35) postcss-unique-selectors: 6.0.2(postcss@8.4.35) @@ -4773,13 +4788,13 @@ packages: postcss: 8.4.35 dev: false - /cssnano@6.0.4(postcss@8.4.35): - resolution: {integrity: sha512-Bp607LopXmwV9TPUxw76yvcvRk4AYrrtHtLsndAnSWUwT4xgaiC6Eaa44cZ6ciu9J7Sqv9zocMTDcyQnU4dihw==} + /cssnano@6.0.5(postcss@8.4.35): + resolution: {integrity: sha512-tpTp/ukgrElwu3ESFY4IvWnGn8eTt8cJhC2aAbtA3lvUlxp6t6UPv8YCLjNnEGiFreT1O0LiOM1U3QyTBVFl2A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.0.4(postcss@8.4.35) + cssnano-preset-default: 6.0.5(postcss@8.4.35) lilconfig: 3.1.1 postcss: 8.4.35 dev: false @@ -5078,6 +5093,10 @@ packages: /electron-to-chromium@1.4.615: resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==} + /electron-to-chromium@1.4.681: + resolution: {integrity: sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==} + dev: false + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -8678,26 +8697,26 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==} + /postcss-colormin@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-ECpkS+UZRyAtu/kjive2/1mihP+GNtgC8kcdU8ueWZi1ZVxMNnRziCLdhrWECJhEtSWijfX2Cl9XTTCK/hjGaA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-Tj+VH3GtQxvBVX6hhggIUaAMLDbqoHgsAFeZ8iCOD03hnho+wrOF2IsahY9o4MANtaJEjqABrhD1SqwIILGH9A==} + /postcss-convert-values@6.0.4(postcss@8.4.35): + resolution: {integrity: sha512-YT2yrGzPXoQD3YeA2kBo/696qNwn7vI+15AOS2puXWEvSWqdCqlOyDWRy5GNnOc9ACRGOkuQ4ESQEqPJBWt/GA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: false @@ -8778,32 +8797,32 @@ packages: - typescript dev: false - /postcss-merge-longhand@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==} + /postcss-merge-longhand@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-kF/y3DU8CRt+SX3tP/aG+2gkZI2Z7OXDsPU7FgxIJmuyhQQ1EHceIYcsp/alvzCm2P4c37Sfdu8nNrHc+YeyLg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: postcss: 8.4.35 postcss-value-parser: 4.2.0 - stylehacks: 6.0.2(postcss@8.4.35) + stylehacks: 6.0.3(postcss@8.4.35) dev: false - /postcss-merge-rules@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==} + /postcss-merge-rules@6.0.4(postcss@8.4.35): + resolution: {integrity: sha512-97iF3UJ5v8N1BWy38y+0l+Z8o5/9uGlEgtWic2PJPzoRrLB6Gxg8TVG93O0EK52jcLeMsywre26AUlX1YAYeHA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 caniuse-api: 3.0.0 cssnano-utils: 4.0.1(postcss@8.4.35) postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: false - /postcss-minify-font-values@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w==} + /postcss-minify-font-values@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-IedzbVMoX0a7VZWjSYr5qJ6C37rws8kl8diPBeMZLJfWKkgXuMFY5R/OxPegn/q9tK9ztd0XRH3aR0u2t+A7uQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8812,8 +8831,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w==} + /postcss-minify-gradients@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-vP5mF7iI6/5fcpv+rSfwWQekOE+8I1i7/7RjZPGuIjj6eUaZVeG4XZYZrroFuw1WQd51u2V32wyQFZ+oYdE7CA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8824,13 +8843,13 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==} + /postcss-minify-params@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-j4S74d3AAeCK5eGdQndXSrkxusV2ekOxbXGnlnZthMyZBBvSDiU34CihTASbJxuVB3bugudmwolS7+Dgs5OyOQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 cssnano-utils: 4.0.1(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 @@ -8946,13 +8965,13 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==} + /postcss-normalize-unicode@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-T2Bb3gXz0ASgc3ori2dzjv6j/P2IantreaC6fT8tWjqYUiqMAh5jGIkdPwEV2FaucjQlCLeFJDJh2BeSugE1ig==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: false @@ -8988,13 +9007,13 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==} + /postcss-reduce-initial@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-w4QIR9pEa1N4xMx3k30T1vLZl6udVK2RmNqrDXhBXX9L0mBj2a8ADs8zkbaEH7eUy1m30Wyr5EBgHN31Yq1JvA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 caniuse-api: 3.0.0 postcss: 8.4.35 dev: false @@ -10124,13 +10143,13 @@ packages: dependencies: js-tokens: 8.0.2 - /stylehacks@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==} + /stylehacks@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-KzBqjnqktc8/I0ERCb+lGq06giF/JxDbw2r9kEVhen9noHeIDRtMWUp9r62sOk+/2bbX6sFG1GhsS7ToXG0PEg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: false @@ -10782,6 +10801,17 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: false + /uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} From 0a8c3444a563f3c6559ad64ea61f01743ceee9ac Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sun, 25 Feb 2024 10:08:46 +0000 Subject: [PATCH 151/470] ci: skip checking stackoverflow link --- lychee.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lychee.toml b/lychee.toml index 22f73e611a..a1d4196550 100644 --- a/lychee.toml +++ b/lychee.toml @@ -9,7 +9,7 @@ max_retries = 6 # Explicitly exclude some URLs exclude = [ "https://twitter.nuxt.dev/", - "https://github.com/nuxt/nuxt.com", "https://github.com/nuxt/translations/discussions/4", - '(https?:\/\/github\.com\/)(.*\/)(generate)' + "https://stackoverflow.com/help/minimal-reproducible-example", + "(https?:\/\/github\.com\/)(.*\/)(generate)", ] From be85a72f993bed00d035ad2a4b640207d6e43bf9 Mon Sep 17 00:00:00 2001 From: Victor Ribeiro <devjvribeiro@gmail.com> Date: Mon, 26 Feb 2024 04:13:55 -0300 Subject: [PATCH 152/470] docs: mention when `useId` composable was introduced (#25953) --- docs/3.api/2.composables/use-id.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/3.api/2.composables/use-id.md b/docs/3.api/2.composables/use-id.md index acaf6e0c24..9cd649696b 100644 --- a/docs/3.api/2.composables/use-id.md +++ b/docs/3.api/2.composables/use-id.md @@ -3,6 +3,10 @@ title: "useId" description: Generate an SSR-friendly unique identifier that can be passed to accessibility attributes. --- +::important +This composable is available since [Nuxt v3.10](/v3-10#ssr-safe-accessible-unique-id-creation). +:: + `useId` generates an SSR-friendly unique identifier that can be passed to accessibility attributes. Call `useId` at the top level of your component to generate a unique string identifier: From ff1bb56e3f90472ff7aae69b214e21197c78400b Mon Sep 17 00:00:00 2001 From: Michael Brevard <yonshi29@gmail.com> Date: Mon, 26 Feb 2024 18:08:45 +0200 Subject: [PATCH 153/470] perf: early return chained functions with falsy values (#25647) --- packages/kit/src/compatibility.ts | 6 ++-- packages/kit/src/loader/nuxt.ts | 2 +- .../src/app/components/nuxt-error-page.vue | 32 ++++++++++--------- packages/nuxt/src/core/app.ts | 2 +- packages/nuxt/src/core/nitro.ts | 16 ++++++---- packages/nuxt/src/core/plugins/dev-only.ts | 3 +- packages/nuxt/src/core/plugins/tree-shake.ts | 2 +- packages/nuxt/src/core/utils/names.ts | 2 +- packages/nuxt/src/head/runtime/components.ts | 8 ++--- packages/nuxt/src/pages/module.ts | 18 ++++++----- packages/vite/src/plugins/ssr-styles.ts | 2 ++ packages/vite/src/utils/warmup.ts | 2 +- test/basic.test.ts | 1 + 13 files changed, 52 insertions(+), 44 deletions(-) diff --git a/packages/kit/src/compatibility.ts b/packages/kit/src/compatibility.ts index d1d7e50fda..d3d6e55875 100644 --- a/packages/kit/src/compatibility.ts +++ b/packages/kit/src/compatibility.ts @@ -89,9 +89,9 @@ export function isNuxt3 (nuxt: Nuxt = useNuxt()) { * Get nuxt version */ export function getNuxtVersion (nuxt: Nuxt | any = useNuxt() /* TODO: LegacyNuxt */) { - const version = (nuxt?._version || nuxt?.version || nuxt?.constructor?.version || '').replace(/^v/g, '') - if (!version) { + const rawVersion = nuxt?._version || nuxt?.version || nuxt?.constructor?.version + if (!rawVersion) { throw new Error('Cannot determine nuxt version! Is current instance passed?') } - return version + return rawVersion.replace(/^v/g, '') } diff --git a/packages/kit/src/loader/nuxt.ts b/packages/kit/src/loader/nuxt.ts index aaec491fae..ab02f1bd5b 100644 --- a/packages/kit/src/loader/nuxt.ts +++ b/packages/kit/src/loader/nuxt.ts @@ -33,7 +33,7 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise<Nuxt> { throw new Error(`Cannot find any nuxt version from ${opts.cwd}`) } const pkg = await readPackageJSON(nearestNuxtPkg) - const majorVersion = parseInt((pkg.version || '').split('.')[0]) + const majorVersion = pkg.version ? parseInt(pkg.version.split('.')[0]) : '' const rootDir = pathToFileURL(opts.cwd || process.cwd()).href diff --git a/packages/nuxt/src/app/components/nuxt-error-page.vue b/packages/nuxt/src/app/components/nuxt-error-page.vue index d3fa6e2636..50308e6604 100644 --- a/packages/nuxt/src/app/components/nuxt-error-page.vue +++ b/packages/nuxt/src/app/components/nuxt-error-page.vue @@ -13,21 +13,23 @@ const props = defineProps({ const _error = props.error // TODO: extract to a separate utility -const stacktrace = (_error.stack || '') - .split('\n') - .splice(1) - .map((line) => { - const text = line - .replace('webpack:/', '') - .replace('.vue', '.js') // TODO: Support sourcemap - .trim() - return { - text, - internal: (line.includes('node_modules') && !line.includes('.cache')) || - line.includes('internal') || - line.includes('new Promise') - } - }).map(i => `<span class="stack${i.internal ? ' internal' : ''}">${i.text}</span>`).join('\n') +const stacktrace = _error.stack + ? _error.stack + .split('\n') + .splice(1) + .map((line) => { + const text = line + .replace('webpack:/', '') + .replace('.vue', '.js') // TODO: Support sourcemap + .trim() + return { + text, + internal: (line.includes('node_modules') && !line.includes('.cache')) || + line.includes('internal') || + line.includes('new Promise') + } + }).map(i => `<span class="stack${i.internal ? ' internal' : ''}">${i.text}</span>`).join('\n') + : '' // Error page props const statusCode = Number(_error.statusCode || 500) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 467376d827..27fd87a0c0 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -233,7 +233,7 @@ export function checkForCircularDependencies (_plugins: Array<NuxtPlugin & Omit< return [] } visited.push(name) - return (deps[name] || []).flatMap(dep => checkDeps(dep, [...visited])) + return deps[name]?.length ? deps[name].flatMap(dep => checkDeps(dep, [...visited])) : [] } for (const name in deps) { checkDeps(name) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index c0ca416fab..8a78dbfa75 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -287,13 +287,15 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { const routeRulesMatcher = toRouteMatcher( createRadixRouter({ routes: routeRules }) ) - const payloadSuffix = nuxt.options.experimental.renderJsonPayloads ? '/_payload.json' : '/_payload.js' - for (const route of nitro._prerenderedRoutes || []) { - if (!route.error && route.route.endsWith(payloadSuffix)) { - const url = route.route.slice(0, -payloadSuffix.length) || '/' - const rules = defu({}, ...routeRulesMatcher.matchAll(url).reverse()) as Record<string, any> - if (!rules.prerender) { - prerenderedRoutes.add(url) + if (nitro._prerenderedRoutes?.length) { + const payloadSuffix = nuxt.options.experimental.renderJsonPayloads ? '/_payload.json' : '/_payload.js' + for (const route of nitro._prerenderedRoutes) { + if (!route.error && route.route.endsWith(payloadSuffix)) { + const url = route.route.slice(0, -payloadSuffix.length) || '/' + const rules = defu({}, ...routeRulesMatcher.matchAll(url).reverse()) as Record<string, any> + if (!rules.prerender) { + prerenderedRoutes.add(url) + } } } } diff --git a/packages/nuxt/src/core/plugins/dev-only.ts b/packages/nuxt/src/core/plugins/dev-only.ts index f1f56122d0..6adc7a375a 100644 --- a/packages/nuxt/src/core/plugins/dev-only.ts +++ b/packages/nuxt/src/core/plugins/dev-only.ts @@ -21,11 +21,10 @@ export const DevOnlyPlugin = createUnplugin((options: DevOnlyPluginOptions) => { if (!DEVONLY_COMP_SINGLE_RE.test(code)) { return } const s = new MagicString(code) - for (const match of code.matchAll(DEVONLY_COMP_RE) || []) { + for (const match of code.matchAll(DEVONLY_COMP_RE)) { const ast: Node = parse(match[0]).children[0] const fallback: Node | undefined = ast.children?.find((n: Node) => n.name === 'template' && Object.values(n.attributes).includes('#fallback')) const replacement = fallback ? match[0].slice(fallback.loc[0].end, fallback.loc[fallback.loc.length - 1].start) : '' - s.overwrite(match.index!, match.index! + match[0].length, replacement) } diff --git a/packages/nuxt/src/core/plugins/tree-shake.ts b/packages/nuxt/src/core/plugins/tree-shake.ts index 35030990ca..f6e3427e4a 100644 --- a/packages/nuxt/src/core/plugins/tree-shake.ts +++ b/packages/nuxt/src/core/plugins/tree-shake.ts @@ -31,7 +31,7 @@ export const TreeShakeComposablesPlugin = createUnplugin((options: TreeShakeComp const s = new MagicString(code) const strippedCode = stripLiteral(code) - for (const match of strippedCode.matchAll(COMPOSABLE_RE_GLOBAL) || []) { + for (const match of strippedCode.matchAll(COMPOSABLE_RE_GLOBAL)) { s.overwrite(match.index!, match.index! + match[0].length, `${match[1]} false && /*@__PURE__*/ ${match[2]}`) } diff --git a/packages/nuxt/src/core/utils/names.ts b/packages/nuxt/src/core/utils/names.ts index 64121414c5..b3a607980f 100644 --- a/packages/nuxt/src/core/utils/names.ts +++ b/packages/nuxt/src/core/utils/names.ts @@ -28,7 +28,7 @@ export function resolveComponentNameSegments (fileName: string, prefixParts: str let index = prefixParts.length - 1 const matchedSuffix: string[] = [] while (index >= 0) { - matchedSuffix.unshift(...splitByCase(prefixParts[index] || '').map(p => p.toLowerCase())) + matchedSuffix.unshift(...splitByCase(prefixParts[index]).map(p => p.toLowerCase())) const matchedSuffixContent = matchedSuffix.join('/') if ((fileNamePartsContent === matchedSuffixContent || fileNamePartsContent.startsWith(matchedSuffixContent + '/')) || // e.g Item/Item/Item.vue -> Item diff --git a/packages/nuxt/src/head/runtime/components.ts b/packages/nuxt/src/head/runtime/components.ts index 3ed7a1ee06..3969a082a6 100644 --- a/packages/nuxt/src/head/runtime/components.ts +++ b/packages/nuxt/src/head/runtime/components.ts @@ -86,10 +86,10 @@ export const NoScript = defineComponent({ }, setup: setupForUseMeta((props, { slots }) => { const noscript = { ...props } - const textContent = (slots.default?.() || []) - .filter(({ children }) => children) - .map(({ children }) => children) - .join('') + const slotVnodes = slots.default?.() + const textContent = slotVnodes + ? slotVnodes.filter(({ children }) => children).map(({ children }) => children).join('') + : '' if (textContent) { noscript.children = textContent } diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index bd6ae3b69d..8c74482f05 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -271,13 +271,15 @@ export default defineNuxtModule({ processPages(pages) }) nuxt.hook('nitro:build:before', (nitro) => { - for (const route of nitro.options.prerender.routes || []) { - // Skip default route value as we only generate it if it is already - // in the detected routes from `~/pages`. - if (route === '/') { continue } - prerenderRoutes.add(route) + if (nitro.options.prerender.routes.length) { + for (const route of nitro.options.prerender.routes) { + // Skip default route value as we only generate it if it is already + // in the detected routes from `~/pages`. + if (route === '/') { continue } + prerenderRoutes.add(route) + } + nitro.options.prerender.routes = Array.from(prerenderRoutes) } - nitro.options.prerender.routes = Array.from(prerenderRoutes) }) }) @@ -389,13 +391,13 @@ export default defineNuxtModule({ const getSources = (pages: NuxtPage[]): string[] => pages .filter(p => Boolean(p.file)) .flatMap(p => - [relative(nuxt.options.srcDir, p.file as string), ...getSources(p.children || [])] + [relative(nuxt.options.srcDir, p.file as string), ...(p.children?.length ? getSources(p.children) : [])] ) // Do not prefetch page chunks nuxt.hook('build:manifest', (manifest) => { if (nuxt.options.dev) { return } - const sourceFiles = getSources(nuxt.apps.default.pages || []) + const sourceFiles = nuxt.apps.default?.pages?.length ? getSources(nuxt.apps.default.pages) : [] for (const key in manifest) { if (manifest[key].isEntry) { diff --git a/packages/vite/src/plugins/ssr-styles.ts b/packages/vite/src/plugins/ssr-styles.ts index 56afc02312..37a810290e 100644 --- a/packages/vite/src/plugins/ssr-styles.ts +++ b/packages/vite/src/plugins/ssr-styles.ts @@ -144,6 +144,8 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { if (id === options.entry && (options.shouldInline === true || (typeof options.shouldInline === 'function' && options.shouldInline(id)))) { const s = new MagicString(code) options.clientCSSMap[id] ||= new Set() + if (!options.globalCSS.length) { return } + for (const file of options.globalCSS) { const resolved = await this.resolve(file) ?? await this.resolve(file, id) const res = await this.resolve(file + '?inline&used') ?? await this.resolve(file + '?inline&used', id) diff --git a/packages/vite/src/utils/warmup.ts b/packages/vite/src/utils/warmup.ts index a16d2f6d9d..38f0ef705e 100644 --- a/packages/vite/src/utils/warmup.ts +++ b/packages/vite/src/utils/warmup.ts @@ -63,7 +63,7 @@ export async function warmupViteServer ( try { const mod = await server.moduleGraph.getModuleByUrl(url, isServer) - const deps = mod?.ssrTransformResult?.deps /* server */ || Array.from(mod?.importedModules /* client */ || []).map(m => m.url) + const deps = mod?.ssrTransformResult?.deps /* server */ || mod?.importedModules.size ? Array.from(mod?.importedModules /* client */).map(m => m.url) : [] await Promise.all(deps.map(m => warmup(m))) } catch (e) { logger.debug('[warmup] tracking dependencies for %s failed with: %s', url, e) diff --git a/test/basic.test.ts b/test/basic.test.ts index cc044801c7..1799771885 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1986,6 +1986,7 @@ describe('component islands', () => { link.href = link.href.replace(fixtureDir, '/<rootDir>').replaceAll('//', '/') link.key = link.key.replace(/-[a-zA-Z0-9]+$/, '') } + result.head.link.sort((a, b) => b.href.localeCompare(a.href)) } // TODO: fix rendering of styles in webpack From 12503658ed71233ad3236d1d4b7e02194736ff8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Mon, 26 Feb 2024 17:31:35 +0100 Subject: [PATCH 154/470] fix(nuxt): align `error` in `showError`/`createError` with h3 (#25945) --- packages/nuxt/src/app/composables/error.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/composables/error.ts b/packages/nuxt/src/app/composables/error.ts index 2f6a748a08..80ab8a83a0 100644 --- a/packages/nuxt/src/app/composables/error.ts +++ b/packages/nuxt/src/app/composables/error.ts @@ -13,7 +13,10 @@ export interface NuxtError<DataT = unknown> extends H3Error<DataT> {} /** @since 3.0.0 */ export const showError = <DataT = unknown>( - error: string | Error | Partial<NuxtError<DataT>> + error: string | Error | (Partial<NuxtError<DataT>> & { + status?: number; + statusText?: string; + }) ) => { const nuxtError = createError<DataT>(error) @@ -56,7 +59,10 @@ export const isNuxtError = <DataT = unknown>( /** @since 3.0.0 */ export const createError = <DataT = unknown>( - error: string | Partial<NuxtError<DataT>> + error: string | Error | (Partial<NuxtError<DataT>> & { + status?: number; + statusText?: string; + }) ) => { const nuxtError: NuxtError<DataT> = createH3Error<DataT>(error) From c05239901a63799db89e802c4e21f35c84208c53 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:33:54 +0000 Subject: [PATCH 155/470] chore(deps): update all non-major dependencies (main) (#25947) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 8 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 6 +- packages/vite/package.json | 4 +- packages/webpack/package.json | 4 +- pnpm-lock.yaml | 533 +++++++++++++--------------------- test/bundle.test.ts | 4 +- 7 files changed, 216 insertions(+), 349 deletions(-) diff --git a/package.json b/package.json index d221620c7d..4c65f35a5b 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "rollup": "^4.12.0", "nuxt": "workspace:*", "vite": "5.1.4", - "vue": "3.4.19", + "vue": "3.4.20", "magic-string": "^0.30.7" }, "devDependencies": { @@ -67,8 +67,8 @@ "execa": "8.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", - "h3": "1.10.2", - "happy-dom": "13.5.0", + "h3": "1.11.1", + "happy-dom": "13.6.2", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.8.1", @@ -85,7 +85,7 @@ "ufo": "1.4.0", "vitest": "1.3.1", "vitest-environment-nuxt": "1.0.0", - "vue": "3.4.19", + "vue": "3.4.20", "vue-eslint-parser": "9.4.2", "vue-router": "4.3.0", "vue-tsc": "1.8.27" diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index faef1eb668..49c0d28790 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -69,7 +69,7 @@ "@unhead/dom": "^1.8.10", "@unhead/ssr": "^1.8.10", "@unhead/vue": "^1.8.10", - "@vue/shared": "^3.4.19", + "@vue/shared": "^3.4.20", "acorn": "8.11.3", "c12": "^1.9.0", "chokidar": "^3.6.0", @@ -82,7 +82,7 @@ "estree-walker": "^3.0.3", "fs-extra": "^11.2.0", "globby": "^14.0.1", - "h3": "^1.10.2", + "h3": "^1.11.1", "hookable": "^5.5.3", "jiti": "^1.21.0", "klona": "^2.0.6", @@ -110,7 +110,7 @@ "unplugin": "^1.7.1", "unplugin-vue-router": "^0.7.0", "untyped": "^1.4.2", - "vue": "^3.4.19", + "vue": "^3.4.20", "vue-bundle-renderer": "^2.0.0", "vue-devtools-stub": "^0.1.0", "vue-router": "^4.3.0" diff --git a/packages/schema/package.json b/packages/schema/package.json index cb3e70df6c..af8b508f11 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -41,10 +41,10 @@ "@unhead/schema": "1.8.10", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", - "@vue/compiler-core": "3.4.19", + "@vue/compiler-core": "3.4.20", "c12": "1.9.0", "esbuild-loader": "4.0.3", - "h3": "1.10.2", + "h3": "1.11.1", "ignore": "5.3.1", "nitropack": "2.8.1", "ofetch": "1.3.3", @@ -52,7 +52,7 @@ "unctx": "2.3.1", "unenv": "1.9.0", "vite": "5.1.4", - "vue": "3.4.19", + "vue": "3.4.20", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", "vue-router": "4.3.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index f7b10ce57c..78e33249fd 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -29,7 +29,7 @@ "@types/estree": "1.0.5", "@types/fs-extra": "11.0.4", "unbuild": "latest", - "vue": "3.4.19" + "vue": "3.4.20" }, "dependencies": { "@nuxt/kit": "workspace:*", @@ -47,7 +47,7 @@ "externality": "^1.0.2", "fs-extra": "^11.2.0", "get-port-please": "^3.1.2", - "h3": "^1.10.2", + "h3": "^1.11.1", "knitwork": "^1.0.0", "magic-string": "^0.30.7", "mlly": "^1.6.1", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index c64c37633d..3d6c60de31 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -38,7 +38,7 @@ "file-loader": "^6.2.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "fs-extra": "^11.2.0", - "h3": "^1.10.2", + "h3": "^1.11.1", "hash-sum": "^2.0.0", "lodash-es": "4.17.21", "magic-string": "^0.30.7", @@ -78,7 +78,7 @@ "@types/webpack-hot-middleware": "2.25.9", "@types/webpack-virtual-modules": "0.1.3", "unbuild": "latest", - "vue": "3.4.19" + "vue": "3.4.20" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 147963b788..f95d103caf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ overrides: rollup: ^4.12.0 nuxt: workspace:* vite: 5.1.4 - vue: 3.4.19 + vue: 3.4.20 magic-string: ^0.30.7 importers: @@ -30,13 +30,13 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack '@testing-library/vue': specifier: 8.0.2 - version: 8.0.2(vue@3.4.19) + version: 8.0.2(vue@3.4.20) '@types/fs-extra': specifier: 11.0.4 version: 11.0.4 @@ -51,7 +51,7 @@ importers: version: 1.3.1(vitest@1.3.1) '@vue/test-utils': specifier: 2.4.4 - version: 2.4.4(vue@3.4.19) + version: 2.4.4(vue@3.4.20) case-police: specifier: 0.6.1 version: 0.6.1 @@ -89,11 +89,11 @@ importers: specifier: 14.0.1 version: 14.0.1 h3: - specifier: 1.10.2 - version: 1.10.2 + specifier: 1.11.1 + version: 1.11.1 happy-dom: - specifier: 13.5.0 - version: 13.5.0 + specifier: 13.6.2 + version: 13.6.2 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,19 +138,19 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) + version: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20) vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) vue-eslint-parser: specifier: 9.4.2 version: 9.4.2(eslint@8.57.0) vue-router: specifier: 4.3.0 - version: 4.3.0(vue@3.4.19) + version: 4.3.0(vue@3.4.20) vue-tsc: specifier: 1.8.27 version: 1.8.27(typescript@5.3.3) @@ -235,7 +235,7 @@ importers: version: 5.1.4(@types/node@20.11.20) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) + version: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) webpack: specifier: 5.90.3 version: 5.90.3 @@ -265,7 +265,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.11.19 + version: 20.11.20 '@unhead/dom': specifier: ^1.8.10 version: 1.8.10 @@ -274,10 +274,10 @@ importers: version: 1.8.10 '@unhead/vue': specifier: ^1.8.10 - version: 1.8.10(vue@3.4.19) + version: 1.8.10(vue@3.4.20) '@vue/shared': - specifier: ^3.4.19 - version: 3.4.19 + specifier: ^3.4.20 + version: 3.4.20 acorn: specifier: 8.11.3 version: 8.11.3 @@ -315,8 +315,8 @@ importers: specifier: ^14.0.1 version: 14.0.1 h3: - specifier: ^1.10.2 - version: 1.10.2 + specifier: ^1.11.1 + version: 1.11.1 hookable: specifier: ^5.5.3 version: 5.5.3 @@ -394,13 +394,13 @@ importers: version: 1.7.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.19) + version: 0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.20) untyped: specifier: ^1.4.2 version: 1.4.2 vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -409,7 +409,7 @@ importers: version: 0.1.0 vue-router: specifier: ^4.3.0 - version: 4.3.0(vue@3.4.19) + version: 4.3.0(vue@3.4.20) devDependencies: '@parcel/watcher': specifier: 2.4.1 @@ -422,16 +422,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.19) + version: 5.0.4(vite@5.1.4)(vue@3.4.20) unbuild: specifier: latest version: 2.0.0(typescript@5.3.3) vite: specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.19) + version: 5.1.4(@types/node@20.11.20) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.19)(happy-dom@13.5.0) + version: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) packages/schema: dependencies: @@ -486,13 +486,13 @@ importers: version: 1.8.10 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.19) + version: 5.0.4(vite@5.1.4)(vue@3.4.20) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.1.4)(vue@3.4.19) + version: 3.1.0(vite@5.1.4)(vue@3.4.20) '@vue/compiler-core': - specifier: 3.4.19 - version: 3.4.19 + specifier: 3.4.20 + version: 3.4.20 c12: specifier: 1.9.0 version: 1.9.0 @@ -500,8 +500,8 @@ importers: specifier: 4.0.3 version: 4.0.3(webpack@5.90.3) h3: - specifier: 1.10.2 - version: 1.10.2 + specifier: 1.11.1 + version: 1.11.1 ignore: specifier: 5.3.1 version: 5.3.1 @@ -524,17 +524,17 @@ importers: specifier: 5.1.4 version: 5.1.4(@types/node@20.11.20) vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) vue-bundle-renderer: specifier: 2.0.0 version: 2.0.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(vue@3.4.19)(webpack@5.90.3) + version: 17.4.2(vue@3.4.20)(webpack@5.90.3) vue-router: specifier: 4.3.0 - version: 4.3.0(vue@3.4.19) + version: 4.3.0(vue@3.4.20) webpack: specifier: 5.90.3 version: 5.90.3 @@ -552,10 +552,10 @@ importers: version: 5.0.5(rollup@4.12.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.19) + version: 5.0.4(vite@5.1.4)(vue@3.4.20) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.1.4)(vue@3.4.19) + version: 3.1.0(vite@5.1.4)(vue@3.4.20) autoprefixer: specifier: ^10.4.17 version: 10.4.17(postcss@8.4.35) @@ -590,8 +590,8 @@ importers: specifier: ^3.1.2 version: 3.1.2 h3: - specifier: ^1.10.2 - version: 1.10.2 + specifier: ^1.11.1 + version: 1.11.1 knitwork: specifier: ^1.0.0 version: 1.0.0 @@ -663,8 +663,8 @@ importers: specifier: latest version: 2.0.0(typescript@5.3.3) vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) packages/webpack: dependencies: @@ -708,8 +708,8 @@ importers: specifier: ^11.2.0 version: 11.2.0 h3: - specifier: ^1.10.2 - version: 1.10.2 + specifier: ^1.11.1 + version: 1.11.1 hash-sum: specifier: ^2.0.0 version: 2.0.0 @@ -778,7 +778,7 @@ importers: version: 2.0.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(vue@3.4.19)(webpack@5.90.3) + version: 17.4.2(vue@3.4.20)(webpack@5.90.3) webpack: specifier: ^5.90.3 version: 5.90.3 @@ -823,8 +823,8 @@ importers: specifier: latest version: 2.0.0(typescript@5.3.3) vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) playground: dependencies: @@ -832,8 +832,8 @@ importers: specifier: workspace:* version: link:../packages/nuxt vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) test/fixtures/basic: dependencies: @@ -851,8 +851,8 @@ importers: specifier: latest version: 1.7.1 vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) test/fixtures/basic-types: dependencies: @@ -865,13 +865,13 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.20)(happy-dom@13.5.0) + version: 1.0.2(@types/node@20.11.20)(happy-dom@13.6.2) vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) vue-router: specifier: latest - version: 4.3.0(vue@3.4.19) + version: 4.3.0(vue@3.4.20) test/fixtures/minimal: dependencies: @@ -879,8 +879,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) test/fixtures/minimal-types: dependencies: @@ -888,8 +888,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) test/fixtures/runtime-compiler: dependencies: @@ -903,8 +903,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.19 - version: 3.4.19(typescript@5.3.3) + specifier: 3.4.20 + version: 3.4.20(typescript@5.3.3) devDependencies: typescript: specifier: latest @@ -981,7 +981,7 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 @@ -1266,7 +1266,7 @@ packages: dependencies: '@codspeed/core': 3.1.0 vite: 5.1.4(@types/node@20.11.20) - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) transitivePeerDependencies: - debug dev: true @@ -2161,7 +2161,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.20) dev: false /@nuxt/devtools-wizard@1.0.8: @@ -2218,7 +2218,7 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.12.0) - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.20) vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.4) vite-plugin-vue-inspector: 4.0.2(vite@5.1.4) which: 3.0.1 @@ -2281,7 +2281,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2296,7 +2296,7 @@ packages: playwright-core: ^1.34.3 vite: 5.1.4 vitest: ^0.34.6 || ^1.0.0 - vue: 3.4.19 + vue: 3.4.20 vue-router: ^4.0.0 peerDependenciesMeta: '@cucumber/cucumber': @@ -2320,8 +2320,8 @@ packages: dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema - '@testing-library/vue': 8.0.2(vue@3.4.19) - '@vue/test-utils': 2.4.4(vue@3.4.19) + '@testing-library/vue': 8.0.2(vue@3.4.20) + '@vue/test-utils': 2.4.4(vue@3.4.20) c12: 1.9.0 consola: 3.2.3 defu: 6.1.4 @@ -2330,8 +2330,8 @@ packages: execa: 8.0.1 fake-indexeddb: 5.0.2 get-port-please: 3.1.2 - h3: 1.10.2 - happy-dom: 13.5.0 + h3: 1.11.1 + happy-dom: 13.6.2 local-pkg: 0.5.0 magic-string: 0.30.7 node-fetch-native: 1.6.1 @@ -2346,10 +2346,10 @@ packages: unenv: 1.9.0 unplugin: 1.7.1 vite: 5.1.4(@types/node@20.11.20) - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) - vue: 3.4.19(typescript@5.3.3) - vue-router: 4.3.0(vue@3.4.19) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20) + vue: 3.4.20(typescript@5.3.3) + vue-router: 4.3.0(vue@3.4.20) dev: true /@nuxt/ui-templates@1.3.1: @@ -2363,7 +2363,7 @@ packages: '@shikijs/transformers': 1.1.2 '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - '@vue/compiler-core': 3.4.19 + '@vue/compiler-core': 3.4.20 consola: 3.2.3 debug: 4.3.4 defu: 6.1.4 @@ -2794,14 +2794,14 @@ packages: resolution: {integrity: sha512-OpOu/KszoEIm/pdTMmnFW+cPKj+Vw8Jut4CLivqdwgHysTdMUphyG/nuaYcpVZfCQBu6JLfQ6izgkYrefiKzXQ==} dependencies: '@shikijs/twoslash': 1.1.6(typescript@5.3.3) - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.19) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.20) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.1.6 twoslash: 0.2.4(typescript@5.3.3) twoslash-vue: 0.2.4(typescript@5.3.3) - vue: 3.4.19(typescript@5.3.3) + vue: 3.4.20(typescript@5.3.3) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -2867,20 +2867,20 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/vue@8.0.2(vue@3.4.19): + /@testing-library/vue@8.0.2(vue@3.4.20): resolution: {integrity: sha512-A8wWX+qQn0o0izpQWnGCpwQt8wAdpsVP8vPP2h5Q/jcGhZ5yKXz9PPUqhQv+45LTFaWlyRf8bArTVaB/KFFd5A==} engines: {node: '>=14'} peerDependencies: '@vue/compiler-sfc': '>= 3' - vue: 3.4.19 + vue: 3.4.20 peerDependenciesMeta: '@vue/compiler-sfc': optional: true dependencies: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 - '@vue/test-utils': 2.4.4(vue@3.4.19) - vue: 3.4.19(typescript@5.3.3) + '@vue/test-utils': 2.4.4(vue@3.4.20) + vue: 3.4.20(typescript@5.3.3) transitivePeerDependencies: - '@vue/server-renderer' dev: true @@ -2953,7 +2953,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.11.19 + '@types/node': 20.11.20 dev: true /@types/hash-sum@1.0.2: @@ -3025,11 +3025,6 @@ packages: '@types/node': 20.11.20 dev: true - /@types/node@20.11.19: - resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} - dependencies: - undici-types: 5.26.5 - /@types/node@20.11.20: resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} dependencies: @@ -3053,7 +3048,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3088,7 +3083,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.20 tapable: 2.2.1 webpack: 5.90.3 transitivePeerDependencies: @@ -3314,16 +3309,16 @@ packages: '@unhead/shared': 1.8.10 dev: false - /@unhead/vue@1.8.10(vue@3.4.19): + /@unhead/vue@1.8.10(vue@3.4.20): resolution: {integrity: sha512-KF8pftHnxnlBlgNpKXWLTg3ZUtkuDCxRPUFSDBy9CtqRSX/qvAhLZ26mbqRVmHj8KigiRHP/wnPWNyGnUx20Bg==} peerDependencies: - vue: 3.4.19 + vue: 3.4.20 dependencies: '@unhead/schema': 1.8.10 '@unhead/shared': 1.8.10 hookable: 5.5.3 unhead: 1.8.10 - vue: 3.4.19(typescript@5.3.3) + vue: 3.4.20(typescript@5.3.3) dev: false /@vercel/nft@0.24.3: @@ -3346,30 +3341,30 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4)(vue@3.4.19): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4)(vue@3.4.20): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: 5.1.4 - vue: 3.4.19 + vue: 3.4.20 dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) vite: 5.1.4(@types/node@20.11.20) - vue: 3.4.19(typescript@5.3.3) + vue: 3.4.20(typescript@5.3.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.19): + /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.20): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: 5.1.4 - vue: 3.4.19 + vue: 3.4.20 dependencies: - vite: 5.1.4(@types/node@20.11.19) - vue: 3.4.19(typescript@5.3.3) + vite: 5.1.4(@types/node@20.11.20) + vue: 3.4.20(typescript@5.3.3) /@vitest/coverage-v8@1.3.1(vitest@1.3.1): resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} @@ -3389,7 +3384,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.5.0) + vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) transitivePeerDependencies: - supports-color dev: true @@ -3487,22 +3482,22 @@ packages: '@volar/language-core': 1.11.1 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.19): + /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.20): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: - vue: 3.4.19 + vue: 3.4.20 peerDependenciesMeta: vue: optional: true dependencies: '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue/compiler-sfc': 3.4.19 + '@vue/compiler-sfc': 3.4.20 ast-kit: 0.11.3(rollup@4.12.0) local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.4.19(typescript@5.3.3) + vue: 3.4.20(typescript@5.3.3) transitivePeerDependencies: - rollup dev: false @@ -3528,39 +3523,39 @@ packages: transitivePeerDependencies: - supports-color - /@vue/compiler-core@3.4.19: - resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} + /@vue/compiler-core@3.4.20: + resolution: {integrity: sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==} dependencies: '@babel/parser': 7.23.9 - '@vue/shared': 3.4.19 + '@vue/shared': 3.4.20 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.4.19: - resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} + /@vue/compiler-dom@3.4.20: + resolution: {integrity: sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==} dependencies: - '@vue/compiler-core': 3.4.19 - '@vue/shared': 3.4.19 + '@vue/compiler-core': 3.4.20 + '@vue/shared': 3.4.20 - /@vue/compiler-sfc@3.4.19: - resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} + /@vue/compiler-sfc@3.4.20: + resolution: {integrity: sha512-nPuTZz0yxTPzjyYe+9nQQsFYImcz/57UX8N3jyhl5oIUUs2jqqAMaULsAlJwve3qNYfjQzq0bwy3pqJrN9ecZw==} dependencies: '@babel/parser': 7.23.9 - '@vue/compiler-core': 3.4.19 - '@vue/compiler-dom': 3.4.19 - '@vue/compiler-ssr': 3.4.19 - '@vue/shared': 3.4.19 + '@vue/compiler-core': 3.4.20 + '@vue/compiler-dom': 3.4.20 + '@vue/compiler-ssr': 3.4.20 + '@vue/shared': 3.4.20 estree-walker: 2.0.2 magic-string: 0.30.7 postcss: 8.4.35 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.4.19: - resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} + /@vue/compiler-ssr@3.4.20: + resolution: {integrity: sha512-b3gFQPiHLvI12C56otzBPpQhZ5kgkJ5RMv/zpLjLC2BIFwX5GktDqYQ7xg0Q2grP6uFI8al3beVKvAVxFtXmIg==} dependencies: - '@vue/compiler-dom': 3.4.19 - '@vue/shared': 3.4.19 + '@vue/compiler-dom': 3.4.20 + '@vue/shared': 3.4.20 /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} @@ -3575,8 +3570,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.19 - '@vue/shared': 3.4.19 + '@vue/compiler-dom': 3.4.20 + '@vue/shared': 3.4.20 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -3584,47 +3579,47 @@ packages: typescript: 5.3.3 vue-template-compiler: 2.7.14 - /@vue/reactivity@3.4.19: - resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} + /@vue/reactivity@3.4.20: + resolution: {integrity: sha512-P5LJcxUkG6inlHr6MHVA4AVFAmRYJQ7ONGWJILNjMjoYuEXFhYviSCb9BEMyszSG/1kWCZbtWQlKSLasFRpThw==} dependencies: - '@vue/shared': 3.4.19 + '@vue/shared': 3.4.20 - /@vue/runtime-core@3.4.19: - resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} + /@vue/runtime-core@3.4.20: + resolution: {integrity: sha512-MPvsQpGAxoBqLHjqopt4YPtUYBpq0K6oAWDTwIR1CTNZ3y9O/J2ZVh+i2JpxKNYwANJBiZ20O99NE20uisB7xw==} dependencies: - '@vue/reactivity': 3.4.19 - '@vue/shared': 3.4.19 + '@vue/reactivity': 3.4.20 + '@vue/shared': 3.4.20 - /@vue/runtime-dom@3.4.19: - resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} + /@vue/runtime-dom@3.4.20: + resolution: {integrity: sha512-OkbPVP69H+8m74543zMAAx/LIkajxufYyow41gc0s5iF0uplT5uTQ4llDYu1GeJZEI8wjL5ueiPQruk4qwOMmA==} dependencies: - '@vue/runtime-core': 3.4.19 - '@vue/shared': 3.4.19 + '@vue/runtime-core': 3.4.20 + '@vue/shared': 3.4.20 csstype: 3.1.3 - /@vue/server-renderer@3.4.19(vue@3.4.19): - resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} + /@vue/server-renderer@3.4.20(vue@3.4.20): + resolution: {integrity: sha512-w3VH2GuwxQHA6pJo/HCV22OfVC8Mw4oeHQM+vKeqtRK0OPE1Wilnh+P/SDVGGxPjJsGmyfphi0dbw8UKZQJH9w==} peerDependencies: - vue: 3.4.19 + vue: 3.4.20 dependencies: - '@vue/compiler-ssr': 3.4.19 - '@vue/shared': 3.4.19 - vue: 3.4.19(typescript@5.3.3) + '@vue/compiler-ssr': 3.4.20 + '@vue/shared': 3.4.20 + vue: 3.4.20(typescript@5.3.3) - /@vue/shared@3.4.19: - resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} + /@vue/shared@3.4.20: + resolution: {integrity: sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==} - /@vue/test-utils@2.4.4(vue@3.4.19): + /@vue/test-utils@2.4.4(vue@3.4.20): resolution: {integrity: sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==} peerDependencies: '@vue/server-renderer': ^3.0.1 - vue: 3.4.19 + vue: 3.4.20 peerDependenciesMeta: '@vue/server-renderer': optional: true dependencies: js-beautify: 1.14.9 - vue: 3.4.19(typescript@5.3.3) + vue: 3.4.20(typescript@5.3.3) vue-component-type-helpers: 1.8.25 dev: true @@ -4069,8 +4064,8 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001578 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001589 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -4156,16 +4151,6 @@ packages: dependencies: fill-range: 7.0.1 - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001578 - electron-to-chromium: 1.4.615 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) - /browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -4175,7 +4160,6 @@ packages: electron-to-chromium: 1.4.681 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: false /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -4277,17 +4261,13 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001578 + caniuse-lite: 1.0.30001589 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001578: - resolution: {integrity: sha512-J/jkFgsQ3NEl4w2lCoM9ZPxrD+FoBNJ7uJUpGVjIg/j0OwJosWM36EPDv+Yyi0V4twBk9pPmlFS+PLykgEvUmg==} - /caniuse-lite@1.0.30001589: resolution: {integrity: sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==} - dev: false /case-police@0.6.1: resolution: {integrity: sha512-tOgkG3HhtzNVHU+HVHqbpVJ3CICPDihtlgoM2C4dx0RLeo6qcNVeBgiYJN5Bln+stxKrnKrw89CFgqYQDqwZQg==} @@ -4578,7 +4558,7 @@ packages: /core-js-compat@3.34.0: resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==} dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 dev: true /core-util-is@1.0.3: @@ -4639,6 +4619,14 @@ packages: shebang-command: 2.0.0 which: 2.0.2 + /crossws@0.2.4: + resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} + peerDependencies: + uWebSockets.js: '*' + peerDependenciesMeta: + uWebSockets.js: + optional: true + /css-declaration-sorter@7.1.1(postcss@8.4.35): resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} engines: {node: ^14 || ^16 || >=18} @@ -5090,12 +5078,8 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /electron-to-chromium@1.4.615: - resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==} - /electron-to-chromium@1.4.681: resolution: {integrity: sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==} - dev: false /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5819,19 +5803,19 @@ packages: /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - /floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.19): + /floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.20): resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': workspace:* - vue: 3.4.19 + vue: 3.4.20 peerDependenciesMeta: '@nuxt/kit': optional: true dependencies: '@floating-ui/dom': 1.1.1 '@nuxt/kit': link:packages/kit - vue: 3.4.19(typescript@5.3.3) - vue-resize: 2.0.0-alpha.1(vue@3.4.19) + vue: 3.4.20(typescript@5.3.3) + vue-resize: 2.0.0-alpha.1(vue@3.4.20) dev: true /follow-redirects@1.15.5: @@ -6197,10 +6181,11 @@ packages: dependencies: duplexer: 0.1.2 - /h3@1.10.2: - resolution: {integrity: sha512-r1iNNcFGL4G9pL3lgYxwX0O2ZmqdKqhILAJsnlw5icn5I1QHnADM4TgVdYRtHUqy+NntVpHIEFwnw/XCbebICg==} + /h3@1.11.1: + resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} dependencies: cookie-es: 1.0.0 + crossws: 0.2.4 defu: 6.1.4 destr: 2.0.3 iron-webcrypto: 1.0.0 @@ -6209,9 +6194,11 @@ packages: ufo: 1.4.0 uncrypto: 0.1.3 unenv: 1.9.0 + transitivePeerDependencies: + - uWebSockets.js - /happy-dom@13.5.0: - resolution: {integrity: sha512-0XWOSvyc03Z2Ye+VGP5pN6fpwgKMy3a2d09RuGRqAR4TEaW0SCtw3upt7dLoKaYBFUO+JeuDJh366aDBat3OVQ==} + /happy-dom@13.6.2: + resolution: {integrity: sha512-Ku+wDqcF/KwFA0dI+xIMZd9Jn020RXjuSil/Vz7gu2yhDC3FsDYZ55qqV9k+SGC4opwb4acisXqVSRxUJMlPbQ==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -7082,7 +7069,7 @@ packages: consola: 3.2.3 defu: 6.1.4 get-port-please: 3.1.2 - h3: 1.10.2 + h3: 1.11.1 http-shutdown: 1.2.2 jiti: 1.21.0 mlly: 1.6.1 @@ -7092,6 +7079,8 @@ packages: ufo: 1.4.0 untun: 0.1.2 uqr: 0.1.2 + transitivePeerDependencies: + - uWebSockets.js /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} @@ -8030,7 +8019,7 @@ packages: fs-extra: 11.2.0 globby: 14.0.1 gzip-size: 7.0.0 - h3: 1.10.2 + h3: 1.11.1 hookable: 5.5.3 httpxy: 0.1.5 is-primitive: 3.0.1 @@ -8079,6 +8068,7 @@ packages: - encoding - idb-keyval - supports-color + - uWebSockets.js /node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} @@ -10665,7 +10655,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unplugin-vue-router@0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.19): + /unplugin-vue-router@0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.20): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -10675,7 +10665,7 @@ packages: dependencies: '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue-macros/common': 1.10.1(rollup@4.12.0)(vue@3.4.19) + '@vue-macros/common': 1.10.1(rollup@4.12.0)(vue@3.4.20) ast-walker-scope: 0.5.0(rollup@4.12.0) chokidar: 3.6.0 fast-glob: 3.3.2 @@ -10685,7 +10675,7 @@ packages: pathe: 1.1.2 scule: 1.3.0 unplugin: 1.7.1 - vue-router: 4.3.0(vue@3.4.19) + vue-router: 4.3.0(vue@3.4.20) yaml: 2.3.4 transitivePeerDependencies: - rollup @@ -10744,7 +10734,7 @@ packages: anymatch: 3.1.3 chokidar: 3.6.0 destr: 2.0.3 - h3: 1.10.2 + h3: 1.11.1 ioredis: 5.3.2 listhen: 1.5.5 lru-cache: 10.0.3 @@ -10754,6 +10744,7 @@ packages: ufo: 1.4.0 transitivePeerDependencies: - supports-color + - uWebSockets.js /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} @@ -10791,16 +10782,6 @@ packages: unplugin: 1.7.1 dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 - picocolors: 1.0.0 - /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -10810,7 +10791,6 @@ packages: browserslist: 4.23.0 escalade: 3.1.1 picocolors: 1.0.0 - dev: false /uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} @@ -10908,27 +10888,6 @@ packages: - terser dev: true - /vite-node@1.3.1(@types/node@20.11.19): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.19) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@1.3.1(@types/node@20.11.20): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11020,7 +10979,7 @@ packages: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.20) transitivePeerDependencies: - rollup - supports-color @@ -11037,49 +10996,14 @@ packages: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - '@vue/compiler-dom': 3.4.19 + '@vue/compiler-dom': 3.4.20 kolorist: 1.8.0 magic-string: 0.30.7 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.20) transitivePeerDependencies: - supports-color dev: false - /vite@5.1.4(@types/node@20.11.19): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.19 - esbuild: 0.19.11 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - /vite@5.1.4(@types/node@20.11.20): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11115,10 +11039,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.10.2)(happy-dom@13.5.0)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.19) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11135,7 +11059,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.20)(happy-dom@13.5.0): + /vitest@1.0.2(@types/node@20.11.20)(happy-dom@13.6.2): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11171,7 +11095,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.5.0 + happy-dom: 13.6.2 local-pkg: 0.5.0 magic-string: 0.30.7 pathe: 1.1.2 @@ -11193,64 +11117,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.19)(happy-dom@13.5.0): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.11.19 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - happy-dom: 13.5.0 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.5.1 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.19) - vite-node: 1.3.1(@types/node@20.11.19) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vitest@1.3.1(@types/node@20.11.20)(happy-dom@13.5.0): + /vitest@1.3.1(@types/node@20.11.20)(happy-dom@13.6.2): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11285,7 +11152,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.5.0 + happy-dom: 13.6.2 local-pkg: 0.5.0 magic-string: 0.30.7 pathe: 1.1.2 @@ -11383,7 +11250,7 @@ packages: - supports-color dev: true - /vue-loader@17.4.2(vue@3.4.19)(webpack@5.90.3): + /vue-loader@17.4.2(vue@3.4.20)(webpack@5.90.3): resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} peerDependencies: '@vue/compiler-sfc': '*' @@ -11397,25 +11264,25 @@ packages: dependencies: chalk: 4.1.2 hash-sum: 2.0.0 - vue: 3.4.19(typescript@5.3.3) + vue: 3.4.20(typescript@5.3.3) watchpack: 2.4.0 webpack: 5.90.3 - /vue-resize@2.0.0-alpha.1(vue@3.4.19): + /vue-resize@2.0.0-alpha.1(vue@3.4.20): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: - vue: 3.4.19 + vue: 3.4.20 dependencies: - vue: 3.4.19(typescript@5.3.3) + vue: 3.4.20(typescript@5.3.3) dev: true - /vue-router@4.3.0(vue@3.4.19): + /vue-router@4.3.0(vue@3.4.20): resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} peerDependencies: - vue: 3.4.19 + vue: 3.4.20 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.19(typescript@5.3.3) + vue: 3.4.20(typescript@5.3.3) /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -11434,19 +11301,19 @@ packages: semver: 7.6.0 typescript: 5.3.3 - /vue@3.4.19(typescript@5.3.3): - resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} + /vue@3.4.20(typescript@5.3.3): + resolution: {integrity: sha512-xF4zDKXp67NjgORFX/HOuaiaKYjgxkaToK0KWglFQEYlCw9AqgBlj1yu5xa6YaRek47w2IGiuvpvrGg/XuQFCw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.19 - '@vue/compiler-sfc': 3.4.19 - '@vue/runtime-dom': 3.4.19 - '@vue/server-renderer': 3.4.19(vue@3.4.19) - '@vue/shared': 3.4.19 + '@vue/compiler-dom': 3.4.20 + '@vue/compiler-sfc': 3.4.20 + '@vue/runtime-dom': 3.4.20 + '@vue/server-renderer': 3.4.20(vue@3.4.20) + '@vue/shared': 3.4.20 typescript: 5.3.3 /watchpack@2.4.0: @@ -11545,7 +11412,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.2 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.3.1 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 17ca34297c..35933367ad 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ 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(`"202k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"204k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1334k"`) @@ -72,7 +72,7 @@ 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(`"520k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"522k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"77.2k"`) From 196223c0fbaa584353a7d8141591425dd372bbdf Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Mon, 26 Feb 2024 18:39:26 +0100 Subject: [PATCH 156/470] feat(nuxt): server-only pages (#24954) --- docs/2.guide/2.directory-structure/1.pages.md | 12 +++++-- .../components/runtime/server-component.ts | 32 +++++++++++++++++++ packages/nuxt/src/components/templates.ts | 7 +++- packages/nuxt/src/pages/module.ts | 4 +++ packages/nuxt/src/pages/utils.ts | 23 ++++++++++++- packages/nuxt/test/pages.test.ts | 3 +- packages/schema/src/types/hooks.ts | 9 ++++++ test/basic.test.ts | 11 +++++++ test/fixtures/basic/pages/index.vue | 3 ++ .../basic/pages/server-page.server.vue | 10 ++++++ 10 files changed, 109 insertions(+), 5 deletions(-) create mode 100644 test/fixtures/basic/pages/server-page.server.vue diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index 052548c97d..2332295f8a 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -357,13 +357,21 @@ function navigate(){ </script> ``` -## Custom routing +## Server-Only Pages + +You can define a page as [server only](/docs/guide/directory-structure/components#server-components) by giving it a `.server.vue` suffix. While you will be able to navigate to the page using client-side navigation, controlled by `vue-router`, it will be rendered with a server component automatically, meaning the code required to render the page will not be in your client-side bundle. + +::note +You will also need to enable `experimental.componentIslands` in order to make this possible. +:: + +## Custom Routing As your app gets bigger and more complex, your routing might require more flexibility. For this reason, Nuxt directly exposes the router, routes and router options for customization in different ways. :read-more{to="/docs/guide/going-further/custom-routing"} -## Multiple pages directories +## Multiple Pages Directories By default, all your pages should be in one `pages` directory at the root of your project. diff --git a/packages/nuxt/src/components/runtime/server-component.ts b/packages/nuxt/src/components/runtime/server-component.ts index 3a2463b09d..e88118149f 100644 --- a/packages/nuxt/src/components/runtime/server-component.ts +++ b/packages/nuxt/src/components/runtime/server-component.ts @@ -1,5 +1,7 @@ import { defineComponent, h, ref } from 'vue' import NuxtIsland from '#app/components/nuxt-island' +import { useRoute } from '#app/composables/router' +import { isPrerendered } from '#app/composables/payload' /*@__NO_SIDE_EFFECTS__*/ export const createServerComponent = (name: string) => { @@ -25,3 +27,33 @@ export const createServerComponent = (name: string) => { } }) } + +/*@__NO_SIDE_EFFECTS__*/ +export const createIslandPage = (name: string) => { + return defineComponent({ + name, + inheritAttrs: false, + props: { lazy: Boolean }, + async setup (props, { slots, expose }) { + const islandRef = ref<null | typeof NuxtIsland>(null) + + expose({ + refresh: () => islandRef.value?.refresh() + }) + + const route = useRoute() + const path = await isPrerendered(route.path) ? route.path : route.fullPath.replace(/#.*$/, '') + + return () => { + return h('div', [ + h(NuxtIsland, { + name: `page:${name}`, + lazy: props.lazy, + ref: islandRef, + context: { url: path } + }, slots) + ]) + } + } + }) +} diff --git a/packages/nuxt/src/components/templates.ts b/packages/nuxt/src/components/templates.ts index 22e845de7e..5d751a705d 100644 --- a/packages/nuxt/src/components/templates.ts +++ b/packages/nuxt/src/components/templates.ts @@ -72,12 +72,17 @@ export const componentsIslandsTemplate: NuxtTemplate = { // components.islands.mjs' getContents ({ app }) { const components = app.components + const pages = app.pages const islands = components.filter(component => component.island || // .server components without a corresponding .client component will need to be rendered as an island (component.mode === 'server' && !components.some(c => c.pascalName === component.pascalName && c.mode === 'client')) ) + const pageExports = pages?.filter(p => (p.mode === 'server' && p.file && p.name)).map((p) => { + return `"page:${p.name}": defineAsyncComponent(${genDynamicImport(p.file!)}.then(c => c.default || c))` + }) || [] + return [ 'import { defineAsyncComponent } from \'vue\'', 'export const islandComponents = import.meta.client ? {} : {', @@ -87,7 +92,7 @@ export const componentsIslandsTemplate: NuxtTemplate = { const comment = createImportMagicComments(c) return ` "${c.pascalName}": defineAsyncComponent(${genDynamicImport(c.filePath, { comment })}.then(c => ${exp}))` } - ).join(',\n'), + ).concat(pageExports).join(',\n'), '}' ].join('\n') } diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 8c74482f05..51f2e31630 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -400,6 +400,10 @@ export default defineNuxtModule({ const sourceFiles = nuxt.apps.default?.pages?.length ? getSources(nuxt.apps.default.pages) : [] for (const key in manifest) { + if (manifest[key].src && Object.values(nuxt.apps).some(app => app.pages?.some(page => page.mode === 'server' && page.file === join(nuxt.options.srcDir, manifest[key].src!) ))) { + delete manifest[key] + continue + } if (manifest[key].isEntry) { manifest[key].dynamicImports = manifest[key].dynamicImports?.filter(i => !sourceFiles.includes(i)) diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 9a88d3d4ab..0eebfc963a 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -14,6 +14,7 @@ import type { NuxtPage } from 'nuxt/schema' import { uniqueBy } from '../core/utils' import { toArray } from '../utils' +import { distDir } from '../dirs' enum SegmentParserState { initial, @@ -58,6 +59,7 @@ export async function resolvePagesRoutes (): Promise<NuxtPage[]> { const allRoutes = await generateRoutesFromFiles(uniqueBy(scannedFiles, 'relativePath'), { shouldExtractBuildMeta: nuxt.options.experimental.scanPageMeta || nuxt.options.experimental.typedPages, + shouldUseServerComponents: !!nuxt.options.experimental.componentIslands, vfs: nuxt.vfs }) @@ -66,6 +68,7 @@ export async function resolvePagesRoutes (): Promise<NuxtPage[]> { type GenerateRoutesFromFilesOptions = { shouldExtractBuildMeta?: boolean + shouldUseServerComponents?: boolean vfs?: Record<string, string> } @@ -87,6 +90,13 @@ export async function generateRoutesFromFiles (files: ScannedFile[], options: Ge // Array where routes should be added, useful when adding child routes let parent = routes + if (segments[segments.length - 1].endsWith('.server')) { + segments[segments.length - 1] = segments[segments.length - 1].replace('.server', '') + if (options.shouldUseServerComponents) { + route.mode = 'server' + } + } + for (let i = 0; i < segments.length; i++) { const segment = segments[i] @@ -439,7 +449,18 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set<string> = meta: `${metaImportName} || {}`, alias: `${metaImportName}?.alias || []`, redirect: `${metaImportName}?.redirect`, - component: genDynamicImport(file, { interopDefault: true }) + component: page.mode === 'server' + ? `() => createIslandPage(${route.name})` + : genDynamicImport(file, { interopDefault: true }) + } + + if (page.mode === 'server') { + metaImports.add(` +let _createIslandPage +async function createIslandPage (name) { + _createIslandPage ||= await import(${JSON.stringify(resolve(distDir, 'components/runtime/server-component'))}).then(r => r.createIslandPage) + return _createIslandPage(name) +};`) } if (route.children != null) { diff --git a/packages/nuxt/test/pages.test.ts b/packages/nuxt/test/pages.test.ts index dd1c2239ee..1c77fdab76 100644 --- a/packages/nuxt/test/pages.test.ts +++ b/packages/nuxt/test/pages.test.ts @@ -17,7 +17,7 @@ describe('pages:generateRoutesFromFiles', () => { }, } }) - + const tests: Array<{ description: string files?: Array<{ path: string; template?: string; }> @@ -570,6 +570,7 @@ describe('pages:generateRoutesFromFiles', () => { try { result = await generateRoutesFromFiles(test.files.map(file => ({ + shouldUseServerComponents: true, absolutePath: file.path, relativePath: file.path.replace(/^(pages|layer\/pages)\//, '') })), { shouldExtractBuildMeta: true, vfs }) diff --git a/packages/schema/src/types/hooks.ts b/packages/schema/src/types/hooks.ts index 5fe595d314..72d74aab67 100644 --- a/packages/schema/src/types/hooks.ts +++ b/packages/schema/src/types/hooks.ts @@ -28,6 +28,15 @@ export type NuxtPage = { alias?: string[] | string redirect?: RouteLocationRaw children?: NuxtPage[] + /** + * Set the render mode. + * + * `all` means the page will be rendered isomorphically - with JavaScript both on client and server. + * + * `server` means pages are automatically rendered with server components, so there will be no JavaScript to render the page in your client bundle. + * @default 'all' + */ + mode?: 'server' | 'all' } export type NuxtMiddleware = { diff --git a/test/basic.test.ts b/test/basic.test.ts index 1799771885..890e22ab65 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -2090,6 +2090,17 @@ describe('component islands', () => { await startServer() }) + + it('render island page', async () => { + const { page } = await renderPage('/') + + const islandPageRequest = page.waitForRequest((req) => { + return req.url().includes('/__nuxt_island/page:server-page') + }) + await page.getByText('to server page').click() + await islandPageRequest + await page.locator('#server-page').waitFor() + }) }) describe.runIf(isDev() && !isWebpack)('vite plugins', () => { diff --git a/test/fixtures/basic/pages/index.vue b/test/fixtures/basic/pages/index.vue index 5c97574bff..04d618f955 100644 --- a/test/fixtures/basic/pages/index.vue +++ b/test/fixtures/basic/pages/index.vue @@ -86,6 +86,9 @@ <NuxtLink to="/big-page-1"> to big 1 </NuxtLink> + <NuxtLink to="/server-page"> + to server page + </NuxtLink> </div> </template> diff --git a/test/fixtures/basic/pages/server-page.server.vue b/test/fixtures/basic/pages/server-page.server.vue new file mode 100644 index 0000000000..398f9958d2 --- /dev/null +++ b/test/fixtures/basic/pages/server-page.server.vue @@ -0,0 +1,10 @@ +<template> + <div id="server-page"> + Hello this is a server page + <NuxtLink + to="/" + > + to home + </NuxtLink> + </div> +</template> From 08b656a047cd9fd5b7291a28880375bd97f10350 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 26 Feb 2024 19:21:25 +0000 Subject: [PATCH 157/470] fix(kit): don't warn if middleware is added twice --- packages/kit/src/pages.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/kit/src/pages.ts b/packages/kit/src/pages.ts index 9820fe64ff..3e36eb2c03 100644 --- a/packages/kit/src/pages.ts +++ b/packages/kit/src/pages.ts @@ -51,6 +51,7 @@ export function addRouteMiddleware (input: NuxtMiddleware | NuxtMiddleware[], op for (const middleware of middlewares) { const find = app.middleware.findIndex(item => item.name === middleware.name) if (find >= 0) { + if (app.middleware[find].path === middleware.path) { continue } if (options.override === true) { app.middleware[find] = middleware } else { From 3678a4f5d029154c30111362c57d3226e1101b06 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 09:09:37 +0000 Subject: [PATCH 158/470] chore(deps): update all non-major dependencies (main) (#25968) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6f9d36556..f50805f2cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: queries: +security-and-quality - name: Restore dist cache - uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2 + uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 with: name: dist path: packages @@ -124,7 +124,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2 + uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 with: name: dist path: packages @@ -247,7 +247,7 @@ jobs: run: pnpm playwright-core install chromium - name: Restore dist cache - uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2 + uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 with: name: dist path: packages @@ -261,7 +261,7 @@ jobs: TEST_CONTEXT: ${{ matrix.context }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || runner.os == 'Windows' }} - - uses: codecov/codecov-action@0cfda1dd0a4ad9efc75517f399d859cd1ea4ced1 # v4.0.2 + - uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v4.1.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 }} @@ -296,7 +296,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2 + uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 with: name: dist path: packages @@ -335,7 +335,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2 + uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 with: name: dist path: packages From 40c3a3918e5aab7a9c53161d6a898a18f537a770 Mon Sep 17 00:00:00 2001 From: Mehmet <hi@productdevbook.com> Date: Tue, 27 Feb 2024 12:11:27 +0300 Subject: [PATCH 159/470] fix(nuxt): don't try to strip directory file extensions (#25965) --- packages/nuxt/src/imports/module.ts | 13 ++++++++----- packages/nuxt/src/utils.ts | 6 ++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/nuxt/src/imports/module.ts b/packages/nuxt/src/imports/module.ts index 175d8627b8..01ccd89488 100644 --- a/packages/nuxt/src/imports/module.ts +++ b/packages/nuxt/src/imports/module.ts @@ -1,3 +1,4 @@ +import { existsSync } from 'node:fs' import { addTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, isIgnored, logger, resolveAlias, tryResolveModule, updateTemplates, useNuxt } from '@nuxt/kit' import { isAbsolute, join, normalize, relative, resolve } from 'pathe' import type { Import, Unimport } from 'unimport' @@ -5,6 +6,7 @@ import { createUnimport, scanDirExports } from 'unimport' import type { ImportPresetWithDeprecation, ImportsOptions } from 'nuxt/schema' import { lookupNodeModuleSubpath, parseNodeModulePath } from 'mlly' +import { isDirectory } from '../utils' import { TransformPlugin } from './transform' import { defaultPresets } from './presets' @@ -140,13 +142,10 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions>) { const nuxt = useNuxt() - // Remove file extension for benefit of TypeScript - const stripExtension = (path: string) => path.replace(/\.[a-z]+$/, '') - const resolvedImportPathMap = new Map<string, string>() const r = ({ from }: Import) => resolvedImportPathMap.get(from) - async function cacheImportPaths(imports: Import[]) { + async function cacheImportPaths (imports: Import[]) { const importSource = Array.from(new Set(imports.map(i => i.from))) await Promise.all(importSource.map(async (from) => { if (resolvedImportPathMap.has(from)) { @@ -163,11 +162,15 @@ function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions return join(dir, name, subpath || '') }) ?? path } + + if (existsSync(path) && !(await isDirectory(path))) { + path = path.replace(/\.[a-z]+$/, '') + } + if (isAbsolute(path)) { path = relative(join(nuxt.options.buildDir, 'types'), path) } - path = stripExtension(path) resolvedImportPathMap.set(from, path) })) } diff --git a/packages/nuxt/src/utils.ts b/packages/nuxt/src/utils.ts index 4cc2040ad9..d56642dc25 100644 --- a/packages/nuxt/src/utils.ts +++ b/packages/nuxt/src/utils.ts @@ -1,3 +1,9 @@ +import { promises as fsp } from 'node:fs' + export function toArray<T> (value: T | T[]): T[] { return Array.isArray(value) ? value : [value] } + +export async function isDirectory (path: string) { + return (await fsp.lstat(path)).isDirectory() +} From 05919660800e4225a919eb97a602e69d80085b25 Mon Sep 17 00:00:00 2001 From: Till Sanders <mail@till-sanders.de> Date: Tue, 27 Feb 2024 10:12:44 +0100 Subject: [PATCH 160/470] docs: add `domEnvironment` option to testing example (#25972) --- docs/1.getting-started/11.testing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index 2051ded616..dba218d7dd 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -88,6 +88,7 @@ export default defineVitestConfig({ // environmentOptions: { // nuxt: { // rootDir: fileURLToPath(new URL('./playground', import.meta.url)), + // domEnvironment: 'happy-dom', // 'happy-dom' (default) or 'jsdom' // overrides: { // // other Nuxt config you want to pass // } From 15a4a080acb441a5978c7d08f683c27f46f09c06 Mon Sep 17 00:00:00 2001 From: Alexander Lichter <github@lichter.io> Date: Tue, 27 Feb 2024 11:57:26 +0100 Subject: [PATCH 161/470] fix(nuxt): produce valid css selector from `useId` (#25969) --- packages/nuxt/src/app/composables/id.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/app/composables/id.ts b/packages/nuxt/src/app/composables/id.ts index 728ebcf238..c5019b0c2b 100644 --- a/packages/nuxt/src/app/composables/id.ts +++ b/packages/nuxt/src/app/composables/id.ts @@ -3,6 +3,7 @@ import { useNuxtApp } from '../nuxt' import { clientOnlySymbol } from '#app/components/client-only' const ATTR_KEY = 'data-n-ids' +const SEPARATOR = '-' /** * Generate an SSR-friendly unique identifier that can be passed to accessibility attributes. @@ -13,7 +14,8 @@ export function useId (key?: string): string { throw new TypeError('[nuxt] [useId] key must be a string.') } // TODO: implement in composable-keys - key = key.slice(1) + // Make sure key starts with a letter to be a valid selector + key = `n${key.slice(1)}` const nuxtApp = useNuxtApp() const instance = getCurrentInstance() @@ -26,11 +28,11 @@ export function useId (key?: string): string { instance._nuxtIdIndex ||= {} instance._nuxtIdIndex[key] ||= 0 - const instanceIndex = key + ':' + instance._nuxtIdIndex[key]++ + const instanceIndex = key + SEPARATOR + instance._nuxtIdIndex[key]++ if (import.meta.server) { const ids = JSON.parse(instance.attrs[ATTR_KEY] as string | undefined || '{}') - ids[instanceIndex] = key + ':' + nuxtApp._id++ + ids[instanceIndex] = key + SEPARATOR + nuxtApp._id++ instance.attrs[ATTR_KEY] = JSON.stringify(ids) return ids[instanceIndex] } From 3258cacc2893487f87e9ca42adce6e1bb1f13199 Mon Sep 17 00:00:00 2001 From: Andrea Basile <57828270+Evobaso-J@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:31:46 +0100 Subject: [PATCH 162/470] fix(schema): add `vueCompilerOptions` property to `tsConfig` (#25924) --- packages/schema/build.config.ts | 1 + packages/schema/package.json | 1 + packages/schema/src/config/typescript.ts | 2 +- packages/schema/src/types/hooks.ts | 7 ++++++- pnpm-lock.yaml | 3 +++ 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/schema/build.config.ts b/packages/schema/build.config.ts index 04a306a6c4..49c2520e6f 100644 --- a/packages/schema/build.config.ts +++ b/packages/schema/build.config.ts @@ -53,6 +53,7 @@ export default defineBuildConfig({ 'sass-loader', 'c12', 'unenv', + '@vue/language-core', // Implicit '@vue/compiler-core', '@vue/shared', diff --git a/packages/schema/package.json b/packages/schema/package.json index af8b508f11..119738a0a8 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,6 +42,7 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.20", + "@vue/language-core": "^1.8.27", "c12": "1.9.0", "esbuild-loader": "4.0.3", "h3": "1.11.1", diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index e2ae05df6f..69e13d5094 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -43,7 +43,7 @@ export default defineUntypedSchema({ /** * You can extend generated `.nuxt/tsconfig.json` using this option. - * @type {typeof import('pkg-types')['TSConfig']} + * @type {0 extends 1 & VueCompilerOptions ? typeof import('pkg-types')['TSConfig'] : typeof import('pkg-types')['TSConfig'] & { vueCompilerOptions?: typeof import('@vue/language-core')['VueCompilerOptions']}} */ tsConfig: {}, diff --git a/packages/schema/src/types/hooks.ts b/packages/schema/src/types/hooks.ts index 72d74aab67..51e06f82d9 100644 --- a/packages/schema/src/types/hooks.ts +++ b/packages/schema/src/types/hooks.ts @@ -9,6 +9,7 @@ import type { Compiler, Configuration, Stats } from 'webpack' import type { Nitro, NitroConfig } from 'nitropack' import type { Schema, SchemaDefinition } from 'untyped' import type { RouteLocationRaw } from 'vue-router' +import type { VueCompilerOptions } from '@vue/language-core' import type { NuxtCompatibility, NuxtCompatibilityIssues, ViteConfig } from '..' import type { Component, ComponentsOptions } from './components' import type { Nuxt, NuxtApp, ResolvedNuxtTemplate } from './nuxt' @@ -20,6 +21,10 @@ export type TSReference = { types: string } | { path: string } export type WatchEvent = 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir' +// If the user does not have `@vue/language-core` installed, VueCompilerOptions will be typed as `any`, +// thus making the whole `VueTSConfig` type `any`. We only augment TSConfig if VueCompilerOptions is available. +export type VueTSConfig = 0 extends 1 & VueCompilerOptions ? TSConfig : TSConfig & { vueCompilerOptions?: VueCompilerOptions } + export type NuxtPage = { name?: string path: string @@ -282,7 +287,7 @@ export interface NuxtHooks { * @param options Objects containing `references`, `declarations`, `tsConfig` * @returns Promise */ - 'prepare:types': (options: { references: TSReference[], declarations: string[], tsConfig: TSConfig }) => HookResult + 'prepare:types': (options: { references: TSReference[], declarations: string[], tsConfig: VueTSConfig }) => HookResult /** * Called when the dev server is loading. * @param listenerServer The HTTP/HTTPS server object diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f95d103caf..4db50b5fb6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -493,6 +493,9 @@ importers: '@vue/compiler-core': specifier: 3.4.20 version: 3.4.20 + '@vue/language-core': + specifier: ^1.8.27 + version: 1.8.27(typescript@5.3.3) c12: specifier: 1.9.0 version: 1.9.0 From fa79b86d4ab286c3c43735b5d589006e95d9182f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 20:06:52 +0100 Subject: [PATCH 163/470] chore(deps): pin devdependency @vue/language-core to 1.8.27 (main) (#25980) --- packages/schema/package.json | 2 +- pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/schema/package.json b/packages/schema/package.json index 119738a0a8..2f17516291 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,7 +42,7 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.20", - "@vue/language-core": "^1.8.27", + "@vue/language-core": "1.8.27", "c12": "1.9.0", "esbuild-loader": "4.0.3", "h3": "1.11.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4db50b5fb6..56694791c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -494,7 +494,7 @@ importers: specifier: 3.4.20 version: 3.4.20 '@vue/language-core': - specifier: ^1.8.27 + specifier: 1.8.27 version: 1.8.27(typescript@5.3.3) c12: specifier: 1.9.0 From 96f72f923d0a01ee201cece758a17f061bda7413 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 2 Mar 2024 10:23:33 +0100 Subject: [PATCH 164/470] chore(deps): update devdependency vue-tsc to v2 (main) (#26039) --- package.json | 2 +- pnpm-lock.yaml | 58 +++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 47 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 4c65f35a5b..faeaca21e6 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "vue": "3.4.20", "vue-eslint-parser": "9.4.2", "vue-router": "4.3.0", - "vue-tsc": "1.8.27" + "vue-tsc": "2.0.1" }, "packageManager": "pnpm@8.15.4", "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 56694791c1..89580c2e39 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -152,8 +152,8 @@ importers: specifier: 4.3.0 version: 4.3.0(vue@3.4.20) vue-tsc: - specifier: 1.8.27 - version: 1.8.27(typescript@5.3.3) + specifier: 2.0.1 + version: 2.0.1(typescript@5.3.3) packages/kit: dependencies: @@ -645,7 +645,7 @@ importers: version: 1.3.1(@types/node@20.11.20) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) + version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.1) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -3473,16 +3473,28 @@ packages: resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: '@volar/source-map': 1.11.1 + dev: true + + /@volar/language-core@2.1.0: + resolution: {integrity: sha512-BrYEgYHx92ocpt1OUxJs2x3TAXEjpPLxsQoARb96g2GdF62xnfRQUqCNBwiU7Z3MQ/0tOAdqdHNYNmrFtx6q4A==} + dependencies: + '@volar/source-map': 2.1.0 /@volar/source-map@1.11.1: resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} dependencies: muggle-string: 0.3.1 + dev: true - /@volar/typescript@1.11.1: - resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + /@volar/source-map@2.1.0: + resolution: {integrity: sha512-VPyi+DTv67cvUOkUewzsOQJY3VUhjOjQxigT487z/H7tEI8ZFd5RksC5afk3JelOK+a/3Y8LRDbKmYKu1dz87g==} dependencies: - '@volar/language-core': 1.11.1 + muggle-string: 0.4.1 + + /@volar/typescript@2.1.0: + resolution: {integrity: sha512-2cicVoW4q6eU/omqfOBv+6r9JdrF5bBelujbJhayPNKiOj/xwotSJ/DM8IeMvTZvtkOZkm6suyOCLEokLY0w2w==} + dependencies: + '@volar/language-core': 2.1.0 path-browserify: 1.0.1 /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.20): @@ -3581,6 +3593,24 @@ packages: path-browserify: 1.0.1 typescript: 5.3.3 vue-template-compiler: 2.7.14 + dev: true + + /@vue/language-core@2.0.1(typescript@5.3.3): + resolution: {integrity: sha512-TZ9xKj3WhZol2hWvXcCjGDiOVkmQ1aG7MS3YJkhVMeoLYyopP5XFn9Obc9qorxG6vZDWapRxBkyEzJ9d6xL3Zg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 2.1.0 + '@vue/compiler-dom': 3.4.20 + '@vue/shared': 3.4.20 + computeds: 0.0.1 + minimatch: 9.0.3 + path-browserify: 1.0.1 + typescript: 5.3.3 + vue-template-compiler: 2.7.14 /@vue/reactivity@3.4.20: resolution: {integrity: sha512-P5LJcxUkG6inlHr6MHVA4AVFAmRYJQ7ONGWJILNjMjoYuEXFhYviSCb9BEMyszSG/1kWCZbtWQlKSLasFRpThw==} @@ -7960,6 +7990,10 @@ packages: /muggle-string@0.3.1: resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + + /muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} @@ -10911,7 +10945,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.1): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -10960,7 +10994,7 @@ packages: vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 1.8.27(typescript@5.3.3) + vue-tsc: 2.0.1(typescript@5.3.3) dev: false /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.4): @@ -11293,14 +11327,14 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@1.8.27(typescript@5.3.3): - resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + /vue-tsc@2.0.1(typescript@5.3.3): + resolution: {integrity: sha512-a4Il11tE8khq8tZn0DucITCr3+q2B9cxL6uTQAoprnhBrxBu6vc//hp3zyTnIS1t/zCTCfdipkY7M2dqiR2plQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.3.3) + '@volar/typescript': 2.1.0 + '@vue/language-core': 2.0.1(typescript@5.3.3) semver: 7.6.0 typescript: 5.3.3 From ea343ecc04f116effa082959259be5e273042fb4 Mon Sep 17 00:00:00 2001 From: gangan <44604921+shinGangan@users.noreply.github.com> Date: Sat, 2 Mar 2024 18:24:38 +0900 Subject: [PATCH 165/470] docs: update VS Code settings (#25985) --- docs/5.community/4.contribution.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/5.community/4.contribution.md b/docs/5.community/4.contribution.md index 764730c668..3702d845a8 100644 --- a/docs/5.community/4.contribution.md +++ b/docs/5.community/4.contribution.md @@ -146,8 +146,8 @@ We recommend using [VS Code](https://code.visualstudio.com) along with the [ESLi ```json [settings.json] { "editor.codeActionsOnSave": { - "source.fixAll": false, - "source.fixAll.eslint": true + "source.fixAll": "never", + "source.fixAll.eslint": "explicit" } } ``` From e890c9a64ba14d9622a58254fef0f20623df44d9 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Sat, 2 Mar 2024 10:24:56 +0100 Subject: [PATCH 166/470] docs: mention island features are SFC only (#26013) --- docs/2.guide/2.directory-structure/1.components.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/2.guide/2.directory-structure/1.components.md b/docs/2.guide/2.directory-structure/1.components.md index 929d2b6a42..655cb98bd9 100644 --- a/docs/2.guide/2.directory-structure/1.components.md +++ b/docs/2.guide/2.directory-structure/1.components.md @@ -295,6 +295,10 @@ Now you can register server-only components with the `.server` suffix and use th Server-only components use [`<NuxtIsland>`](/docs/api/components/nuxt-island) under the hood, meaning that `lazy` prop and `#fallback` slot are both passed down to it. +::alert{type=warning} +Most features for server-only components and island components, such as slots and client components, are only available for single file components. +:: + #### Client components within server components ::alert{type=info} From 2d3f495a7f3f58da91f3026c6430392072f9d834 Mon Sep 17 00:00:00 2001 From: Francesco Scutellaro <dev.mirror42@gmail.com> Date: Sat, 2 Mar 2024 14:08:42 +0100 Subject: [PATCH 167/470] docs: improve pick and transform doc (#26043) --- packages/nuxt/src/app/composables/asyncData.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index b97bcd00ab..79a7813ba9 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -63,11 +63,13 @@ export interface AsyncDataOptions< */ getCachedData?: (key: string) => DataT /** - * A function that can be used to alter handler function result after resolving + * A function that can be used to alter handler function result after resolving. + * Do not use it along with the `pick` option. */ transform?: _Transform<ResT, DataT> /** - * Only pick specified keys in this array from the handler function result + * Only pick specified keys in this array from the handler function result. + * Do not use it along with the `transform` option. */ pick?: PickKeys /** From 8e6d2306c0ca7ca9c8dc915f46172b08f39c53bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= <seb@nuxt.com> Date: Sun, 3 Mar 2024 14:33:43 +0100 Subject: [PATCH 168/470] docs: fix 404 link --- docs/3.api/2.composables/use-id.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.api/2.composables/use-id.md b/docs/3.api/2.composables/use-id.md index 9cd649696b..63a470a5db 100644 --- a/docs/3.api/2.composables/use-id.md +++ b/docs/3.api/2.composables/use-id.md @@ -4,7 +4,7 @@ description: Generate an SSR-friendly unique identifier that can be passed to ac --- ::important -This composable is available since [Nuxt v3.10](/v3-10#ssr-safe-accessible-unique-id-creation). +This composable is available since [Nuxt v3.10](/blog/v3-10#ssr-safe-accessible-unique-id-creation). :: `useId` generates an SSR-friendly unique identifier that can be passed to accessibility attributes. From 4fbbc10f62aae02beb0c59e946c5fd18cd0d63f3 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sun, 3 Mar 2024 21:36:12 +0000 Subject: [PATCH 169/470] fix(nuxt): skip vue style blocks in unctx transform (#26059) --- packages/nuxt/src/core/plugins/unctx.ts | 2 +- test/fixtures/basic/pages/styles.vue | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/plugins/unctx.ts b/packages/nuxt/src/core/plugins/unctx.ts index 1e458eda49..c6ef9eb054 100644 --- a/packages/nuxt/src/core/plugins/unctx.ts +++ b/packages/nuxt/src/core/plugins/unctx.ts @@ -17,7 +17,7 @@ export const UnctxTransformPlugin = createUnplugin((options: UnctxTransformPlugi name: 'unctx:transform', enforce: 'post', transformInclude (id) { - return isVue(id) || isJS(id) + return isVue(id, { type: ['template', 'script']}) || isJS(id) }, transform (code) { // TODO: needed for webpack - update transform in unctx/unplugin? diff --git a/test/fixtures/basic/pages/styles.vue b/test/fixtures/basic/pages/styles.vue index 2aadb5da0e..a8f5f2fa02 100644 --- a/test/fixtures/basic/pages/styles.vue +++ b/test/fixtures/basic/pages/styles.vue @@ -18,6 +18,8 @@ import '~/assets/assets.css' </style> <style scoped> + /* Regression test for https: //github.com/nuxt/nuxt/issues/26057 */ + /* definePageMeta( */ div { --scoped: 'scoped'; } From c4a7041d415e1ee9a6ae7e281cd3770bdc99a57d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 10:32:08 +0000 Subject: [PATCH 170/470] chore(deps): update devdependency @vue/language-core to v2 (main) (#26038) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/schema/package.json | 2 +- pnpm-lock.yaml | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/packages/schema/package.json b/packages/schema/package.json index 2f17516291..4ef5c892c1 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,7 +42,7 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.20", - "@vue/language-core": "1.8.27", + "@vue/language-core": "2.0.4", "c12": "1.9.0", "esbuild-loader": "4.0.3", "h3": "1.11.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 89580c2e39..3f6349261f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -494,8 +494,8 @@ importers: specifier: 3.4.20 version: 3.4.20 '@vue/language-core': - specifier: 1.8.27 - version: 1.8.27(typescript@5.3.3) + specifier: 2.0.4 + version: 2.0.4(typescript@5.3.3) c12: specifier: 1.9.0 version: 1.9.0 @@ -3612,6 +3612,24 @@ packages: typescript: 5.3.3 vue-template-compiler: 2.7.14 + /@vue/language-core@2.0.4(typescript@5.3.3): + resolution: {integrity: sha512-IYlVEICXKRWYjRQ4JyPlXhydU/p0C7uY5LpqXyJzzJHWo44LWHZtTP3USfWNQif3VAK5QZpdZKQ5HYIeQL3BJQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 2.1.0 + '@vue/compiler-dom': 3.4.20 + '@vue/shared': 3.4.20 + computeds: 0.0.1 + minimatch: 9.0.3 + path-browserify: 1.0.1 + typescript: 5.3.3 + vue-template-compiler: 2.7.14 + dev: true + /@vue/reactivity@3.4.20: resolution: {integrity: sha512-P5LJcxUkG6inlHr6MHVA4AVFAmRYJQ7ONGWJILNjMjoYuEXFhYviSCb9BEMyszSG/1kWCZbtWQlKSLasFRpThw==} dependencies: @@ -10727,6 +10745,15 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 + /unplugin@1.8.0: + resolution: {integrity: sha512-yGEQsodWICmgt7asHF7QzqDZYeEP9h14vyd9Lul98UnYf29pLZZLwI09z2QdTjwU/FCkum1SRvsK7cx232X8NA==} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + dev: true + /unstorage@1.10.1: resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==} peerDependencies: @@ -10816,7 +10843,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - unplugin: 1.7.1 + unplugin: 1.8.0 dev: true /update-browserslist-db@1.0.13(browserslist@4.23.0): From 23fbe8513be0a2a6552b5e070e1e20954bcd5e14 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Mon, 4 Mar 2024 11:32:34 +0100 Subject: [PATCH 171/470] perf(nuxt): don't check `isPrerendered` in dev for server page (#26061) --- packages/nuxt/src/components/runtime/server-component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/components/runtime/server-component.ts b/packages/nuxt/src/components/runtime/server-component.ts index e88118149f..a56fe0d7f6 100644 --- a/packages/nuxt/src/components/runtime/server-component.ts +++ b/packages/nuxt/src/components/runtime/server-component.ts @@ -42,7 +42,7 @@ export const createIslandPage = (name: string) => { }) const route = useRoute() - const path = await isPrerendered(route.path) ? route.path : route.fullPath.replace(/#.*$/, '') + const path = !import.meta.dev && await isPrerendered(route.path) ? route.path : route.fullPath.replace(/#.*$/, '') return () => { return h('div', [ From 75278ca8fbc84bf53d732bad7bdc613f9af3469e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 11:28:26 +0000 Subject: [PATCH 172/470] chore(deps): update all non-major dependencies (main) (#25983) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- .github/workflows/check-links.yml | 2 +- .github/workflows/ci.yml | 16 +- .github/workflows/scorecards.yml | 2 +- package.json | 14 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 18 +- packages/schema/package.json | 8 +- packages/vite/package.json | 8 +- packages/webpack/package.json | 12 +- pnpm-lock.yaml | 861 +++++++++++++++--------------- test/bundle.test.ts | 10 +- 11 files changed, 468 insertions(+), 485 deletions(-) diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 9b8ddaff9c..5165111a0b 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -18,7 +18,7 @@ jobs: steps: # Cache lychee results (e.g. to avoid hitting rate limits) - name: Restore lychee cache - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 + uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 with: path: .lycheecache key: cache-lychee-${{ github.sha }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f50805f2cc..c8df43468f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,19 +85,19 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 + uses: github/codeql-action/init@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6 with: languages: javascript queries: +security-and-quality - name: Restore dist cache - uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: dist path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 + uses: github/codeql-action/analyze@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6 with: category: "/language:javascript" @@ -124,7 +124,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: dist path: packages @@ -236,7 +236,7 @@ jobs: echo "PLAYWRIGHT_VERSION=$env:PLAYWRIGHT_VERSION" >> $env:GITHUB_ENV - name: Cache Playwright's binary - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 + uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 with: key: ${{ runner.os }}-playwright-bin-v1-${{ env.PLAYWRIGHT_VERSION }} path: ${{ env.PLAYWRIGHT_BROWSERS_PATH }} @@ -247,7 +247,7 @@ jobs: run: pnpm playwright-core install chromium - name: Restore dist cache - uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: dist path: packages @@ -296,7 +296,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: dist path: packages @@ -335,7 +335,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4.1.3 + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: dist path: packages diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 4d7d7ae87e..cf938cdaea 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5 + uses: github/codeql-action/upload-sarif@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6 with: sarif_file: results.sarif diff --git a/package.json b/package.json index faeaca21e6..9c21259625 100644 --- a/package.json +++ b/package.json @@ -40,8 +40,8 @@ "rollup": "^4.12.0", "nuxt": "workspace:*", "vite": "5.1.4", - "vue": "3.4.20", - "magic-string": "^0.30.7" + "vue": "3.4.21", + "magic-string": "^0.30.8" }, "devDependencies": { "@codspeed/vitest-plugin": "3.1.0", @@ -51,7 +51,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.2", "@types/fs-extra": "11.0.4", - "@types/node": "20.11.20", + "@types/node": "20.11.24", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.3.1", "@vue/test-utils": "2.4.4", @@ -71,13 +71,13 @@ "happy-dom": "13.6.2", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", - "nitropack": "2.8.1", + "nitropack": "2.9.1", "nuxi": "3.10.1", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", "ofetch": "1.3.3", "pathe": "1.1.2", - "playwright-core": "1.41.2", + "playwright-core": "1.42.1", "rimraf": "5.0.5", "semver": "7.6.0", "std-env": "3.7.0", @@ -85,10 +85,10 @@ "ufo": "1.4.0", "vitest": "1.3.1", "vitest-environment-nuxt": "1.0.0", - "vue": "3.4.20", + "vue": "3.4.21", "vue-eslint-parser": "9.4.2", "vue-router": "4.3.0", - "vue-tsc": "2.0.1" + "vue-tsc": "2.0.4" }, "packageManager": "pnpm@8.15.4", "engines": { diff --git a/packages/kit/package.json b/packages/kit/package.json index 1c9f641547..9ea27fa439 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -50,7 +50,7 @@ "@types/lodash-es": "4.17.12", "@types/semver": "7.5.8", "lodash-es": "4.17.21", - "nitropack": "2.8.1", + "nitropack": "2.9.1", "unbuild": "latest", "vite": "5.1.4", "vitest": "1.3.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 49c0d28790..2cef7b0ecd 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,10 +66,10 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.8.10", - "@unhead/ssr": "^1.8.10", - "@unhead/vue": "^1.8.10", - "@vue/shared": "^3.4.20", + "@unhead/dom": "^1.8.11", + "@unhead/ssr": "^1.8.11", + "@unhead/vue": "^1.8.11", + "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.9.0", "chokidar": "^3.6.0", @@ -87,11 +87,11 @@ "jiti": "^1.21.0", "klona": "^2.0.6", "knitwork": "^1.0.0", - "magic-string": "^0.30.7", + "magic-string": "^0.30.8", "mlly": "^1.6.1", - "nitropack": "^2.8.1", + "nitropack": "^2.9.1", "nuxi": "^3.10.1", - "nypm": "^0.3.6", + "nypm": "^0.3.8", "ofetch": "^1.3.3", "ohash": "^1.1.3", "pathe": "^1.1.2", @@ -107,10 +107,10 @@ "unctx": "^2.3.1", "unenv": "^1.9.0", "unimport": "^3.7.1", - "unplugin": "^1.7.1", + "unplugin": "^1.8.0", "unplugin-vue-router": "^0.7.0", "untyped": "^1.4.2", - "vue": "^3.4.20", + "vue": "^3.4.21", "vue-bundle-renderer": "^2.0.0", "vue-devtools-stub": "^0.1.0", "vue-router": "^4.3.0" diff --git a/packages/schema/package.json b/packages/schema/package.json index 4ef5c892c1..aae470da59 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,22 +38,22 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.8.10", + "@unhead/schema": "1.8.11", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", - "@vue/compiler-core": "3.4.20", + "@vue/compiler-core": "3.4.21", "@vue/language-core": "2.0.4", "c12": "1.9.0", "esbuild-loader": "4.0.3", "h3": "1.11.1", "ignore": "5.3.1", - "nitropack": "2.8.1", + "nitropack": "2.9.1", "ofetch": "1.3.3", "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", "vite": "5.1.4", - "vue": "3.4.20", + "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", "vue-router": "4.3.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 78e33249fd..1cd5a7402f 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -29,14 +29,14 @@ "@types/estree": "1.0.5", "@types/fs-extra": "11.0.4", "unbuild": "latest", - "vue": "3.4.20" + "vue": "3.4.21" }, "dependencies": { "@nuxt/kit": "workspace:*", "@rollup/plugin-replace": "^5.0.5", "@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue-jsx": "^3.1.0", - "autoprefixer": "^10.4.17", + "autoprefixer": "^10.4.18", "clear": "^0.1.0", "consola": "^3.2.3", "cssnano": "^6.0.5", @@ -49,7 +49,7 @@ "get-port-please": "^3.1.2", "h3": "^1.11.1", "knitwork": "^1.0.0", - "magic-string": "^0.30.7", + "magic-string": "^0.30.8", "mlly": "^1.6.1", "ohash": "^1.1.3", "pathe": "^1.1.2", @@ -61,7 +61,7 @@ "strip-literal": "^2.0.0", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.7.1", + "unplugin": "^1.8.0", "vite": "^5.1.4", "vite-node": "^1.3.1", "vite-plugin-checker": "^0.6.4", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 3d6c60de31..b3038f6090 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -27,7 +27,7 @@ "dependencies": { "@nuxt/friendly-errors-webpack-plugin": "^2.6.0", "@nuxt/kit": "workspace:*", - "autoprefixer": "^10.4.17", + "autoprefixer": "^10.4.18", "css-loader": "^6.10.0", "css-minimizer-webpack-plugin": "^6.0.0", "cssnano": "^6.0.5", @@ -41,9 +41,9 @@ "h3": "^1.11.1", "hash-sum": "^2.0.0", "lodash-es": "4.17.21", - "magic-string": "^0.30.7", + "magic-string": "^0.30.8", "memfs": "^4.7.7", - "mini-css-extract-plugin": "^2.8.0", + "mini-css-extract-plugin": "^2.8.1", "mlly": "^1.6.1", "ohash": "^1.1.3", "pathe": "^1.1.2", @@ -51,14 +51,14 @@ "postcss": "^8.4.35", "postcss-import": "^16.0.1", "postcss-import-resolver": "^2.0.0", - "postcss-loader": "^8.1.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.4.0", "unenv": "^1.9.0", - "unplugin": "^1.7.1", + "unplugin": "^1.8.0", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", @@ -78,7 +78,7 @@ "@types/webpack-hot-middleware": "2.25.9", "@types/webpack-virtual-modules": "0.1.3", "unbuild": "latest", - "vue": "3.4.20" + "vue": "3.4.21" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3f6349261f..2e385530d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ overrides: rollup: ^4.12.0 nuxt: workspace:* vite: 5.1.4 - vue: 3.4.20 - magic-string: ^0.30.7 + vue: 3.4.21 + magic-string: ^0.30.8 importers: @@ -30,19 +30,19 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack '@testing-library/vue': specifier: 8.0.2 - version: 8.0.2(vue@3.4.20) + version: 8.0.2(vue@3.4.21) '@types/fs-extra': specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.20 - version: 20.11.20 + specifier: 20.11.24 + version: 20.11.24 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -51,7 +51,7 @@ importers: version: 1.3.1(vitest@1.3.1) '@vue/test-utils': specifier: 2.4.4 - version: 2.4.4(vue@3.4.20) + version: 2.4.4(vue@3.4.21) case-police: specifier: 0.6.1 version: 0.6.1 @@ -101,8 +101,8 @@ importers: specifier: 0.39.0 version: 0.39.0 nitropack: - specifier: 2.8.1 - version: 2.8.1 + specifier: 2.9.1 + version: 2.9.1 nuxi: specifier: 3.10.1 version: 3.10.1 @@ -119,8 +119,8 @@ importers: specifier: 1.1.2 version: 1.1.2 playwright-core: - specifier: 1.41.2 - version: 1.41.2 + specifier: 1.42.1 + version: 1.42.1 rimraf: specifier: 5.0.5 version: 5.0.5 @@ -138,22 +138,22 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) + version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) vue-eslint-parser: specifier: 9.4.2 version: 9.4.2(eslint@8.57.0) vue-router: specifier: 4.3.0 - version: 4.3.0(vue@3.4.20) + version: 4.3.0(vue@3.4.21) vue-tsc: - specifier: 2.0.1 - version: 2.0.1(typescript@5.3.3) + specifier: 2.0.4 + version: 2.0.4(typescript@5.3.3) packages/kit: dependencies: @@ -225,17 +225,17 @@ importers: specifier: 4.17.21 version: 4.17.21 nitropack: - specifier: 2.8.1 - version: 2.8.1 + specifier: 2.9.1 + version: 2.9.1 unbuild: specifier: latest version: 2.0.0(typescript@5.3.3) vite: specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.20) + version: 5.1.4(@types/node@20.11.24) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) + version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) webpack: specifier: 5.90.3 version: 5.90.3 @@ -265,19 +265,19 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.11.20 + version: 20.11.24 '@unhead/dom': - specifier: ^1.8.10 - version: 1.8.10 + specifier: ^1.8.11 + version: 1.8.11 '@unhead/ssr': - specifier: ^1.8.10 - version: 1.8.10 + specifier: ^1.8.11 + version: 1.8.11 '@unhead/vue': - specifier: ^1.8.10 - version: 1.8.10(vue@3.4.20) + specifier: ^1.8.11 + version: 1.8.11(vue@3.4.21) '@vue/shared': - specifier: ^3.4.20 - version: 3.4.20 + specifier: ^3.4.21 + version: 3.4.21 acorn: specifier: 8.11.3 version: 8.11.3 @@ -330,20 +330,20 @@ importers: specifier: ^1.0.0 version: 1.0.0 magic-string: - specifier: ^0.30.7 - version: 0.30.7 + specifier: ^0.30.8 + version: 0.30.8 mlly: specifier: ^1.6.1 version: 1.6.1 nitropack: - specifier: ^2.8.1 - version: 2.8.1 + specifier: ^2.9.1 + version: 2.9.1 nuxi: specifier: ^3.10.1 version: 3.10.1 nypm: - specifier: ^0.3.6 - version: 0.3.6 + specifier: ^0.3.8 + version: 0.3.8 ofetch: specifier: ^1.3.3 version: 1.3.3 @@ -390,17 +390,17 @@ importers: specifier: ^3.7.1 version: 3.7.1(rollup@4.12.0) unplugin: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.8.0 + version: 1.8.0 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.20) + version: 0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.21) untyped: specifier: ^1.4.2 version: 1.4.2 vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -409,7 +409,7 @@ importers: version: 0.1.0 vue-router: specifier: ^4.3.0 - version: 4.3.0(vue@3.4.20) + version: 4.3.0(vue@3.4.21) devDependencies: '@parcel/watcher': specifier: 2.4.1 @@ -422,16 +422,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.20) + version: 5.0.4(vite@5.1.4)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.3.3) vite: specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.20) + version: 5.1.4(@types/node@20.11.24) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) + version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) packages/schema: dependencies: @@ -482,17 +482,17 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.8.10 - version: 1.8.10 + specifier: 1.8.11 + version: 1.8.11 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.20) + version: 5.0.4(vite@5.1.4)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.1.4)(vue@3.4.20) + version: 3.1.0(vite@5.1.4)(vue@3.4.21) '@vue/compiler-core': - specifier: 3.4.20 - version: 3.4.20 + specifier: 3.4.21 + version: 3.4.21 '@vue/language-core': specifier: 2.0.4 version: 2.0.4(typescript@5.3.3) @@ -509,8 +509,8 @@ importers: specifier: 5.3.1 version: 5.3.1 nitropack: - specifier: 2.8.1 - version: 2.8.1 + specifier: 2.9.1 + version: 2.9.1 ofetch: specifier: 1.3.3 version: 1.3.3 @@ -525,19 +525,19 @@ importers: version: 1.9.0 vite: specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.20) + version: 5.1.4(@types/node@20.11.24) vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) vue-bundle-renderer: specifier: 2.0.0 version: 2.0.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(vue@3.4.20)(webpack@5.90.3) + version: 17.4.2(vue@3.4.21)(webpack@5.90.3) vue-router: specifier: 4.3.0 - version: 4.3.0(vue@3.4.20) + version: 4.3.0(vue@3.4.21) webpack: specifier: 5.90.3 version: 5.90.3 @@ -555,13 +555,13 @@ importers: version: 5.0.5(rollup@4.12.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.20) + version: 5.0.4(vite@5.1.4)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.1.4)(vue@3.4.20) + version: 3.1.0(vite@5.1.4)(vue@3.4.21) autoprefixer: - specifier: ^10.4.17 - version: 10.4.17(postcss@8.4.35) + specifier: ^10.4.18 + version: 10.4.18(postcss@8.4.35) clear: specifier: ^0.1.0 version: 0.1.0 @@ -599,8 +599,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 magic-string: - specifier: ^0.30.7 - version: 0.30.7 + specifier: ^0.30.8 + version: 0.30.8 mlly: specifier: ^1.6.1 version: 1.6.1 @@ -635,17 +635,17 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.8.0 + version: 1.8.0 vite: specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.20) + version: 5.1.4(@types/node@20.11.24) vite-node: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.20) + version: 1.3.1(@types/node@20.11.24) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.1) + version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.4) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -666,8 +666,8 @@ importers: specifier: latest version: 2.0.0(typescript@5.3.3) vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) packages/webpack: dependencies: @@ -678,8 +678,8 @@ importers: specifier: workspace:* version: link:../kit autoprefixer: - specifier: ^10.4.17 - version: 10.4.17(postcss@8.4.35) + specifier: ^10.4.18 + version: 10.4.18(postcss@8.4.35) css-loader: specifier: ^6.10.0 version: 6.10.0(webpack@5.90.3) @@ -720,14 +720,14 @@ importers: specifier: 4.17.21 version: 4.17.21 magic-string: - specifier: ^0.30.7 - version: 0.30.7 + specifier: ^0.30.8 + version: 0.30.8 memfs: specifier: ^4.7.7 version: 4.7.7 mini-css-extract-plugin: - specifier: ^2.8.0 - version: 2.8.0(webpack@5.90.3) + specifier: ^2.8.1 + version: 2.8.1(webpack@5.90.3) mlly: specifier: ^1.6.1 version: 1.6.1 @@ -750,8 +750,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 postcss-loader: - specifier: ^8.1.0 - version: 8.1.0(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3) + specifier: ^8.1.1 + version: 8.1.1(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3) postcss-url: specifier: ^10.1.3 version: 10.1.3(postcss@8.4.35) @@ -771,8 +771,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.8.0 + version: 1.8.0 url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) @@ -781,7 +781,7 @@ importers: version: 2.0.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(vue@3.4.20)(webpack@5.90.3) + version: 17.4.2(vue@3.4.21)(webpack@5.90.3) webpack: specifier: ^5.90.3 version: 5.90.3 @@ -826,8 +826,8 @@ importers: specifier: latest version: 2.0.0(typescript@5.3.3) vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) playground: dependencies: @@ -835,8 +835,8 @@ importers: specifier: workspace:* version: link:../packages/nuxt vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) test/fixtures/basic: dependencies: @@ -852,10 +852,10 @@ importers: version: 1.4.0 unplugin: specifier: latest - version: 1.7.1 + version: 1.8.0 vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) test/fixtures/basic-types: dependencies: @@ -868,13 +868,13 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.20)(happy-dom@13.6.2) + version: 1.0.2(@types/node@20.11.24)(happy-dom@13.6.2) vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) vue-router: specifier: latest - version: 4.3.0(vue@3.4.20) + version: 4.3.0(vue@3.4.21) test/fixtures/minimal: dependencies: @@ -882,8 +882,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) test/fixtures/minimal-types: dependencies: @@ -891,8 +891,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) test/fixtures/runtime-compiler: dependencies: @@ -906,8 +906,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.20 - version: 3.4.20(typescript@5.3.3) + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) devDependencies: typescript: specifier: latest @@ -1245,8 +1245,8 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@cloudflare/kv-asset-handler@0.3.0: - resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==} + /@cloudflare/kv-asset-handler@0.3.1: + resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} dependencies: mime: 3.0.0 @@ -1268,8 +1268,8 @@ packages: vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.1.4(@types/node@20.11.20) - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) + vite: 5.1.4(@types/node@20.11.24) + vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) transitivePeerDependencies: - debug dev: true @@ -1302,7 +1302,6 @@ packages: cpu: [ppc64] os: [aix] requiresBuild: true - dev: false optional: true /@esbuild/android-arm64@0.18.20: @@ -1328,7 +1327,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/android-arm@0.18.20: @@ -1354,7 +1352,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/android-x64@0.18.20: @@ -1380,7 +1377,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/darwin-arm64@0.18.20: @@ -1406,7 +1402,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: false optional: true /@esbuild/darwin-x64@0.18.20: @@ -1432,7 +1427,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: false optional: true /@esbuild/freebsd-arm64@0.18.20: @@ -1458,7 +1452,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: false optional: true /@esbuild/freebsd-x64@0.18.20: @@ -1484,7 +1477,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: false optional: true /@esbuild/linux-arm64@0.18.20: @@ -1510,7 +1502,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-arm@0.18.20: @@ -1536,7 +1527,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-ia32@0.18.20: @@ -1562,7 +1552,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-loong64@0.18.20: @@ -1588,7 +1577,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-mips64el@0.18.20: @@ -1614,7 +1602,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-ppc64@0.18.20: @@ -1640,7 +1627,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-riscv64@0.18.20: @@ -1666,7 +1652,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-s390x@0.18.20: @@ -1692,7 +1677,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-x64@0.18.20: @@ -1718,7 +1702,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/netbsd-x64@0.18.20: @@ -1744,7 +1727,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: false optional: true /@esbuild/openbsd-x64@0.18.20: @@ -1770,7 +1752,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: false optional: true /@esbuild/sunos-x64@0.18.20: @@ -1796,7 +1777,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: false optional: true /@esbuild/win32-arm64@0.18.20: @@ -1822,7 +1802,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: false optional: true /@esbuild/win32-ia32@0.18.20: @@ -1848,7 +1827,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: false optional: true /@esbuild/win32-x64@0.18.20: @@ -1874,7 +1852,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: false optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): @@ -1979,7 +1956,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.11.20 + '@types/node': 20.11.24 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2044,19 +2021,18 @@ packages: - encoding - supports-color - /@netlify/functions@2.4.0: - resolution: {integrity: sha512-dIqhdj5u4Lu/8qbYwtYpn8NfvIyPHbSTV2lAP4ocL+iwC9As06AXT0wa/xOpO2vRWJa0IMxdZaqCPnkyHlHiyg==} + /@netlify/functions@2.6.0: + resolution: {integrity: sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==} engines: {node: '>=14.0.0'} dependencies: - '@netlify/serverless-functions-api': 1.11.0 - is-promise: 4.0.0 + '@netlify/serverless-functions-api': 1.14.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.11.0: - resolution: {integrity: sha512-3splAsr2CekL7VTwgo6yTvzD2+f269/s+TJafYazonqMNNo31yzvFxD5HpLtni4DNE1ppymVKZ4X/rLN3yl0vQ==} + /@netlify/serverless-functions-api@1.14.0: + resolution: {integrity: sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@netlify/node-cookies': 0.1.0 @@ -2164,7 +2140,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.1.4(@types/node@20.11.20) + vite: 5.1.4(@types/node@20.11.24) dev: false /@nuxt/devtools-wizard@1.0.8: @@ -2209,7 +2185,7 @@ packages: local-pkg: 0.5.0 magicast: 0.3.3 nuxt: link:packages/nuxt - nypm: 0.3.6 + nypm: 0.3.8 ohash: 1.1.3 pacote: 17.0.5 pathe: 1.1.2 @@ -2221,7 +2197,7 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.12.0) - vite: 5.1.4(@types/node@20.11.20) + vite: 5.1.4(@types/node@20.11.24) vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.4) vite-plugin-vue-inspector: 4.0.2(vite@5.1.4) which: 3.0.1 @@ -2284,7 +2260,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2299,7 +2275,7 @@ packages: playwright-core: ^1.34.3 vite: 5.1.4 vitest: ^0.34.6 || ^1.0.0 - vue: 3.4.20 + vue: 3.4.21 vue-router: ^4.0.0 peerDependenciesMeta: '@cucumber/cucumber': @@ -2323,8 +2299,8 @@ packages: dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema - '@testing-library/vue': 8.0.2(vue@3.4.20) - '@vue/test-utils': 2.4.4(vue@3.4.20) + '@testing-library/vue': 8.0.2(vue@3.4.21) + '@vue/test-utils': 2.4.4(vue@3.4.21) c12: 1.9.0 consola: 3.2.3 defu: 6.1.4 @@ -2336,23 +2312,23 @@ packages: h3: 1.11.1 happy-dom: 13.6.2 local-pkg: 0.5.0 - magic-string: 0.30.7 - node-fetch-native: 1.6.1 + magic-string: 0.30.8 + node-fetch-native: 1.6.2 ofetch: 1.3.3 pathe: 1.1.2 perfect-debounce: 1.0.0 - playwright-core: 1.41.2 + playwright-core: 1.42.1 radix3: 1.1.0 scule: 1.3.0 std-env: 3.7.0 ufo: 1.4.0 unenv: 1.9.0 - unplugin: 1.7.1 - vite: 5.1.4(@types/node@20.11.20) - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20) - vue: 3.4.20(typescript@5.3.3) - vue-router: 4.3.0(vue@3.4.20) + unplugin: 1.8.0 + vite: 5.1.4(@types/node@20.11.24) + vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vue: 3.4.21(typescript@5.3.3) + vue-router: 4.3.0(vue@3.4.21) dev: true /@nuxt/ui-templates@1.3.1: @@ -2366,7 +2342,7 @@ packages: '@shikijs/transformers': 1.1.2 '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - '@vue/compiler-core': 3.4.20 + '@vue/compiler-core': 3.4.21 consola: 3.2.3 debug: 4.3.4 defu: 6.1.4 @@ -2477,8 +2453,8 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-wasm@2.3.0: - resolution: {integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==} + /@parcel/watcher-wasm@2.4.1: + resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} engines: {node: '>= 10.0.0'} dependencies: is-glob: 4.0.3 @@ -2568,7 +2544,7 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.7 + magic-string: 0.30.8 rollup: 4.12.0 /@rollup/plugin-inject@5.0.5(rollup@4.12.0): @@ -2582,11 +2558,11 @@ packages: dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.12.0) estree-walker: 2.0.2 - magic-string: 0.30.7 + magic-string: 0.30.8 rollup: 4.12.0 - /@rollup/plugin-json@6.0.1(rollup@4.12.0): - resolution: {integrity: sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==} + /@rollup/plugin-json@6.1.0(rollup@4.12.0): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^4.12.0 @@ -2624,7 +2600,7 @@ packages: optional: true dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - magic-string: 0.30.7 + magic-string: 0.30.8 rollup: 4.12.0 /@rollup/plugin-terser@0.4.4(rollup@4.12.0): @@ -2641,18 +2617,6 @@ packages: smob: 1.4.1 terser: 5.27.0 - /@rollup/plugin-wasm@6.2.2(rollup@4.12.0): - resolution: {integrity: sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^4.12.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - rollup: 4.12.0 - /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -2797,14 +2761,14 @@ packages: resolution: {integrity: sha512-OpOu/KszoEIm/pdTMmnFW+cPKj+Vw8Jut4CLivqdwgHysTdMUphyG/nuaYcpVZfCQBu6JLfQ6izgkYrefiKzXQ==} dependencies: '@shikijs/twoslash': 1.1.6(typescript@5.3.3) - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.20) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.1.6 twoslash: 0.2.4(typescript@5.3.3) twoslash-vue: 0.2.4(typescript@5.3.3) - vue: 3.4.20(typescript@5.3.3) + vue: 3.4.21(typescript@5.3.3) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -2870,20 +2834,20 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/vue@8.0.2(vue@3.4.20): + /@testing-library/vue@8.0.2(vue@3.4.21): resolution: {integrity: sha512-A8wWX+qQn0o0izpQWnGCpwQt8wAdpsVP8vPP2h5Q/jcGhZ5yKXz9PPUqhQv+45LTFaWlyRf8bArTVaB/KFFd5A==} engines: {node: '>=14'} peerDependencies: '@vue/compiler-sfc': '>= 3' - vue: 3.4.20 + vue: 3.4.21 peerDependenciesMeta: '@vue/compiler-sfc': optional: true dependencies: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 - '@vue/test-utils': 2.4.4(vue@3.4.20) - vue: 3.4.20(typescript@5.3.3) + '@vue/test-utils': 2.4.4(vue@3.4.21) + vue: 3.4.21(typescript@5.3.3) transitivePeerDependencies: - '@vue/server-renderer' dev: true @@ -2922,7 +2886,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 dev: true /@types/debug@4.1.12: @@ -2956,7 +2920,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.11.20 + '@types/node': 20.11.24 dev: true /@types/hash-sum@1.0.2: @@ -2972,7 +2936,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -2999,7 +2963,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 dev: true /@types/lodash-es@4.17.12: @@ -3025,11 +2989,11 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 dev: true - /@types/node@20.11.20: - resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} dependencies: undici-types: 5.26.5 @@ -3051,7 +3015,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3086,7 +3050,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 tapable: 2.2.1 webpack: 5.90.3 transitivePeerDependencies: @@ -3112,7 +3076,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3126,7 +3090,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3286,52 +3250,53 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.8.10: - resolution: {integrity: sha512-dBeDbHrBjeU+eVgMsD91TGEazb1dwLrY0x/ve01CldMCmm+WcRu++SUW7s1QX84mzGH2EgFz78o1OPn6jpV3zw==} + /@unhead/dom@1.8.11: + resolution: {integrity: sha512-B5Bae4Y+6/2oDlfNJwEuf1kApyM4pmZ01VReWcVDYAdZpkD7eZZoVZnF945MluaMb6SMvGIXejcSUXTH/BOWaQ==} dependencies: - '@unhead/schema': 1.8.10 - '@unhead/shared': 1.8.10 + '@unhead/schema': 1.8.11 + '@unhead/shared': 1.8.11 dev: false - /@unhead/schema@1.8.10: - resolution: {integrity: sha512-cy8RGOPkwOVY5EmRoCgGV8AqLjy/226xBVTY54kBct02Om3hBdpB9FZa9frM910pPUXMI8PNmFgABO23O7IdJA==} + /@unhead/schema@1.8.11: + resolution: {integrity: sha512-Aok9sZcVznJxjBRF/v2LKaeoqgYU/9kuyknYhf3M13byrdp3dLD6qcUvnLC98PrPVy7CMfOov4kXHoI/DRY5MQ==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.8.10: - resolution: {integrity: sha512-pEFryAs3EmV+ShDQx2ZBwUnt5l3RrMrXSMZ50oFf+MImKZNARVvD4+3I8fEI9wZh+Zq0JYG3UAfzo51MUP+Juw==} + /@unhead/shared@1.8.11: + resolution: {integrity: sha512-Mz3pAJUq160mPXYFNUalfyEDQ0a6eRIbMlJFQ7HNy8shM+4kbeKgInoaa2EaFF8zRrhYvuLJZhyLk5kFINSmBg==} dependencies: - '@unhead/schema': 1.8.10 + '@unhead/schema': 1.8.11 dev: false - /@unhead/ssr@1.8.10: - resolution: {integrity: sha512-7wKRKDd8c2NFmMyPetj8Ah5u2hXunDBZT5Y2DH83O16PiMxx4/uobGamTV1EfcqjTvOKJvAqkrYZNYSWss99NQ==} + /@unhead/ssr@1.8.11: + resolution: {integrity: sha512-5LI+uzcNu2FQp2IOoRQSaWWPDBQNXIuOvcZfxUDKzj0GMdqHRaugPdf44Jje7SmG7RsPhOR9DHKDtuCJ65zcaw==} dependencies: - '@unhead/schema': 1.8.10 - '@unhead/shared': 1.8.10 + '@unhead/schema': 1.8.11 + '@unhead/shared': 1.8.11 dev: false - /@unhead/vue@1.8.10(vue@3.4.20): - resolution: {integrity: sha512-KF8pftHnxnlBlgNpKXWLTg3ZUtkuDCxRPUFSDBy9CtqRSX/qvAhLZ26mbqRVmHj8KigiRHP/wnPWNyGnUx20Bg==} + /@unhead/vue@1.8.11(vue@3.4.21): + resolution: {integrity: sha512-yEpQaBYQsqld3m6lexMP+Vf0+j2UdY/QIO98b7v2XBm200ruZmRvI4IJDMrI8cODVwSnwQWHDLF2upXlNeQ4Qg==} peerDependencies: - vue: 3.4.20 + vue: 3.4.21 dependencies: - '@unhead/schema': 1.8.10 - '@unhead/shared': 1.8.10 + '@unhead/schema': 1.8.11 + '@unhead/shared': 1.8.11 hookable: 5.5.3 - unhead: 1.8.10 - vue: 3.4.20(typescript@5.3.3) + unhead: 1.8.11 + vue: 3.4.21(typescript@5.3.3) dev: false - /@vercel/nft@0.24.3: - resolution: {integrity: sha512-IyBdIxmFAeGZnEfMgt4QrGK7XX4lWazlQj34HEi9dw04/WeDBJ7r1yaOIO5tTf9pbfvwUFodj9b0H+NDGGoOMg==} + /@vercel/nft@0.26.4: + resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} engines: {node: '>=16'} hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 acorn: 8.11.3 + acorn-import-attributes: 1.9.2(acorn@8.11.3) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -3344,30 +3309,30 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4)(vue@3.4.20): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: 5.1.4 - vue: 3.4.20 + vue: 3.4.21 dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.4(@types/node@20.11.20) - vue: 3.4.20(typescript@5.3.3) + vite: 5.1.4(@types/node@20.11.24) + vue: 3.4.21(typescript@5.3.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.20): + /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: 5.1.4 - vue: 3.4.20 + vue: 3.4.21 dependencies: - vite: 5.1.4(@types/node@20.11.20) - vue: 3.4.20(typescript@5.3.3) + vite: 5.1.4(@types/node@20.11.24) + vue: 3.4.21(typescript@5.3.3) /@vitest/coverage-v8@1.3.1(vitest@1.3.1): resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} @@ -3381,13 +3346,13 @@ packages: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - magic-string: 0.30.7 + magic-string: 0.30.8 magicast: 0.3.3 picocolors: 1.0.0 std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.20)(happy-dom@13.6.2) + vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) transitivePeerDependencies: - supports-color dev: true @@ -3427,7 +3392,7 @@ packages: /@vitest/snapshot@1.0.2: resolution: {integrity: sha512-9ClDz2/aV5TfWA4reV7XR9p+hE0e7bifhwxlURugj3Fw0YXeTFzHmKCNEHd6wOIFMfthbGGwhlq7TOJ2jDO4/g==} dependencies: - magic-string: 0.30.7 + magic-string: 0.30.8 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -3435,7 +3400,7 @@ packages: /@vitest/snapshot@1.3.1: resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} dependencies: - magic-string: 0.30.7 + magic-string: 0.30.8 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -3497,22 +3462,22 @@ packages: '@volar/language-core': 2.1.0 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.20): + /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: - vue: 3.4.20 + vue: 3.4.21 peerDependenciesMeta: vue: optional: true dependencies: '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue/compiler-sfc': 3.4.20 + '@vue/compiler-sfc': 3.4.21 ast-kit: 0.11.3(rollup@4.12.0) local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.4.20(typescript@5.3.3) + vue: 3.4.21(typescript@5.3.3) transitivePeerDependencies: - rollup dev: false @@ -3538,39 +3503,39 @@ packages: transitivePeerDependencies: - supports-color - /@vue/compiler-core@3.4.20: - resolution: {integrity: sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==} + /@vue/compiler-core@3.4.21: + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: '@babel/parser': 7.23.9 - '@vue/shared': 3.4.20 + '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.4.20: - resolution: {integrity: sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==} + /@vue/compiler-dom@3.4.21: + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} dependencies: - '@vue/compiler-core': 3.4.20 - '@vue/shared': 3.4.20 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 - /@vue/compiler-sfc@3.4.20: - resolution: {integrity: sha512-nPuTZz0yxTPzjyYe+9nQQsFYImcz/57UX8N3jyhl5oIUUs2jqqAMaULsAlJwve3qNYfjQzq0bwy3pqJrN9ecZw==} + /@vue/compiler-sfc@3.4.21: + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} dependencies: '@babel/parser': 7.23.9 - '@vue/compiler-core': 3.4.20 - '@vue/compiler-dom': 3.4.20 - '@vue/compiler-ssr': 3.4.20 - '@vue/shared': 3.4.20 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 estree-walker: 2.0.2 - magic-string: 0.30.7 + magic-string: 0.30.8 postcss: 8.4.35 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.4.20: - resolution: {integrity: sha512-b3gFQPiHLvI12C56otzBPpQhZ5kgkJ5RMv/zpLjLC2BIFwX5GktDqYQ7xg0Q2grP6uFI8al3beVKvAVxFtXmIg==} + /@vue/compiler-ssr@3.4.21: + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} dependencies: - '@vue/compiler-dom': 3.4.20 - '@vue/shared': 3.4.20 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} @@ -3585,8 +3550,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.20 - '@vue/shared': 3.4.20 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -3595,23 +3560,6 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.1(typescript@5.3.3): - resolution: {integrity: sha512-TZ9xKj3WhZol2hWvXcCjGDiOVkmQ1aG7MS3YJkhVMeoLYyopP5XFn9Obc9qorxG6vZDWapRxBkyEzJ9d6xL3Zg==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@volar/language-core': 2.1.0 - '@vue/compiler-dom': 3.4.20 - '@vue/shared': 3.4.20 - computeds: 0.0.1 - minimatch: 9.0.3 - path-browserify: 1.0.1 - typescript: 5.3.3 - vue-template-compiler: 2.7.14 - /@vue/language-core@2.0.4(typescript@5.3.3): resolution: {integrity: sha512-IYlVEICXKRWYjRQ4JyPlXhydU/p0C7uY5LpqXyJzzJHWo44LWHZtTP3USfWNQif3VAK5QZpdZKQ5HYIeQL3BJQ==} peerDependencies: @@ -3621,56 +3569,55 @@ packages: optional: true dependencies: '@volar/language-core': 2.1.0 - '@vue/compiler-dom': 3.4.20 - '@vue/shared': 3.4.20 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 computeds: 0.0.1 minimatch: 9.0.3 path-browserify: 1.0.1 typescript: 5.3.3 vue-template-compiler: 2.7.14 - dev: true - /@vue/reactivity@3.4.20: - resolution: {integrity: sha512-P5LJcxUkG6inlHr6MHVA4AVFAmRYJQ7ONGWJILNjMjoYuEXFhYviSCb9BEMyszSG/1kWCZbtWQlKSLasFRpThw==} + /@vue/reactivity@3.4.21: + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} dependencies: - '@vue/shared': 3.4.20 + '@vue/shared': 3.4.21 - /@vue/runtime-core@3.4.20: - resolution: {integrity: sha512-MPvsQpGAxoBqLHjqopt4YPtUYBpq0K6oAWDTwIR1CTNZ3y9O/J2ZVh+i2JpxKNYwANJBiZ20O99NE20uisB7xw==} + /@vue/runtime-core@3.4.21: + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} dependencies: - '@vue/reactivity': 3.4.20 - '@vue/shared': 3.4.20 + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 - /@vue/runtime-dom@3.4.20: - resolution: {integrity: sha512-OkbPVP69H+8m74543zMAAx/LIkajxufYyow41gc0s5iF0uplT5uTQ4llDYu1GeJZEI8wjL5ueiPQruk4qwOMmA==} + /@vue/runtime-dom@3.4.21: + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} dependencies: - '@vue/runtime-core': 3.4.20 - '@vue/shared': 3.4.20 + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 csstype: 3.1.3 - /@vue/server-renderer@3.4.20(vue@3.4.20): - resolution: {integrity: sha512-w3VH2GuwxQHA6pJo/HCV22OfVC8Mw4oeHQM+vKeqtRK0OPE1Wilnh+P/SDVGGxPjJsGmyfphi0dbw8UKZQJH9w==} + /@vue/server-renderer@3.4.21(vue@3.4.21): + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} peerDependencies: - vue: 3.4.20 + vue: 3.4.21 dependencies: - '@vue/compiler-ssr': 3.4.20 - '@vue/shared': 3.4.20 - vue: 3.4.20(typescript@5.3.3) + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.3.3) - /@vue/shared@3.4.20: - resolution: {integrity: sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==} + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - /@vue/test-utils@2.4.4(vue@3.4.20): + /@vue/test-utils@2.4.4(vue@3.4.21): resolution: {integrity: sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==} peerDependencies: '@vue/server-renderer': ^3.0.1 - vue: 3.4.20 + vue: 3.4.21 peerDependenciesMeta: '@vue/server-renderer': optional: true dependencies: js-beautify: 1.14.9 - vue: 3.4.20(typescript@5.3.3) + vue: 3.4.21(typescript@5.3.3) vue-component-type-helpers: 1.8.25 dev: true @@ -3781,6 +3728,13 @@ packages: dependencies: acorn: 8.11.3 + /acorn-import-attributes@1.9.2(acorn@8.11.3): + resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.3 + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -3932,9 +3886,6 @@ packages: /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - /arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - /archiver-utils@4.0.1: resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} engines: {node: '>= 12.0.0'} @@ -4108,15 +4059,15 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /autoprefixer@10.4.17(postcss@8.4.35): - resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} + /autoprefixer@10.4.18(postcss@8.4.35): + resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001589 + caniuse-lite: 1.0.30001593 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -4207,7 +4158,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001589 + caniuse-lite: 1.0.30001593 electron-to-chromium: 1.4.681 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -4312,13 +4263,13 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001589 + caniuse-lite: 1.0.30001593 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001589: - resolution: {integrity: sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==} + /caniuse-lite@1.0.30001593: + resolution: {integrity: sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==} /case-police@0.6.1: resolution: {integrity: sha512-tOgkG3HhtzNVHU+HVHqbpVJ3CICPDihtlgoM2C4dx0RLeo6qcNVeBgiYJN5Bln+stxKrnKrw89CFgqYQDqwZQg==} @@ -4371,7 +4322,7 @@ packages: convert-gitmoji: 0.1.3 execa: 8.0.1 mri: 1.2.0 - node-fetch-native: 1.6.1 + node-fetch-native: 1.6.2 ofetch: 1.3.3 open: 9.1.0 pathe: 1.1.2 @@ -4446,8 +4397,8 @@ packages: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} - /citty@0.1.5: - resolution: {integrity: sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==} + /citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} dependencies: consola: 3.2.3 @@ -4467,13 +4418,13 @@ packages: resolution: {integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==} dev: false - /clipboardy@3.0.0: - resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /clipboardy@4.0.0: + resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} + engines: {node: '>=18'} dependencies: - arch: 2.2.0 - execa: 5.1.1 - is-wsl: 2.2.0 + execa: 8.0.1 + is-wsl: 3.1.0 + is64bit: 2.0.0 /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} @@ -4662,6 +4613,10 @@ packages: /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + /croner@8.0.1: + resolution: {integrity: sha512-Hq1+lXVgjJjcS/U+uk6+yVmtxami0r0b+xVtlGyABgdz110l/kOnHWvlSI7nVzrTl8GCdZHwZS4pbBFT7hSL/g==} + engines: {node: '>=18.0'} + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -4852,6 +4807,20 @@ packages: resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} dev: false + /db0@0.1.3: + resolution: {integrity: sha512-g8mXmj+t5MRXiA1ARjhfLd6Acy98VLVd8VL5LOBZ49P4A7qzoGgt6pC/gDWuP4zS3BiqSnKXTjTQXviMsD/sxA==} + peerDependencies: + '@libsql/client': ^0.5.2 + better-sqlite3: ^9.4.3 + drizzle-orm: ^0.29.4 + peerDependenciesMeta: + '@libsql/client': + optional: true + better-sqlite3: + optional: true + drizzle-orm: + optional: true + /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -5409,7 +5378,6 @@ packages: '@esbuild/win32-arm64': 0.20.1 '@esbuild/win32-ia32': 0.20.1 '@esbuild/win32-x64': 0.20.1 - dev: false /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -5854,19 +5822,19 @@ packages: /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - /floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.20): + /floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21): resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': workspace:* - vue: 3.4.20 + vue: 3.4.21 peerDependenciesMeta: '@nuxt/kit': optional: true dependencies: '@floating-ui/dom': 1.1.1 '@nuxt/kit': link:packages/kit - vue: 3.4.20(typescript@5.3.3) - vue-resize: 2.0.0-alpha.1(vue@3.4.20) + vue: 3.4.21(typescript@5.3.3) + vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: true /follow-redirects@1.15.5: @@ -6076,11 +6044,11 @@ packages: resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} hasBin: true dependencies: - citty: 0.1.5 + citty: 0.1.6 consola: 3.2.3 defu: 6.1.4 - node-fetch-native: 1.6.1 - nypm: 0.3.6 + node-fetch-native: 1.6.2 + nypm: 0.3.8 ohash: 1.1.3 pathe: 1.1.2 tar: 6.2.0 @@ -6780,9 +6748,6 @@ packages: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} dev: false - /is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: @@ -6862,6 +6827,18 @@ packages: dependencies: is-docker: 2.2.1 + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 + + /is64bit@2.0.0: + resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} + engines: {node: '>=18'} + dependencies: + system-architecture: 0.1.0 + /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -6923,7 +6900,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.20 + '@types/node': 20.11.24 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6934,7 +6911,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6942,7 +6919,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7109,15 +7086,16 @@ packages: uc.micro: 2.0.0 dev: true - /listhen@1.5.5: - resolution: {integrity: sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==} + /listhen@1.7.2: + resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} hasBin: true dependencies: '@parcel/watcher': 2.4.1 - '@parcel/watcher-wasm': 2.3.0 - citty: 0.1.5 - clipboardy: 3.0.0 + '@parcel/watcher-wasm': 2.4.1 + citty: 0.1.6 + clipboardy: 4.0.0 consola: 3.2.3 + crossws: 0.2.4 defu: 6.1.4 get-port-please: 3.1.2 h3: 1.11.1 @@ -7128,7 +7106,7 @@ packages: pathe: 1.1.2 std-env: 3.7.0 ufo: 1.4.0 - untun: 0.1.2 + untun: 0.1.3 uqr: 0.1.2 transitivePeerDependencies: - uWebSockets.js @@ -7248,11 +7226,11 @@ packages: resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} engines: {node: '>=16.14.0'} dependencies: - magic-string: 0.30.7 + magic-string: 0.30.8 dev: false - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -7827,6 +7805,11 @@ packages: engines: {node: '>=10.0.0'} hasBin: true + /mime@4.0.1: + resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} + engines: {node: '>=16'} + hasBin: true + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -7840,8 +7823,8 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.8.0(webpack@5.90.3): - resolution: {integrity: sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg==} + /mini-css-extract-plugin@2.8.1(webpack@5.90.3): + resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -7968,7 +7951,7 @@ packages: typescript: optional: true dependencies: - citty: 0.1.5 + citty: 0.1.6 defu: 6.1.4 esbuild: 0.18.20 fs-extra: 11.2.0 @@ -8034,8 +8017,8 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nitropack@2.8.1: - resolution: {integrity: sha512-pODv2kEEzZSDQR+1UMXbGyNgMedUDq/qUomtiAnQKQvLy52VGlecXO1xDfH3i0kP1yKEcKTnWsx1TAF5gHM7xQ==} + /nitropack@2.9.1: + resolution: {integrity: sha512-qgz2VKJoiFvEtC6JnFlaqVx5hirD/oonb6SIM6kQODeDjEHVaiOViZxg7pnAGq13Zu2vNHhaJe6Sf49AEG3J+A==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -8044,32 +8027,33 @@ packages: xml2js: optional: true dependencies: - '@cloudflare/kv-asset-handler': 0.3.0 - '@netlify/functions': 2.4.0 + '@cloudflare/kv-asset-handler': 0.3.1 + '@netlify/functions': 2.6.0 '@rollup/plugin-alias': 5.1.0(rollup@4.12.0) '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.0) '@rollup/plugin-inject': 5.0.5(rollup@4.12.0) - '@rollup/plugin-json': 6.0.1(rollup@4.12.0) + '@rollup/plugin-json': 6.1.0(rollup@4.12.0) '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.0) '@rollup/plugin-replace': 5.0.5(rollup@4.12.0) '@rollup/plugin-terser': 0.4.4(rollup@4.12.0) - '@rollup/plugin-wasm': 6.2.2(rollup@4.12.0) '@rollup/pluginutils': 5.1.0(rollup@4.12.0) '@types/http-proxy': 1.17.14 - '@vercel/nft': 0.24.3 + '@vercel/nft': 0.26.4 archiver: 6.0.1 c12: 1.9.0 chalk: 5.3.0 chokidar: 3.6.0 - citty: 0.1.5 + citty: 0.1.6 consola: 3.2.3 cookie-es: 1.0.0 + croner: 8.0.1 + crossws: 0.2.4 + db0: 0.1.3 defu: 6.1.4 destr: 2.0.3 dot-prop: 8.0.2 - esbuild: 0.19.11 + esbuild: 0.20.1 escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 etag: 1.8.1 fs-extra: 11.2.0 globby: 14.0.1 @@ -8081,15 +8065,15 @@ packages: jiti: 1.21.0 klona: 2.0.6 knitwork: 1.0.0 - listhen: 1.5.5 - magic-string: 0.30.7 - mime: 3.0.0 + listhen: 1.7.2 + magic-string: 0.30.8 + mime: 4.0.1 mlly: 1.6.1 mri: 1.2.0 - node-fetch-native: 1.6.1 + node-fetch-native: 1.6.2 ofetch: 1.3.3 ohash: 1.1.3 - openapi-typescript: 6.7.1 + openapi-typescript: 6.7.4 pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 @@ -8108,6 +8092,7 @@ packages: unenv: 1.9.0 unimport: 3.7.1(rollup@4.12.0) unstorage: 1.10.1 + unwasm: 0.3.7 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -8116,10 +8101,13 @@ packages: - '@azure/keyvault-secrets' - '@azure/storage-blob' - '@capacitor/preferences' + - '@libsql/client' - '@netlify/blobs' - '@planetscale/database' - '@upstash/redis' - '@vercel/kv' + - better-sqlite3 + - drizzle-orm - encoding - idb-keyval - supports-color @@ -8142,8 +8130,8 @@ packages: skin-tone: 2.0.0 dev: true - /node-fetch-native@1.6.1: - resolution: {integrity: sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==} + /node-fetch-native@1.6.2: + resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -8357,12 +8345,13 @@ packages: - supports-color dev: true - /nypm@0.3.6: - resolution: {integrity: sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ==} + /nypm@0.3.8: + resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} engines: {node: ^14.16.0 || >=16.10.0} hasBin: true dependencies: - citty: 0.1.5 + citty: 0.1.6 + consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 ufo: 1.4.0 @@ -8429,7 +8418,7 @@ packages: resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} dependencies: destr: 2.0.3 - node-fetch-native: 1.6.1 + node-fetch-native: 1.6.2 ufo: 1.4.0 /ohash@1.1.3: @@ -8475,15 +8464,15 @@ packages: is-inside-container: 1.0.0 is-wsl: 2.2.0 - /openapi-typescript@6.7.1: - resolution: {integrity: sha512-Q3Ltt0KUm2smcPrsaR8qKmSwQ1KM4yGDJVoQdpYa0yvKPeN8huDx5utMT7DvwvJastHHzUxajjivK3WN2+fobg==} + /openapi-typescript@6.7.4: + resolution: {integrity: sha512-EZyeW9Wy7UDCKv0iYmKrq2pVZtquXiD/YHiUClAKqiMi42nodx/EQH11K6fLqjt1IZlJmVokrAsExsBMM2RROQ==} hasBin: true dependencies: ansi-colors: 4.1.3 fast-glob: 3.3.2 js-yaml: 4.1.0 supports-color: 9.4.0 - undici: 5.27.2 + undici: 5.28.3 yargs-parser: 21.1.1 /opener@1.5.2: @@ -8720,8 +8709,8 @@ packages: mlly: 1.6.1 pathe: 1.1.2 - /playwright-core@1.41.2: - resolution: {integrity: sha512-VaTvwCA4Y8kxEe+kfm2+uUUw5Lubf38RxF7FpBxLPmGe5sdNkSg5e3ChEigaGrX7qdqT3pt2m/98LiyvU2x6CA==} + /playwright-core@1.42.1: + resolution: {integrity: sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==} engines: {node: '>=16'} hasBin: true dev: true @@ -8820,8 +8809,8 @@ packages: resolve: 1.22.8 dev: false - /postcss-loader@8.1.0(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3): - resolution: {integrity: sha512-AbperNcX3rlob7Ay7A/HQcrofug1caABBkopoFeOQMspZBqcqj6giYn1Bwey/0uiOPAcR+NQD0I2HC7rXzk91w==} + /postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3): + resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -9649,7 +9638,7 @@ packages: rollup: ^4.12.0 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.7 + magic-string: 0.30.8 rollup: 4.12.0 typescript: 5.3.3 optionalDependencies: @@ -10242,6 +10231,10 @@ packages: picocolors: 1.0.0 dev: false + /system-architecture@0.1.0: + resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} + engines: {node: '>=18'} + /tapable@1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} @@ -10547,19 +10540,19 @@ packages: dependencies: '@rollup/plugin-alias': 5.1.0(rollup@4.12.0) '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.0) - '@rollup/plugin-json': 6.0.1(rollup@4.12.0) + '@rollup/plugin-json': 6.1.0(rollup@4.12.0) '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.0) '@rollup/plugin-replace': 5.0.5(rollup@4.12.0) '@rollup/pluginutils': 5.1.0(rollup@4.12.0) chalk: 5.3.0 - citty: 0.1.5 + citty: 0.1.6 consola: 3.2.3 defu: 6.1.4 esbuild: 0.19.11 globby: 13.2.2 hookable: 5.5.3 jiti: 1.21.0 - magic-string: 0.30.7 + magic-string: 0.30.8 mkdist: 1.3.0(typescript@5.3.3) mlly: 1.6.1 pathe: 1.1.2 @@ -10583,14 +10576,14 @@ packages: dependencies: acorn: 8.11.3 estree-walker: 3.0.3 - magic-string: 0.30.7 - unplugin: 1.7.1 + magic-string: 0.30.8 + unplugin: 1.8.0 /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /undici@5.27.2: - resolution: {integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==} + /undici@5.28.3: + resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.0.0 @@ -10601,15 +10594,15 @@ packages: consola: 3.2.3 defu: 6.1.4 mime: 3.0.0 - node-fetch-native: 1.6.1 + node-fetch-native: 1.6.2 pathe: 1.1.2 - /unhead@1.8.10: - resolution: {integrity: sha512-dth8FvZkLriO5ZWWOBIYBNSfGiwJtKcqpPWpSOk/Z0e2jdlgwoZEWZHFyte0EKvmbZxKcsWNMqIuv7dEmS5yZQ==} + /unhead@1.8.11: + resolution: {integrity: sha512-g1coK+pRv+RbeD4+hK76FV6Y++i5jY99CftKyP1ARQcLCbz0ri6+vBpWMS4d+h7x0DfWSCGm/wWkPQ1WXWHfRA==} dependencies: - '@unhead/dom': 1.8.10 - '@unhead/schema': 1.8.10 - '@unhead/shared': 1.8.10 + '@unhead/dom': 1.8.11 + '@unhead/schema': 1.8.11 + '@unhead/shared': 1.8.11 hookable: 5.5.3 dev: false @@ -10643,13 +10636,13 @@ packages: estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.7 + magic-string: 0.30.8 mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.7.1 + unplugin: 1.8.0 transitivePeerDependencies: - rollup @@ -10710,7 +10703,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unplugin-vue-router@0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.20): + /unplugin-vue-router@0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -10720,7 +10713,7 @@ packages: dependencies: '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue-macros/common': 1.10.1(rollup@4.12.0)(vue@3.4.20) + '@vue-macros/common': 1.10.1(rollup@4.12.0)(vue@3.4.21) ast-walker-scope: 0.5.0(rollup@4.12.0) chokidar: 3.6.0 fast-glob: 3.3.2 @@ -10729,22 +10722,14 @@ packages: mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.7.1 - vue-router: 4.3.0(vue@3.4.20) + unplugin: 1.8.0 + vue-router: 4.3.0(vue@3.4.21) yaml: 2.3.4 transitivePeerDependencies: - rollup - vue dev: false - /unplugin@1.7.1: - resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.1 - /unplugin@1.8.0: resolution: {integrity: sha512-yGEQsodWICmgt7asHF7QzqDZYeEP9h14vyd9Lul98UnYf29pLZZLwI09z2QdTjwU/FCkum1SRvsK7cx232X8NA==} dependencies: @@ -10752,7 +10737,6 @@ packages: chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - dev: true /unstorage@1.10.1: resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==} @@ -10800,10 +10784,10 @@ packages: destr: 2.0.3 h3: 1.11.1 ioredis: 5.3.2 - listhen: 1.5.5 + listhen: 1.7.2 lru-cache: 10.0.3 mri: 1.2.0 - node-fetch-native: 1.6.1 + node-fetch-native: 1.6.2 ofetch: 1.3.3 ufo: 1.4.0 transitivePeerDependencies: @@ -10814,11 +10798,11 @@ packages: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} - /untun@0.1.2: - resolution: {integrity: sha512-wLAMWvxfqyTiBODA1lg3IXHQtjggYLeTK7RnSfqtOXixWJ3bAa2kK/HHmOOg19upteqO3muLvN6O/icbyQY33Q==} + /untun@0.1.3: + resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} hasBin: true dependencies: - citty: 0.1.5 + citty: 0.1.6 consola: 3.2.3 pathe: 1.1.2 @@ -10839,12 +10823,11 @@ packages: /unwasm@0.3.7: resolution: {integrity: sha512-+s4iWvHHYnLuwNo+9mqVFLBmBzGc3gIuzkVZ8fdMN9K/kWopCnfaUVnDagd2OX3It5nRR5EenI5nSQb8FOd0fA==} dependencies: - magic-string: 0.30.7 + magic-string: 0.30.8 mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 unplugin: 1.8.0 - dev: true /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} @@ -10931,7 +10914,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.0.2(@types/node@20.11.20): + /vite-node@1.0.2(@types/node@20.11.24): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10940,7 +10923,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.20) + vite: 5.1.4(@types/node@20.11.24) transitivePeerDependencies: - '@types/node' - less @@ -10952,7 +10935,7 @@ packages: - terser dev: true - /vite-node@1.3.1(@types/node@20.11.20): + /vite-node@1.3.1(@types/node@20.11.24): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10961,7 +10944,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.20) + vite: 5.1.4(@types/node@20.11.24) transitivePeerDependencies: - '@types/node' - less @@ -10972,7 +10955,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.1): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.4): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11016,12 +10999,12 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 5.1.4(@types/node@20.11.20) + vite: 5.1.4(@types/node@20.11.24) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.1(typescript@5.3.3) + vue-tsc: 2.0.4(typescript@5.3.3) dev: false /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.4): @@ -11043,7 +11026,7 @@ packages: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.4(@types/node@20.11.20) + vite: 5.1.4(@types/node@20.11.24) transitivePeerDependencies: - rollup - supports-color @@ -11060,15 +11043,15 @@ packages: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - '@vue/compiler-dom': 3.4.20 + '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 - magic-string: 0.30.7 - vite: 5.1.4(@types/node@20.11.20) + magic-string: 0.30.8 + vite: 5.1.4(@types/node@20.11.24) transitivePeerDependencies: - supports-color dev: false - /vite@5.1.4(@types/node@20.11.20): + /vite@5.1.4(@types/node@20.11.24): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11096,17 +11079,17 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 esbuild: 0.19.11 postcss: 8.4.35 rollup: 4.12.0 optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.41.2)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.20) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11123,7 +11106,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.20)(happy-dom@13.6.2): + /vitest@1.0.2(@types/node@20.11.24)(happy-dom@13.6.2): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11148,7 +11131,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11161,15 +11144,15 @@ packages: execa: 8.0.1 happy-dom: 13.6.2 local-pkg: 0.5.0 - magic-string: 0.30.7 + magic-string: 0.30.8 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.20) - vite-node: 1.0.2(@types/node@20.11.20) + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.0.2(@types/node@20.11.24) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11181,7 +11164,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.20)(happy-dom@13.6.2): + /vitest@1.3.1(@types/node@20.11.24)(happy-dom@13.6.2): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11206,7 +11189,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.20 + '@types/node': 20.11.24 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -11218,15 +11201,15 @@ packages: execa: 8.0.1 happy-dom: 13.6.2 local-pkg: 0.5.0 - magic-string: 0.30.7 + magic-string: 0.30.8 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.20) - vite-node: 1.3.1(@types/node@20.11.20) + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11314,7 +11297,7 @@ packages: - supports-color dev: true - /vue-loader@17.4.2(vue@3.4.20)(webpack@5.90.3): + /vue-loader@17.4.2(vue@3.4.21)(webpack@5.90.3): resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} peerDependencies: '@vue/compiler-sfc': '*' @@ -11328,25 +11311,25 @@ packages: dependencies: chalk: 4.1.2 hash-sum: 2.0.0 - vue: 3.4.20(typescript@5.3.3) + vue: 3.4.21(typescript@5.3.3) watchpack: 2.4.0 webpack: 5.90.3 - /vue-resize@2.0.0-alpha.1(vue@3.4.20): + /vue-resize@2.0.0-alpha.1(vue@3.4.21): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: - vue: 3.4.20 + vue: 3.4.21 dependencies: - vue: 3.4.20(typescript@5.3.3) + vue: 3.4.21(typescript@5.3.3) dev: true - /vue-router@4.3.0(vue@3.4.20): + /vue-router@4.3.0(vue@3.4.21): resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} peerDependencies: - vue: 3.4.20 + vue: 3.4.21 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.20(typescript@5.3.3) + vue: 3.4.21(typescript@5.3.3) /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -11354,30 +11337,30 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.1(typescript@5.3.3): - resolution: {integrity: sha512-a4Il11tE8khq8tZn0DucITCr3+q2B9cxL6uTQAoprnhBrxBu6vc//hp3zyTnIS1t/zCTCfdipkY7M2dqiR2plQ==} + /vue-tsc@2.0.4(typescript@5.3.3): + resolution: {integrity: sha512-FJk+F1QhqROr6DK8raTuWk5ezNw1/kZ+7TYhc08k+cpvb1fmi7wguPZHX0svIhT4bAxCGDtF8534It8fiAkScg==} hasBin: true peerDependencies: typescript: '*' dependencies: '@volar/typescript': 2.1.0 - '@vue/language-core': 2.0.1(typescript@5.3.3) + '@vue/language-core': 2.0.4(typescript@5.3.3) semver: 7.6.0 typescript: 5.3.3 - /vue@3.4.20(typescript@5.3.3): - resolution: {integrity: sha512-xF4zDKXp67NjgORFX/HOuaiaKYjgxkaToK0KWglFQEYlCw9AqgBlj1yu5xa6YaRek47w2IGiuvpvrGg/XuQFCw==} + /vue@3.4.21(typescript@5.3.3): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.20 - '@vue/compiler-sfc': 3.4.20 - '@vue/runtime-dom': 3.4.20 - '@vue/server-renderer': 3.4.20(vue@3.4.20) - '@vue/shared': 3.4.20 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 typescript: 5.3.3 /watchpack@2.4.0: diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 35933367ad..cbdf86d4e1 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot(`"104k"`) + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot(`"105k"`) expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -32,10 +32,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(`"204k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"205k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1334k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1335k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -72,10 +72,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(`"522k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"524k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"77.2k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"78.0k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) From 2e1530c6b4751f88503402d9ab3658c2f49111ba Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 4 Mar 2024 11:37:24 +0000 Subject: [PATCH 173/470] fix(nuxt): pass event to `useRuntimeConfig` in Nuxt renderer (#26058) --- packages/nuxt/src/core/runtime/nitro/error.ts | 2 +- packages/nuxt/src/core/runtime/nitro/paths.ts | 3 +++ packages/nuxt/src/core/runtime/nitro/renderer.ts | 6 +++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/core/runtime/nitro/error.ts b/packages/nuxt/src/core/runtime/nitro/error.ts index c58bb75fcd..c4d0a13612 100644 --- a/packages/nuxt/src/core/runtime/nitro/error.ts +++ b/packages/nuxt/src/core/runtime/nitro/error.ts @@ -55,7 +55,7 @@ export default <NitroErrorHandler> async function errorhandler (error: H3Error, // HTML response (via SSR) const res = isRenderingError ? null : await useNitroApp().localFetch( - withQuery(joinURL(useRuntimeConfig().app.baseURL, '/__nuxt_error'), errorObject), + withQuery(joinURL(useRuntimeConfig(event).app.baseURL, '/__nuxt_error'), errorObject), { headers: { ...reqHeaders, 'x-nuxt-error': 'true' }, redirect: 'manual' diff --git a/packages/nuxt/src/core/runtime/nitro/paths.ts b/packages/nuxt/src/core/runtime/nitro/paths.ts index 0d2a027687..c76b5db2e1 100644 --- a/packages/nuxt/src/core/runtime/nitro/paths.ts +++ b/packages/nuxt/src/core/runtime/nitro/paths.ts @@ -2,10 +2,12 @@ import { joinURL } from 'ufo' import { useRuntimeConfig } from '#internal/nitro' export function baseURL (): string { + // TODO: support passing event to `useRuntimeConfig` return useRuntimeConfig().app.baseURL } export function buildAssetsDir (): string { + // TODO: support passing event to `useRuntimeConfig` return useRuntimeConfig().app.buildAssetsDir as string } @@ -14,6 +16,7 @@ export function buildAssetsURL (...path: string[]): string { } export function publicAssetsURL (...path: string[]): string { + // TODO: support passing event to `useRuntimeConfig` const app = useRuntimeConfig().app const publicBase = app.cdnURL as string || app.baseURL return path.length ? joinURL(publicBase, ...path) : publicBase diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 5fb732d0ab..344589e516 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -158,7 +158,7 @@ const getSPARenderer = lazyCachedFunction(async () => { const result = await renderer.renderToString({}) const renderToString = (ssrContext: NuxtSSRContext) => { - const config = useRuntimeConfig() + const config = useRuntimeConfig(ssrContext.event) ssrContext.modules = ssrContext.modules || new Set<string>() ssrContext!.payload = { _errors: {}, @@ -288,7 +288,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse const ssrContext: NuxtSSRContext = { url, event, - runtimeConfig: useRuntimeConfig() as NuxtSSRContext['runtimeConfig'], + runtimeConfig: useRuntimeConfig(event) as NuxtSSRContext['runtimeConfig'], noSSR: !!(process.env.NUXT_NO_SSR) || event.context.nuxt?.noSSR || @@ -311,7 +311,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse // Whether we are prerendering route const _PAYLOAD_EXTRACTION = import.meta.prerender && process.env.NUXT_PAYLOAD_EXTRACTION && !ssrContext.noSSR && !isRenderingIsland - const payloadURL = _PAYLOAD_EXTRACTION ? joinURL(useRuntimeConfig().app.baseURL, url, process.env.NUXT_JSON_PAYLOADS ? '_payload.json' : '_payload.js') : undefined + const payloadURL = _PAYLOAD_EXTRACTION ? joinURL(ssrContext.runtimeConfig.app.baseURL, url, process.env.NUXT_JSON_PAYLOADS ? '_payload.json' : '_payload.js') : undefined if (import.meta.prerender) { ssrContext.payload.prerenderedAt = Date.now() } From 375bd64c5bd6eb94273a7cc9b6f88e73a26d8594 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Tue, 5 Mar 2024 10:32:13 +0000 Subject: [PATCH 174/470] ci: fix lychee configuration --- lychee.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lychee.toml b/lychee.toml index a1d4196550..602a20f60f 100644 --- a/lychee.toml +++ b/lychee.toml @@ -9,7 +9,9 @@ max_retries = 6 # Explicitly exclude some URLs exclude = [ "https://twitter.nuxt.dev/", + "https://cssnano.co/", "https://github.com/nuxt/translations/discussions/4", "https://stackoverflow.com/help/minimal-reproducible-example", - "(https?:\/\/github\.com\/)(.*\/)(generate)", + # single-quotes are required for regexp + '(https?:\/\/github\.com\/)(.*\/)(generate)', ] From 280d30d5e1b97c12c0c3ab3fd6833d1cd64d26d9 Mon Sep 17 00:00:00 2001 From: Oumar Barry <oumar.barry1202@gmail.com> Date: Tue, 5 Mar 2024 10:32:40 +0000 Subject: [PATCH 175/470] fix(schema): disable `typescript.shim` in favour of volar (#26052) --- docs/1.getting-started/2.installation.md | 13 +------------ nuxt.config.ts | 1 + packages/schema/src/config/typescript.ts | 6 +++--- 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/docs/1.getting-started/2.installation.md b/docs/1.getting-started/2.installation.md index f7a4d317ac..f89438e8f2 100644 --- a/docs/1.getting-started/2.installation.md +++ b/docs/1.getting-started/2.installation.md @@ -22,7 +22,7 @@ Start with one of our starters and themes directly by opening [nuxt.new](https:/ #### Prerequisites - **Node.js** - [`v18.0.0`](https://nodejs.org/en) or newer -- **Text editor** - We recommend [Visual Studio Code](https://code.visualstudio.com/) with the [Volar Extension](https://marketplace.visualstudio.com/items?itemName=Vue.volar) +- **Text editor** - We recommend [Visual Studio Code](https://code.visualstudio.com/) with the [official Vue extension](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (previously known as Volar) - **Terminal** - In order to run Nuxt commands ::note @@ -30,17 +30,6 @@ Start with one of our starters and themes directly by opening [nuxt.new](https:/ :summary[Additional notes for an optimal setup:] - **Node.js**: Make sure to use an even numbered version (18, 20, etc) - **Nuxtr**: Install the community-developed [Nuxtr extension](https://marketplace.visualstudio.com/items?itemName=Nuxtr.nuxtr-vscode) - - **Volar**: Either enable [**Take Over Mode**](https://vuejs.org/guide/typescript/overview.html#volar-takeover-mode) (recommended) or add the [TypeScript Vue Plugin](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) - - If you have enabled **Take Over Mode** or installed the **TypeScript Vue Plugin (Volar)**, you can disable generating the shim for `*.vue` files in your [`nuxt.config.ts`](/docs/guide/directory-structure/nuxt-config) file: - - ```ts twoslash [nuxt.config.ts] - export default defineNuxtConfig({ - typescript: { - shim: false - } - }) - ``` :: :: diff --git a/nuxt.config.ts b/nuxt.config.ts index 3bcf682df1..447512fab7 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -3,6 +3,7 @@ import { addPluginTemplate } from 'nuxt/kit' export default defineNuxtConfig({ + typescript: { shim: process.env.DOCS_TYPECHECK === 'true' }, pages: process.env.DOCS_TYPECHECK === 'true', modules: [ function () { diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 69e13d5094..6cef2858b9 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -50,9 +50,9 @@ export default defineUntypedSchema({ /** * Generate a `*.vue` shim. * - * We recommend instead either enabling [**Take Over Mode**](https://vuejs.org/guide/typescript/overview.html#volar-takeover-mode) or adding - * TypeScript Vue Plugin (Volar)** 👉 [[Download](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin)]. + * We recommend instead letting the [official Vue extension](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + * generate accurate types for your components. */ - shim: true + shim: false } }) From 8398bcb6112d372f72eff7860753f5bafa41a540 Mon Sep 17 00:00:00 2001 From: Maxime Pauvert <maximepvrt@gmail.com> Date: Tue, 5 Mar 2024 11:35:53 +0100 Subject: [PATCH 176/470] docs: add Nuxt Fonts to changelog (#26077) --- docs/5.community/7.changelog.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/5.community/7.changelog.md b/docs/5.community/7.changelog.md index 593d5daa85..3016d4f686 100644 --- a/docs/5.community/7.changelog.md +++ b/docs/5.community/7.changelog.md @@ -48,6 +48,16 @@ navigation.icon: i-ph-notification-duotone ::card --- icon: i-simple-icons-github + title: nuxt/fonts + to: https://github.com/nuxt/fonts/releases + target: _blank + ui.icon.base: text-black dark:text-white + --- + Nuxt Fonts releases. + :: + ::card + --- + icon: i-simple-icons-github title: nuxt/image to: https://github.com/nuxt/image/releases target: _blank From 2e8c598e4d539cb535456f36d23987be3b6d7024 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Tue, 5 Mar 2024 10:36:05 +0000 Subject: [PATCH 177/470] fix(nuxt): only check if server page is prerendered on client (#26081) --- packages/nuxt/src/components/runtime/server-component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/components/runtime/server-component.ts b/packages/nuxt/src/components/runtime/server-component.ts index a56fe0d7f6..ca32c688a3 100644 --- a/packages/nuxt/src/components/runtime/server-component.ts +++ b/packages/nuxt/src/components/runtime/server-component.ts @@ -42,7 +42,7 @@ export const createIslandPage = (name: string) => { }) const route = useRoute() - const path = !import.meta.dev && await isPrerendered(route.path) ? route.path : route.fullPath.replace(/#.*$/, '') + const path = import.meta.client && await isPrerendered(route.path) ? route.path : route.fullPath.replace(/#.*$/, '') return () => { return h('div', [ From a80fc38f61236cc678fda399739389a6d87ee017 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Mar 2024 11:08:35 +0000 Subject: [PATCH 178/470] chore(deps): update all non-major dependencies (main) (#26075) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 4 +- packages/schema/package.json | 2 +- packages/vite/package.json | 4 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 144 ++++++++++++++++++---------------- 7 files changed, 84 insertions(+), 76 deletions(-) diff --git a/package.json b/package.json index 9c21259625..7c6af1db65 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@nuxt/webpack-builder": "workspace:*", "rollup": "^4.12.0", "nuxt": "workspace:*", - "vite": "5.1.4", + "vite": "5.1.5", "vue": "3.4.21", "magic-string": "^0.30.8" }, diff --git a/packages/kit/package.json b/packages/kit/package.json index 9ea27fa439..9aec0433fc 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -52,7 +52,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.1", "unbuild": "latest", - "vite": "5.1.4", + "vite": "5.1.5", "vitest": "1.3.1", "webpack": "5.90.3" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 2cef7b0ecd..029b9d8e9b 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -107,7 +107,7 @@ "unctx": "^2.3.1", "unenv": "^1.9.0", "unimport": "^3.7.1", - "unplugin": "^1.8.0", + "unplugin": "^1.8.1", "unplugin-vue-router": "^0.7.0", "untyped": "^1.4.2", "vue": "^3.4.21", @@ -121,7 +121,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.1.4", + "vite": "5.1.5", "vitest": "1.3.1" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index aae470da59..fd88e261c6 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -52,7 +52,7 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.1.4", + "vite": "5.1.5", "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 1cd5a7402f..76e9982c54 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -61,8 +61,8 @@ "strip-literal": "^2.0.0", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.8.0", - "vite": "^5.1.4", + "unplugin": "^1.8.1", + "vite": "^5.1.5", "vite-node": "^1.3.1", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/packages/webpack/package.json b/packages/webpack/package.json index b3038f6090..e0517295d3 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -58,7 +58,7 @@ "time-fix-plugin": "^2.0.7", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.8.0", + "unplugin": "^1.8.1", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e385530d4..d151c6feea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: '@nuxt/webpack-builder': workspace:* rollup: ^4.12.0 nuxt: workspace:* - vite: 5.1.4 + vite: 5.1.5 vue: 3.4.21 magic-string: ^0.30.8 @@ -21,7 +21,7 @@ importers: devDependencies: '@codspeed/vitest-plugin': specifier: 3.1.0 - version: 3.1.0(vite@5.1.4)(vitest@1.3.1) + version: 3.1.0(vite@5.1.5)(vitest@1.3.1) '@nuxt/eslint-config': specifier: 0.2.0 version: 0.2.0(eslint@8.57.0) @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -141,7 +141,7 @@ importers: version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.3.3) @@ -231,8 +231,8 @@ importers: specifier: latest version: 2.0.0(typescript@5.3.3) vite: - specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.24) + specifier: 5.1.5 + version: 5.1.5(@types/node@20.11.24) vitest: specifier: 1.3.1 version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) @@ -247,7 +247,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.0.8 - version: 1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.4) + version: 1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.5) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -390,8 +390,8 @@ importers: specifier: ^3.7.1 version: 3.7.1(rollup@4.12.0) unplugin: - specifier: ^1.8.0 - version: 1.8.0 + specifier: ^1.8.1 + version: 1.8.1 unplugin-vue-router: specifier: ^0.7.0 version: 0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.21) @@ -422,13 +422,13 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.21) + version: 5.0.4(vite@5.1.5)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.3.3) vite: - specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.24) + specifier: 5.1.5 + version: 5.1.5(@types/node@20.11.24) vitest: specifier: 1.3.1 version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) @@ -486,10 +486,10 @@ importers: version: 1.8.11 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.21) + version: 5.0.4(vite@5.1.5)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.1.4)(vue@3.4.21) + version: 3.1.0(vite@5.1.5)(vue@3.4.21) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 @@ -524,8 +524,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.24) + specifier: 5.1.5 + version: 5.1.5(@types/node@20.11.24) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.3.3) @@ -555,10 +555,10 @@ importers: version: 5.0.5(rollup@4.12.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.21) + version: 5.0.4(vite@5.1.5)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.1.4)(vue@3.4.21) + version: 3.1.0(vite@5.1.5)(vue@3.4.21) autoprefixer: specifier: ^10.4.18 version: 10.4.18(postcss@8.4.35) @@ -635,17 +635,17 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.8.0 - version: 1.8.0 + specifier: ^1.8.1 + version: 1.8.1 vite: - specifier: 5.1.4 - version: 5.1.4(@types/node@20.11.24) + specifier: 5.1.5 + version: 5.1.5(@types/node@20.11.24) vite-node: specifier: ^1.3.1 version: 1.3.1(@types/node@20.11.24) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.4) + version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.4) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -771,8 +771,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.8.0 - version: 1.8.0 + specifier: ^1.8.1 + version: 1.8.1 url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) @@ -1261,14 +1261,14 @@ packages: - debug dev: true - /@codspeed/vitest-plugin@3.1.0(vite@5.1.4)(vitest@1.3.1): + /@codspeed/vitest-plugin@3.1.0(vite@5.1.5)(vitest@1.3.1): resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} peerDependencies: - vite: 5.1.4 + vite: 5.1.5 vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) transitivePeerDependencies: - debug @@ -2130,17 +2130,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.0.8(nuxt@packages+nuxt)(vite@5.1.4): + /@nuxt/devtools-kit@1.0.8(nuxt@packages+nuxt)(vite@5.1.5): resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} peerDependencies: nuxt: workspace:* - vite: 5.1.4 + vite: 5.1.5 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) dev: false /@nuxt/devtools-wizard@1.0.8: @@ -2159,15 +2159,15 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.4): + /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.5): resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.1.4 + vite: 5.1.5 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.0.8(nuxt@packages+nuxt)(vite@5.1.4) + '@nuxt/devtools-kit': 1.0.8(nuxt@packages+nuxt)(vite@5.1.5) '@nuxt/devtools-wizard': 1.0.8 '@nuxt/kit': link:packages/kit birpc: 0.2.14 @@ -2197,9 +2197,9 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.12.0) - vite: 5.1.4(@types/node@20.11.24) - vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.4) - vite-plugin-vue-inspector: 4.0.2(vite@5.1.4) + vite: 5.1.5(@types/node@20.11.24) + vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.5) + vite-plugin-vue-inspector: 4.0.2(vite@5.1.5) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -2260,7 +2260,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2273,7 +2273,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.1.4 + vite: 5.1.5 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.21 vue-router: ^4.0.0 @@ -2323,10 +2323,10 @@ packages: std-env: 3.7.0 ufo: 1.4.0 unenv: 1.9.0 - unplugin: 1.8.0 - vite: 5.1.4(@types/node@20.11.24) + unplugin: 1.8.1 + vite: 5.1.5(@types/node@20.11.24) vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.3.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3309,29 +3309,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.5)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.1.4 + vite: 5.1.5 vue: 3.4.21 dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) vue: 3.4.21(typescript@5.3.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.1.4 + vite: 5.1.5 vue: 3.4.21 dependencies: - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) vue: 3.4.21(typescript@5.3.3) /@vitest/coverage-v8@1.3.1(vitest@1.3.1): @@ -10642,7 +10642,7 @@ packages: pkg-types: 1.0.3 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.8.0 + unplugin: 1.8.1 transitivePeerDependencies: - rollup @@ -10722,7 +10722,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.8.0 + unplugin: 1.8.1 vue-router: 4.3.0(vue@3.4.21) yaml: 2.3.4 transitivePeerDependencies: @@ -10738,6 +10738,14 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 + /unplugin@1.8.1: + resolution: {integrity: sha512-NDAvOEnZmeSRRmjfD0FoLzfve2/9lqceO5bR4J/2V72zphnFdq7UYo3fg6F1y1HfZEaSHa+7bZgbEN+z5x8ZDQ==} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + /unstorage@1.10.1: resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==} peerDependencies: @@ -10827,7 +10835,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - unplugin: 1.8.0 + unplugin: 1.8.1 /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} @@ -10923,7 +10931,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) transitivePeerDependencies: - '@types/node' - less @@ -10944,7 +10952,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) transitivePeerDependencies: - '@types/node' - less @@ -10955,7 +10963,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@2.0.4): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.4): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -10964,7 +10972,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.1.4 + vite: 5.1.5 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -10999,7 +11007,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11007,12 +11015,12 @@ packages: vue-tsc: 2.0.4(typescript@5.3.3) dev: false - /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.4): + /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.5): resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.1.4 + vite: 5.1.5 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -11026,16 +11034,16 @@ packages: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.1.4): + /vite-plugin-vue-inspector@4.0.2(vite@5.1.5): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.1.4 + vite: 5.1.5 dependencies: '@babel/core': 7.23.9 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.23.9) @@ -11046,13 +11054,13 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) transitivePeerDependencies: - supports-color dev: false - /vite@5.1.4(@types/node@20.11.24): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + /vite@5.1.5(@types/node@20.11.24): + resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11086,10 +11094,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.4)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11151,7 +11159,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) vite-node: 1.0.2(@types/node@20.11.24) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11208,7 +11216,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) vite-node: 1.3.1(@types/node@20.11.24) why-is-node-running: 2.2.2 transitivePeerDependencies: From 84749e0350a9f7c034f60b3968ca3da74e986a4c Mon Sep 17 00:00:00 2001 From: Maxime Pauvert <maximepvrt@gmail.com> Date: Tue, 5 Mar 2024 12:08:44 +0100 Subject: [PATCH 179/470] docs: update roadmap (#26072) --- docs/5.community/6.roadmap.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/docs/5.community/6.roadmap.md b/docs/5.community/6.roadmap.md index 67a1d29f2d..e0380c9cfc 100644 --- a/docs/5.community/6.roadmap.md +++ b/docs/5.community/6.roadmap.md @@ -30,23 +30,19 @@ Check [Discussions](https://github.com/nuxt/nuxt/discussions) and [RFCs](https:/ Milestone | Expected date | Notes | Description -------------|---------------|------------------------------------------------------------------------|----------------------- -SEO & PWA | 2023 | [nuxt/nuxt#18395](https://github.com/nuxt/nuxt/discussions/18395) | Migrating from [nuxt-community/pwa-module](https://github.com/nuxt-community/pwa-module) for built-in SEO utils and service worker support -DevTools | 2023 | - | Integrated and modular devtools experience for Nuxt -Scripts | 2023 | [nuxt/nuxt#22016](https://github.com/nuxt/nuxt/discussions/22016) | Easy 3rd party script management. -Fonts | 2023 | [nuxt/nuxt#22014](https://github.com/nuxt/nuxt/discussions/22014) | Allow developers to easily configure fonts in their Nuxt apps. -Assets | 2023 | [nuxt/nuxt#22012](https://github.com/nuxt/nuxt/discussions/22012) | Allow developers and modules to handle loading third-party assets. -A11y | 2023 | [nuxt/nuxt#23255](https://github.com/nuxt/nuxt/issues/23255) | Accessibility hinting and utilities +SEO & PWA | 2024 | [nuxt/nuxt#18395](https://github.com/nuxt/nuxt/discussions/18395) | Migrating from [nuxt-community/pwa-module](https://github.com/nuxt-community/pwa-module) for built-in SEO utils and service worker support +Scripts | 2024 | [nuxt/nuxt#22016](https://github.com/nuxt/nuxt/discussions/22016) | Easy 3rd party script management. +Assets | 2024 | [nuxt/nuxt#22012](https://github.com/nuxt/nuxt/discussions/22012) | Allow developers and modules to handle loading third-party assets. +A11y | 2024 | [nuxt/nuxt#23255](https://github.com/nuxt/nuxt/issues/23255) | Accessibility hinting and utilities Translations | - | [nuxt/translations#4](https://github.com/nuxt/translations/discussions/4) ([request access](https://github.com/nuxt/nuxt/discussions/16054)) | A collaborative project for a stable translation process for Nuxt 3 docs. Currently pending for ideas and documentation tooling support (content v2 with remote sources). -## Core Modules +## Core Modules Roadmap In addition to the Nuxt framework, there are modules that are vital for the ecosystem. Their status will be updated below. Module | Status | Nuxt Support | Repository | Description ---------------|---------------------|--------------|------------|------------------- Auth | Planned | 3.x | `nuxt/auth` to be announced | Nuxt 3 support is planned after session support -Image | Active | 2.x and 3.x | [nuxt/image](https://github.com/nuxt/image) | Nuxt 3 support is in progress: [nuxt/image#548](https://github.com/nuxt/image/discussions/548) -I18n | Active | 2.x and 3.x | [nuxt-modules/i18n](https://github.com/nuxt-modules/i18n) | See [nuxt-modules/i18n#1287](https://github.com/nuxt-modules/i18n/discussions/1287) for Nuxt 3 support ## Release Cycle From db26a352c1e319b3584b198b4ea48605692f8e4e Mon Sep 17 00:00:00 2001 From: Adam DeHaven <2229946+adamdehaven@users.noreply.github.com> Date: Tue, 5 Mar 2024 15:16:06 -0500 Subject: [PATCH 180/470] docs: document `fallback` prop for `<NuxtLayout>` (#26091) --- docs/3.api/1.components/3.nuxt-layout.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/3.api/1.components/3.nuxt-layout.md b/docs/3.api/1.components/3.nuxt-layout.md index cc8bf04191..3b5a462a00 100644 --- a/docs/3.api/1.components/3.nuxt-layout.md +++ b/docs/3.api/1.components/3.nuxt-layout.md @@ -55,6 +55,10 @@ Please note the layout name is normalized to kebab-case, so if your layout file Read more about dynamic layouts. :: +- `fallback`: If an invalid layout is passed to the `name` prop, no layout will be rendered. Specify a `fallback` layout to be rendered in this scenario. It **must** match the name of the corresponding layout file in the [`layouts/`](/docs/guide/directory-structure/layouts) directory. + - **type**: `string` + - **default**: `null` + ## Additional Props `NuxtLayout` also accepts any additional props that you may need to pass to the layout. These custom props are then made accessible as attributes. From a8a06bbf5826b02fe50f26086285f9af620e1d8b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Mar 2024 20:34:04 +0000 Subject: [PATCH 181/470] chore(deps): update all non-major dependencies to v2.0.5 (main) (#26088) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 44 ++++++++++++++++++------------------ 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 7c6af1db65..ea83505bce 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "vue": "3.4.21", "vue-eslint-parser": "9.4.2", "vue-router": "4.3.0", - "vue-tsc": "2.0.4" + "vue-tsc": "2.0.5" }, "packageManager": "pnpm@8.15.4", "engines": { diff --git a/packages/schema/package.json b/packages/schema/package.json index fd88e261c6..4a6721eb24 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,7 +42,7 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", - "@vue/language-core": "2.0.4", + "@vue/language-core": "2.0.5", "c12": "1.9.0", "esbuild-loader": "4.0.3", "h3": "1.11.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d151c6feea..b4b1c66254 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -152,8 +152,8 @@ importers: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) vue-tsc: - specifier: 2.0.4 - version: 2.0.4(typescript@5.3.3) + specifier: 2.0.5 + version: 2.0.5(typescript@5.3.3) packages/kit: dependencies: @@ -494,8 +494,8 @@ importers: specifier: 3.4.21 version: 3.4.21 '@vue/language-core': - specifier: 2.0.4 - version: 2.0.4(typescript@5.3.3) + specifier: 2.0.5 + version: 2.0.5(typescript@5.3.3) c12: specifier: 1.9.0 version: 1.9.0 @@ -645,7 +645,7 @@ importers: version: 1.3.1(@types/node@20.11.24) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.4) + version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.5) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -3440,10 +3440,10 @@ packages: '@volar/source-map': 1.11.1 dev: true - /@volar/language-core@2.1.0: - resolution: {integrity: sha512-BrYEgYHx92ocpt1OUxJs2x3TAXEjpPLxsQoARb96g2GdF62xnfRQUqCNBwiU7Z3MQ/0tOAdqdHNYNmrFtx6q4A==} + /@volar/language-core@2.1.1: + resolution: {integrity: sha512-oVbZcj97+5zlowkHMSJMt3aaAFuFyhXeXoOEHcqGECxFvw1TPCNnMM9vxhqNpoiNeWKHvggoq9WCk/HzJHtP8A==} dependencies: - '@volar/source-map': 2.1.0 + '@volar/source-map': 2.1.1 /@volar/source-map@1.11.1: resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} @@ -3451,15 +3451,15 @@ packages: muggle-string: 0.3.1 dev: true - /@volar/source-map@2.1.0: - resolution: {integrity: sha512-VPyi+DTv67cvUOkUewzsOQJY3VUhjOjQxigT487z/H7tEI8ZFd5RksC5afk3JelOK+a/3Y8LRDbKmYKu1dz87g==} + /@volar/source-map@2.1.1: + resolution: {integrity: sha512-OOtxrEWB2eZ+tnCy5JwDkcCPGlN3+ioNNzkywXE9k4XA7p4cN36frR7QPAOksvd7RXKUGHzSjq6XrYnTPa4z4Q==} dependencies: muggle-string: 0.4.1 - /@volar/typescript@2.1.0: - resolution: {integrity: sha512-2cicVoW4q6eU/omqfOBv+6r9JdrF5bBelujbJhayPNKiOj/xwotSJ/DM8IeMvTZvtkOZkm6suyOCLEokLY0w2w==} + /@volar/typescript@2.1.1: + resolution: {integrity: sha512-5K41AWvFZCMMKZCx8bbFvbkyiKHr0s9k8P0M1FVXLX/9HYHzK5C9B8cX4uhATSehAytFIRnR4fTXVQtWp/Yzag==} dependencies: - '@volar/language-core': 2.1.0 + '@volar/language-core': 2.1.1 path-browserify: 1.0.1 /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.21): @@ -3560,15 +3560,15 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.4(typescript@5.3.3): - resolution: {integrity: sha512-IYlVEICXKRWYjRQ4JyPlXhydU/p0C7uY5LpqXyJzzJHWo44LWHZtTP3USfWNQif3VAK5QZpdZKQ5HYIeQL3BJQ==} + /@vue/language-core@2.0.5(typescript@5.3.3): + resolution: {integrity: sha512-knGXuQqhDSO7QJr8LFklsiWa23N2ikehkdVxtc9UKgnyqsnusughS2Tkg7VN8Hqed35X0B52Z+OGI5OrT/8uxQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 2.1.0 + '@volar/language-core': 2.1.1 '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 computeds: 0.0.1 @@ -10963,7 +10963,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.4): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.5): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11012,7 +11012,7 @@ packages: vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.4(typescript@5.3.3) + vue-tsc: 2.0.5(typescript@5.3.3) dev: false /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.5): @@ -11345,14 +11345,14 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.4(typescript@5.3.3): - resolution: {integrity: sha512-FJk+F1QhqROr6DK8raTuWk5ezNw1/kZ+7TYhc08k+cpvb1fmi7wguPZHX0svIhT4bAxCGDtF8534It8fiAkScg==} + /vue-tsc@2.0.5(typescript@5.3.3): + resolution: {integrity: sha512-e8WCgOVTrbmC04XPnI+IpaMTFYKaTm5s/MXFcvxO1l9kxzn+9FpGNVrBSlQE8VpTJaJg4kaBK1nj3NC20VJzjw==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 2.1.0 - '@vue/language-core': 2.0.4(typescript@5.3.3) + '@volar/typescript': 2.1.1 + '@vue/language-core': 2.0.5(typescript@5.3.3) semver: 7.6.0 typescript: 5.3.3 From b90b4da4ce3d2415dfcad919a93e37fc7d64aae0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 11:54:58 +0000 Subject: [PATCH 182/470] chore(deps): update all non-major dependencies (main) (#26097) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 272 +++++++++++++++++----------------- 5 files changed, 140 insertions(+), 140 deletions(-) diff --git a/package.json b/package.json index ea83505bce..9e2f319952 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@nuxt/schema": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "rollup": "^4.12.0", + "rollup": "^4.12.1", "nuxt": "workspace:*", "vite": "5.1.5", "vue": "3.4.21", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 029b9d8e9b..36ced1c607 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -107,7 +107,7 @@ "unctx": "^2.3.1", "unenv": "^1.9.0", "unimport": "^3.7.1", - "unplugin": "^1.8.1", + "unplugin": "^1.8.2", "unplugin-vue-router": "^0.7.0", "untyped": "^1.4.2", "vue": "^3.4.21", diff --git a/packages/vite/package.json b/packages/vite/package.json index 76e9982c54..df3cb35827 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -61,7 +61,7 @@ "strip-literal": "^2.0.0", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.8.1", + "unplugin": "^1.8.2", "vite": "^5.1.5", "vite-node": "^1.3.1", "vite-plugin-checker": "^0.6.4", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index e0517295d3..db95a634d6 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -58,7 +58,7 @@ "time-fix-plugin": "^2.0.7", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.8.1", + "unplugin": "^1.8.2", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4b1c66254..0671113375 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ overrides: '@nuxt/schema': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - rollup: ^4.12.0 + rollup: ^4.12.1 nuxt: workspace:* vite: 5.1.5 vue: 3.4.21 @@ -207,7 +207,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.12.0) + version: 3.7.1(rollup@4.12.1) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -247,7 +247,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.0.8 - version: 1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.5) + version: 1.0.8(nuxt@packages+nuxt)(rollup@4.12.1)(vite@5.1.5) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -388,13 +388,13 @@ importers: version: 1.9.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.12.0) + version: 3.7.1(rollup@4.12.1) unplugin: - specifier: ^1.8.1 - version: 1.8.1 + specifier: ^1.8.2 + version: 1.8.2 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.21) + version: 0.7.0(rollup@4.12.1)(vue-router@4.3.0)(vue@3.4.21) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -464,7 +464,7 @@ importers: version: 1.4.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.12.0) + version: 3.7.1(rollup@4.12.1) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -552,7 +552,7 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.12.0) + version: 5.0.5(rollup@4.12.1) '@vitejs/plugin-vue': specifier: ^5.0.4 version: 5.0.4(vite@5.1.5)(vue@3.4.21) @@ -621,7 +621,7 @@ importers: version: 8.4.35 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.12.0) + version: 5.12.0(rollup@4.12.1) std-env: specifier: ^3.7.0 version: 3.7.0 @@ -635,8 +635,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.8.1 - version: 1.8.1 + specifier: ^1.8.2 + version: 1.8.2 vite: specifier: 5.1.5 version: 5.1.5(@types/node@20.11.24) @@ -771,8 +771,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.8.1 - version: 1.8.1 + specifier: ^1.8.2 + version: 1.8.2 url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) @@ -2159,7 +2159,7 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.12.0)(vite@5.1.5): + /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.12.1)(vite@5.1.5): resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} hasBin: true peerDependencies: @@ -2196,9 +2196,9 @@ packages: semver: 7.6.0 simple-git: 3.22.0 sirv: 2.0.4 - unimport: 3.7.1(rollup@4.12.0) + unimport: 3.7.1(rollup@4.12.1) vite: 5.1.5(@types/node@20.11.24) - vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.5) + vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.1)(vite@5.1.5) vite-plugin-vue-inspector: 4.0.2(vite@5.1.5) which: 3.0.1 ws: 8.16.0 @@ -2323,7 +2323,7 @@ packages: std-env: 3.7.0 ufo: 1.4.0 unenv: 1.9.0 - unplugin: 1.8.1 + unplugin: 1.8.2 vite: 5.1.5(@types/node@20.11.24) vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) @@ -2518,101 +2518,101 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.12.0): + /@rollup/plugin-alias@5.1.0(rollup@4.12.1): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.12.0 + rollup: 4.12.1 slash: 4.0.0 - /@rollup/plugin-commonjs@25.0.7(rollup@4.12.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.12.1): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.8 - rollup: 4.12.0 + rollup: 4.12.1 - /@rollup/plugin-inject@5.0.5(rollup@4.12.0): + /@rollup/plugin-inject@5.0.5(rollup@4.12.1): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) estree-walker: 2.0.2 magic-string: 0.30.8 - rollup: 4.12.0 + rollup: 4.12.1 - /@rollup/plugin-json@6.1.0(rollup@4.12.0): + /@rollup/plugin-json@6.1.0(rollup@4.12.1): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - rollup: 4.12.0 + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + rollup: 4.12.1 - /@rollup/plugin-node-resolve@15.2.3(rollup@4.12.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.12.1): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.12.0 + rollup: 4.12.1 - /@rollup/plugin-replace@5.0.5(rollup@4.12.0): + /@rollup/plugin-replace@5.0.5(rollup@4.12.1): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) magic-string: 0.30.8 - rollup: 4.12.0 + rollup: 4.12.1 - /@rollup/plugin-terser@0.4.4(rollup@4.12.0): + /@rollup/plugin-terser@0.4.4(rollup@4.12.1): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.12.0 + rollup: 4.12.1 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 @@ -2624,11 +2624,11 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@4.12.0): + /@rollup/pluginutils@5.1.0(rollup@4.12.1): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true @@ -2636,94 +2636,94 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.12.0 + rollup: 4.12.1 - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + /@rollup/rollup-android-arm-eabi@4.12.1: + resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + /@rollup/rollup-android-arm64@4.12.1: + resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + /@rollup/rollup-darwin-arm64@4.12.1: + resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + /@rollup/rollup-darwin-x64@4.12.1: + resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + /@rollup/rollup-linux-arm-gnueabihf@4.12.1: + resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + /@rollup/rollup-linux-arm64-gnu@4.12.1: + resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + /@rollup/rollup-linux-arm64-musl@4.12.1: + resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + /@rollup/rollup-linux-riscv64-gnu@4.12.1: + resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + /@rollup/rollup-linux-x64-gnu@4.12.1: + resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + /@rollup/rollup-linux-x64-musl@4.12.1: + resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + /@rollup/rollup-win32-arm64-msvc@4.12.1: + resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + /@rollup/rollup-win32-ia32-msvc@4.12.1: + resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + /@rollup/rollup-win32-x64-msvc@4.12.1: + resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} cpu: [x64] os: [win32] requiresBuild: true @@ -3462,7 +3462,7 @@ packages: '@volar/language-core': 2.1.1 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.12.0)(vue@3.4.21): + /@vue-macros/common@1.10.1(rollup@4.12.1)(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3472,9 +3472,9 @@ packages: optional: true dependencies: '@babel/types': 7.23.9 - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.12.0) + ast-kit: 0.11.3(rollup@4.12.1) local-pkg: 0.5.0 magic-string-ast: 0.3.0 vue: 3.4.21(typescript@5.3.3) @@ -4017,34 +4017,34 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.3(rollup@4.12.0): + /ast-kit@0.11.3(rollup@4.12.1): resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.23.9 - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-kit@0.9.5(rollup@4.12.0): + /ast-kit@0.9.5(rollup@4.12.1): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.23.9 - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-walker-scope@0.5.0(rollup@4.12.0): + /ast-walker-scope@0.5.0(rollup@4.12.1): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.23.9 - ast-kit: 0.9.5(rollup@4.12.0) + ast-kit: 0.9.5(rollup@4.12.1) transitivePeerDependencies: - rollup dev: false @@ -8029,14 +8029,14 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.12.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.12.0) - '@rollup/plugin-json': 6.1.0(rollup@4.12.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.12.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.12.0) - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.12.1) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.12.1) + '@rollup/plugin-json': 6.1.0(rollup@4.12.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.12.1) + '@rollup/plugin-terser': 0.4.4(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 archiver: 6.0.1 @@ -8079,8 +8079,8 @@ packages: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.0 - rollup: 4.12.0 - rollup-plugin-visualizer: 5.12.0(rollup@4.12.0) + rollup: 4.12.1 + rollup-plugin-visualizer: 5.12.0(rollup@4.12.1) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 @@ -8090,7 +8090,7 @@ packages: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.12.0) + unimport: 3.7.1(rollup@4.12.1) unstorage: 1.10.1 unwasm: 0.3.7 transitivePeerDependencies: @@ -9631,56 +9631,56 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.12.0)(typescript@5.3.3): + /rollup-plugin-dts@6.1.0(rollup@4.12.1)(typescript@5.3.3): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 4.12.0 + rollup: 4.12.1 typescript: 5.3.3 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.12.0): + /rollup-plugin-visualizer@5.12.0(rollup@4.12.1): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.12.0 + rollup: ^4.12.1 peerDependenciesMeta: rollup: optional: true dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.12.0 + rollup: 4.12.1 source-map: 0.7.4 yargs: 17.7.2 - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + /rollup@4.12.1: + resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 + '@rollup/rollup-android-arm-eabi': 4.12.1 + '@rollup/rollup-android-arm64': 4.12.1 + '@rollup/rollup-darwin-arm64': 4.12.1 + '@rollup/rollup-darwin-x64': 4.12.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 + '@rollup/rollup-linux-arm64-gnu': 4.12.1 + '@rollup/rollup-linux-arm64-musl': 4.12.1 + '@rollup/rollup-linux-riscv64-gnu': 4.12.1 + '@rollup/rollup-linux-x64-gnu': 4.12.1 + '@rollup/rollup-linux-x64-musl': 4.12.1 + '@rollup/rollup-win32-arm64-msvc': 4.12.1 + '@rollup/rollup-win32-ia32-msvc': 4.12.1 + '@rollup/rollup-win32-x64-msvc': 4.12.1 fsevents: 2.3.3 /run-applescript@5.0.0: @@ -10538,12 +10538,12 @@ packages: typescript: optional: true dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.12.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.0) - '@rollup/plugin-json': 6.1.0(rollup@4.12.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.12.0) - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.12.1) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.1) + '@rollup/plugin-json': 6.1.0(rollup@4.12.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -10558,8 +10558,8 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 4.12.0 - rollup-plugin-dts: 6.1.0(rollup@4.12.0)(typescript@5.3.3) + rollup: 4.12.1 + rollup-plugin-dts: 6.1.0(rollup@4.12.1)(typescript@5.3.3) scule: 1.3.0 typescript: 5.3.3 untyped: 1.4.2 @@ -10627,10 +10627,10 @@ packages: vfile: 6.0.1 dev: true - /unimport@3.7.1(rollup@4.12.0): + /unimport@3.7.1(rollup@4.12.1): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -10642,7 +10642,7 @@ packages: pkg-types: 1.0.3 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.8.1 + unplugin: 1.8.2 transitivePeerDependencies: - rollup @@ -10703,7 +10703,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unplugin-vue-router@0.7.0(rollup@4.12.0)(vue-router@4.3.0)(vue@3.4.21): + /unplugin-vue-router@0.7.0(rollup@4.12.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -10712,9 +10712,9 @@ packages: optional: true dependencies: '@babel/types': 7.23.9 - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue-macros/common': 1.10.1(rollup@4.12.0)(vue@3.4.21) - ast-walker-scope: 0.5.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@vue-macros/common': 1.10.1(rollup@4.12.1)(vue@3.4.21) + ast-walker-scope: 0.5.0(rollup@4.12.1) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 @@ -10722,7 +10722,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.8.1 + unplugin: 1.8.2 vue-router: 4.3.0(vue@3.4.21) yaml: 2.3.4 transitivePeerDependencies: @@ -10738,8 +10738,8 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - /unplugin@1.8.1: - resolution: {integrity: sha512-NDAvOEnZmeSRRmjfD0FoLzfve2/9lqceO5bR4J/2V72zphnFdq7UYo3fg6F1y1HfZEaSHa+7bZgbEN+z5x8ZDQ==} + /unplugin@1.8.2: + resolution: {integrity: sha512-fgldo8hwP8dV94ne3rwQqlZkZWdcqH4K48bXax+N0MrBapfvoTbIQt9L2Vj/DzZAbWI/+kd2b9ZDsB7QZgz/hw==} dependencies: acorn: 8.11.3 chokidar: 3.6.0 @@ -10835,7 +10835,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - unplugin: 1.8.1 + unplugin: 1.8.2 /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} @@ -11015,7 +11015,7 @@ packages: vue-tsc: 2.0.5(typescript@5.3.3) dev: false - /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.0)(vite@5.1.5): + /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.1)(vite@5.1.5): resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==} engines: {node: '>=14'} peerDependencies: @@ -11027,7 +11027,7 @@ packages: dependencies: '@antfu/utils': 0.7.7 '@nuxt/kit': link:packages/kit - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -11090,7 +11090,7 @@ packages: '@types/node': 20.11.24 esbuild: 0.19.11 postcss: 8.4.35 - rollup: 4.12.0 + rollup: 4.12.1 optionalDependencies: fsevents: 2.3.3 From b4bce578c653c6e7f34ffe89aa38a5f979e3d923 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 6 Mar 2024 11:55:06 +0000 Subject: [PATCH 183/470] fix(nuxt): don't refetch server components in initial html (#26089) --- packages/nuxt/src/app/components/nuxt-island.ts | 5 +++-- test/basic.test.ts | 12 ++++++------ test/fixtures/basic/pages/random/[id].vue | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 24e3e16891..f1a6e20005 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -109,7 +109,6 @@ export default defineComponent({ components: {} } - if (nuxtApp.isHydrating) { payloads.slots = toRaw(nuxtApp.payload.data[`${props.name}_${hashId.value}`])?.slots ?? {} payloads.components = toRaw(nuxtApp.payload.data[`${props.name}_${hashId.value}`])?.components ?? {} @@ -119,6 +118,8 @@ export default defineComponent({ if (import.meta.client && nuxtApp.isHydrating) { ssrHTML.value = getFragmentHTML(instance.vnode?.el ?? null, true)?.join('') || '' + const key = `${props.name}_${hashId.value}` + nuxtApp.payload.data[key].html = ssrHTML.value } const uid = ref<string>(ssrHTML.value.match(SSR_UID_RE)?.[1] ?? getId()) @@ -149,7 +150,7 @@ export default defineComponent({ async function _fetchComponent (force = false) { const key = `${props.name}_${hashId.value}` - if (nuxtApp.payload.data[key]?.html && !force) { return nuxtApp.payload.data[key] } + if (!force && nuxtApp.payload.data[key]?.html) { return nuxtApp.payload.data[key] } const url = remoteComponentIslands && props.source ? new URL(`/__nuxt_island/${key}.json`, props.source).href : `/__nuxt_island/${key}.json` diff --git a/test/basic.test.ts b/test/basic.test.ts index 890e22ab65..e18a38133d 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -2134,11 +2134,11 @@ describe.skipIf(isDev() || isWindows || !isRenderingJson)('payload rendering', ( await gotoPath(page, '/random/a') // We are manually prefetching other payloads - await page.waitForRequest(url('/random/c/_payload.json')) + await page.waitForRequest(request => request.url().includes('/random/c/_payload.json')) // We are not triggering API requests in the payload - expect(requests).not.toContain(expect.stringContaining('/api/random')) - expect(requests).not.toContain(expect.stringContaining('/__nuxt_island')) + expect(requests).not.toContainEqual(expect.stringContaining('/api/random')) + expect(requests).not.toContainEqual(expect.stringContaining('/__nuxt_island')) // requests.length = 0 await page.click('[href="/random/b"]') @@ -2146,10 +2146,10 @@ describe.skipIf(isDev() || isWindows || !isRenderingJson)('payload rendering', ( // We are not triggering API requests in the payload in client-side nav expect(requests).not.toContain('/api/random') - expect(requests).not.toContain(expect.stringContaining('/__nuxt_island')) + expect(requests).not.toContainEqual(expect.stringContaining('/__nuxt_island')) // We are fetching a payload we did not prefetch - expect(requests).toContain('/random/b/_payload.json') + expect(requests).toContainEqual(expect.stringContaining('/random/b/_payload.json')) // We are not refetching payloads we've already prefetched // expect(requests.filter(p => p.includes('_payload')).length).toBe(1) @@ -2160,7 +2160,7 @@ describe.skipIf(isDev() || isWindows || !isRenderingJson)('payload rendering', ( // We are not triggering API requests in the payload in client-side nav expect(requests).not.toContain('/api/random') - expect(requests).not.toContain(expect.stringContaining('/__nuxt_island')) + expect(requests).not.toContainEqual(expect.stringContaining('/__nuxt_island')) // We are not refetching payloads we've already prefetched // Note: we refetch on dev as urls differ between '' and '?import' diff --git a/test/fixtures/basic/pages/random/[id].vue b/test/fixtures/basic/pages/random/[id].vue index 4322c7b379..6ae5bfbb73 100644 --- a/test/fixtures/basic/pages/random/[id].vue +++ b/test/fixtures/basic/pages/random/[id].vue @@ -2,7 +2,7 @@ <div> <NuxtLink to="/" - prefetched-class="prefetched" + no-prefetch > Home </NuxtLink> From bbf41865074273368f8732ff8e9b4344dccccd73 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 6 Mar 2024 12:44:33 +0000 Subject: [PATCH 184/470] fix(nuxt): resolve `defu`/`h3` paths in type templates (#26085) --- packages/nuxt/src/core/templates.ts | 17 +++++++++++------ packages/nuxt/src/pages/module.ts | 4 ++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 55ee480e13..9fbcdb79bb 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -8,6 +8,8 @@ import { hash } from 'ohash' import { camelCase } from 'scule' import { filename } from 'pathe/utils' import type { NuxtTemplate } from 'nuxt/schema' +import { tryResolveModule } from '@nuxt/kit' + import { annotatePlugins, checkForCircularDependencies } from './app' export const vueShim: NuxtTemplate = { @@ -221,12 +223,13 @@ export const middlewareTemplate: NuxtTemplate = { export const nitroSchemaTemplate: NuxtTemplate = { filename: 'types/nitro-nuxt.d.ts', - getContents: () => { + async getContents ({ nuxt }) { + const localH3 = await tryResolveModule('h3', nuxt.options.modulesDir) || 'h3' return /* typescript */` /// <reference path="./schema.d.ts" /> import type { RuntimeConfig } from 'nuxt/schema' -import type { H3Event } from 'h3' +import type { H3Event } from '${localH3}' import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from 'nuxt/dist/core/runtime/nitro/renderer' declare module 'nitropack' { @@ -261,10 +264,11 @@ export const useRuntimeConfig = () => window?.__NUXT__?.config || {} export const appConfigDeclarationTemplate: NuxtTemplate = { filename: 'types/app.config.d.ts', - getContents: ({ app, nuxt }) => { + async getContents ({ app, nuxt }) { + const localDefu = await tryResolveModule('defu', nuxt.options.modulesDir) || 'defu' return ` import type { CustomAppConfig } from 'nuxt/schema' -import type { Defu } from 'defu' +import type { Defu } from '${localDefu}' ${app.configs.map((id: string, index: number) => `import ${`cfg${index}`} from ${JSON.stringify(id.replace(/(?<=\w)\.\w+$/g, ''))}`).join('\n')} declare const inlineConfig = ${JSON.stringify(nuxt.options.appConfig, null, 2)} @@ -298,10 +302,11 @@ declare module '@nuxt/schema' { export const appConfigTemplate: NuxtTemplate = { filename: 'app.config.mjs', write: true, - getContents ({ app, nuxt }) { + async getContents ({ app, nuxt }) { + const localDefu = await tryResolveModule('defu', nuxt.options.modulesDir) || 'defu' return ` import { updateAppConfig } from '#app/config' -import { defuFn } from 'defu' +import { defuFn } from '${localDefu}' const inlineConfig = ${JSON.stringify(nuxt.options.appConfig, null, 2)} diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 51f2e31630..d62b732b7a 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -479,7 +479,7 @@ export default defineNuxtModule({ getContents: ({ nuxt, app }: { nuxt: Nuxt, app: NuxtApp }) => { const composablesFile = relative(join(nuxt.options.buildDir, 'types'), resolve(runtimeDir, 'composables')) return [ - 'import { ComputedRef, MaybeRef } from \'vue\'', + 'import type { ComputedRef, MaybeRef } from \'vue\'', `export type LayoutKey = ${Object.keys(app.layouts).map(name => genString(name)).join(' | ') || 'string'}`, `declare module ${genString(composablesFile)} {`, ' interface PageMeta {', @@ -499,7 +499,7 @@ export default defineNuxtModule({ const runtimeDir = resolve(distDir, 'pages/runtime') const composablesFile = relative(join(nuxt.options.buildDir, 'types'), resolve(runtimeDir, 'composables')) return [ - 'import { ComputedRef, MaybeRef } from \'vue\'', + 'import type { ComputedRef, MaybeRef } from \'vue\'', `declare module ${genString(composablesFile)} {`, ' interface PageMeta {', ` viewTransition?: boolean | 'always'`, From bdf201d24d35ce6eba24833736e190decd51503c Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 6 Mar 2024 12:44:50 +0000 Subject: [PATCH 185/470] fix(nuxt): use exported `toExports` from `unimport` (#26086) --- packages/nuxt/src/imports/module.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/imports/module.ts b/packages/nuxt/src/imports/module.ts index 01ccd89488..3636c5a84d 100644 --- a/packages/nuxt/src/imports/module.ts +++ b/packages/nuxt/src/imports/module.ts @@ -2,7 +2,7 @@ import { existsSync } from 'node:fs' import { addTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, isIgnored, logger, resolveAlias, tryResolveModule, updateTemplates, useNuxt } from '@nuxt/kit' import { isAbsolute, join, normalize, relative, resolve } from 'pathe' import type { Import, Unimport } from 'unimport' -import { createUnimport, scanDirExports } from 'unimport' +import { createUnimport, scanDirExports, toExports } from 'unimport' import type { ImportPresetWithDeprecation, ImportsOptions } from 'nuxt/schema' import { lookupNodeModuleSubpath, parseNodeModulePath } from 'mlly' @@ -79,7 +79,7 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ // Support for importing from '#imports' addTemplate({ filename: 'imports.mjs', - getContents: async () => await ctx.toExports() + '\nif (import.meta.dev) { console.warn("[nuxt] `#imports` should be transformed with real imports. There seems to be something wrong with the imports plugin.") }' + getContents: async () => toExports(await ctx.getImports()) + '\nif (import.meta.dev) { console.warn("[nuxt] `#imports` should be transformed with real imports. There seems to be something wrong with the imports plugin.") }' }) nuxt.options.alias['#imports'] = join(nuxt.options.buildDir, 'imports') @@ -177,7 +177,7 @@ function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions addTemplate({ filename: 'imports.d.ts', - getContents: () => ctx.toExports(nuxt.options.buildDir, true) + getContents: async ({ nuxt }) => toExports(await ctx.getImports(), nuxt.options.buildDir, true) }) addTemplate({ From 209ae4ac6278c5aef0b28f2b9bcf129ada1e1ac2 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 6 Mar 2024 12:50:59 +0000 Subject: [PATCH 186/470] fix(nuxt): cache-bust payloads with build id (#26068) --- packages/nuxt/src/app/composables/payload.ts | 7 ++++--- packages/nuxt/src/core/runtime/nitro/renderer.ts | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/app/composables/payload.ts b/packages/nuxt/src/app/composables/payload.ts index a4eeb66582..97edda896d 100644 --- a/packages/nuxt/src/app/composables/payload.ts +++ b/packages/nuxt/src/app/composables/payload.ts @@ -3,6 +3,7 @@ import { parse } from 'devalue' import { useHead } from '@unhead/vue' import { getCurrentInstance } from 'vue' import { useNuxtApp, useRuntimeConfig } from '../nuxt' +import { useAppConfig } from '../config' import { useRoute } from './router' import { getAppManifest, getRouteRules } from './manifest' @@ -50,14 +51,14 @@ export function preloadPayload (url: string, opts: LoadPayloadOptions = {}) { // --- Internal --- -const extension = renderJsonPayloads ? 'json' : 'js' +const filename = renderJsonPayloads ? '_payload.json' : '_payload.js' function _getPayloadURL (url: string, opts: LoadPayloadOptions = {}) { const u = new URL(url, 'http://localhost') if (u.host !== 'localhost' || hasProtocol(u.pathname, { acceptRelative: true })) { throw new Error('Payload URL must not include hostname: ' + url) } - const hash = opts.hash || (opts.fresh ? Date.now() : '') - return joinURL(useRuntimeConfig().app.baseURL, u.pathname, hash ? `_payload.${hash}.${extension}` : `_payload.${extension}`) + const hash = opts.hash || (opts.fresh ? Date.now() : (useAppConfig().nuxt as any)?.buildId) + return joinURL(useRuntimeConfig().app.baseURL, u.pathname, filename + (hash ? `?${hash}` : '')) } async function _importPayload (payloadURL: string) { diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 344589e516..db3fc8fa2a 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -225,7 +225,7 @@ async function getIslandContext (event: H3Event): Promise<NuxtIslandContext> { return ctx } -const PAYLOAD_URL_RE = process.env.NUXT_JSON_PAYLOADS ? /\/_payload(\.[a-zA-Z0-9]+)?.json(\?.*)?$/ : /\/_payload(\.[a-zA-Z0-9]+)?.js(\?.*)?$/ +const PAYLOAD_URL_RE = process.env.NUXT_JSON_PAYLOADS ? /\/_payload.json(\?.*)?$/ : /\/_payload.js(\?.*)?$/ const ROOT_NODE_REGEX = new RegExp(`^<${appRootTag}${appRootId ? ` id="${appRootId}"` : ''}>([\\s\\S]*)</${appRootTag}>$`) const PRERENDER_NO_SSR_ROUTES = new Set(['/index.html', '/200.html', '/404.html']) From f09311d7170105805a9d352a12216b9da77fe83c Mon Sep 17 00:00:00 2001 From: Andre van Tonder <andre@drevan.me> Date: Wed, 6 Mar 2024 22:59:21 +1000 Subject: [PATCH 187/470] fix(nuxt): export `AsyncDataRequestStatus` type (#26023) --- packages/nuxt/src/app/composables/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/index.ts b/packages/nuxt/src/app/composables/index.ts index 92a6960a57..784ded227d 100644 --- a/packages/nuxt/src/app/composables/index.ts +++ b/packages/nuxt/src/app/composables/index.ts @@ -14,7 +14,7 @@ export { export { defineNuxtComponent } from './component' export { useAsyncData, useLazyAsyncData, useNuxtData, refreshNuxtData, clearNuxtData } from './asyncData' -export type { AsyncDataOptions, AsyncData } from './asyncData' +export type { AsyncDataOptions, AsyncData, AsyncDataRequestStatus } from './asyncData' export { useHydration } from './hydrate' export { callOnce } from './once' export { useState, clearNuxtState } from './state' From cdc3c4b3d2b2ed3b245e34108546adb03f158f9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?t=C9=99=C9=99na=2Evu=C9=99?= <76698025+franklin-tina@users.noreply.github.com> Date: Wed, 6 Mar 2024 07:25:23 -0600 Subject: [PATCH 188/470] docs: add documentation for using layers with private repos (#26094) --- docs/1.getting-started/9.layers.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/1.getting-started/9.layers.md b/docs/1.getting-started/9.layers.md index ed61136af1..eb35638d03 100644 --- a/docs/1.getting-started/9.layers.md +++ b/docs/1.getting-started/9.layers.md @@ -29,6 +29,19 @@ export default defineNuxtConfig({ }) ``` +You can also pass an authentication token if you are extending from a private GitHub repository: + +```ts twoslash [nuxt.config.ts] +export default defineNuxtConfig({ + extends: [ + // per layer configuration + ['github:my-themes/private-awesome', { auth: process.env.GITHUB_TOKEN }] + ] +}) +``` + +Nuxt uses [unjs/c12](https://c12.unjs.io) and [unjs/giget](https://giget.unjs.io) for extending remote layers. Check the documentation for more information and all available options. + ::read-more{to="/docs/guide/going-further/layers"} Read more about layers in the **Layer Author Guide**. :: From 0bf70bd7ad350c7a60e37aa4d082ae02a737aff4 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 6 Mar 2024 13:40:32 +0000 Subject: [PATCH 189/470] docs: remove twoslash from code sample --- docs/1.getting-started/9.layers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/9.layers.md b/docs/1.getting-started/9.layers.md index eb35638d03..44de1a28b0 100644 --- a/docs/1.getting-started/9.layers.md +++ b/docs/1.getting-started/9.layers.md @@ -31,7 +31,7 @@ export default defineNuxtConfig({ You can also pass an authentication token if you are extending from a private GitHub repository: -```ts twoslash [nuxt.config.ts] +```ts [nuxt.config.ts] export default defineNuxtConfig({ extends: [ // per layer configuration From 1b2c55765e2e865be6c403d5550f151af1cbaca7 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 6 Mar 2024 13:46:28 +0000 Subject: [PATCH 190/470] =?UTF-8?q?chore:=20remove=20second=20twoslash=20p?= =?UTF-8?q?rop=20too=20=F0=9F=A4=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/1.getting-started/9.layers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/9.layers.md b/docs/1.getting-started/9.layers.md index 44de1a28b0..f62194d670 100644 --- a/docs/1.getting-started/9.layers.md +++ b/docs/1.getting-started/9.layers.md @@ -19,7 +19,7 @@ One of the core features of Nuxt 3 is the layers and extending support. You can You can extend a layer by adding the [extends](/docs/api/nuxt-config#extends) property to the [`nuxt.config.ts`](/docs/guide/directory-structure/nuxt-config) file. -```ts twoslash [nuxt.config.ts] +```ts [nuxt.config.ts] export default defineNuxtConfig({ extends: [ '../base', // Extend from a local layer From f844636e18875d82515747ae59a2664c5d2c44db Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 14:13:34 +0000 Subject: [PATCH 191/470] chore(deps): update devdependency c12 to v1.10.0 (main) (#26105) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 28 ++++++++++++++++------------ 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index 9aec0433fc..ecbeced876 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@nuxt/schema": "workspace:*", - "c12": "^1.9.0", + "c12": "^1.10.0", "consola": "^3.2.3", "defu": "^6.1.4", "globby": "^14.0.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 36ced1c607..217211b572 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -71,7 +71,7 @@ "@unhead/vue": "^1.8.11", "@vue/shared": "^3.4.21", "acorn": "8.11.3", - "c12": "^1.9.0", + "c12": "^1.10.0", "chokidar": "^3.6.0", "cookie-es": "^1.0.0", "defu": "^6.1.4", diff --git a/packages/schema/package.json b/packages/schema/package.json index 4a6721eb24..1231b820f2 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -43,7 +43,7 @@ "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", "@vue/language-core": "2.0.5", - "c12": "1.9.0", + "c12": "1.10.0", "esbuild-loader": "4.0.3", "h3": "1.11.1", "ignore": "5.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0671113375..3e6f527442 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -161,8 +161,8 @@ importers: specifier: workspace:* version: link:../schema c12: - specifier: ^1.9.0 - version: 1.9.0 + specifier: ^1.10.0 + version: 1.10.0 consola: specifier: ^3.2.3 version: 3.2.3 @@ -282,8 +282,8 @@ importers: specifier: 8.11.3 version: 8.11.3 c12: - specifier: ^1.9.0 - version: 1.9.0 + specifier: ^1.10.0 + version: 1.10.0 chokidar: specifier: ^3.6.0 version: 3.6.0 @@ -497,8 +497,8 @@ importers: specifier: 2.0.5 version: 2.0.5(typescript@5.3.3) c12: - specifier: 1.9.0 - version: 1.9.0 + specifier: 1.10.0 + version: 1.10.0 esbuild-loader: specifier: 4.0.3 version: 4.0.3(webpack@5.90.3) @@ -2301,7 +2301,7 @@ packages: '@nuxt/schema': link:packages/schema '@testing-library/vue': 8.0.2(vue@3.4.21) '@vue/test-utils': 2.4.4(vue@3.4.21) - c12: 1.9.0 + c12: 1.10.0 consola: 3.2.3 defu: 6.1.4 destr: 2.0.3 @@ -4185,13 +4185,13 @@ packages: dependencies: run-applescript: 5.0.0 - /c12@1.9.0: - resolution: {integrity: sha512-7KTCZXdIbOA2hLRQ+1KzJ15Qp9Wn58one74dkihMVp2H6EzKTa3OYBy0BSfS1CCcmxYyqeX8L02m40zjQ+dstg==} + /c12@1.10.0: + resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} dependencies: chokidar: 3.6.0 confbox: 0.1.3 defu: 6.1.4 - dotenv: 16.4.1 + dotenv: 16.4.5 giget: 1.2.1 jiti: 1.21.0 mlly: 1.6.1 @@ -4316,7 +4316,7 @@ packages: resolution: {integrity: sha512-IzgToIJ/R9NhVKmL+PW33ozYkv53bXvufDNUSH3GTKXq1iCHGgkbgbtqEWbo8tnWNnt7nPDpjL8PwSG2iS8RVw==} hasBin: true dependencies: - c12: 1.9.0 + c12: 1.10.0 colorette: 2.0.20 consola: 3.2.3 convert-gitmoji: 0.1.3 @@ -5078,6 +5078,10 @@ packages: resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==} engines: {node: '>=12'} + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -8040,7 +8044,7 @@ packages: '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 archiver: 6.0.1 - c12: 1.9.0 + c12: 1.10.0 chalk: 5.3.0 chokidar: 3.6.0 citty: 0.1.6 From c6e1c9bb70ec787c1394526acf0250879293c58b Mon Sep 17 00:00:00 2001 From: i-udas <83934567+i-udas@users.noreply.github.com> Date: Wed, 6 Mar 2024 23:20:17 +0900 Subject: [PATCH 192/470] fix(nuxt): add space before `<html>` and `<body>` attrs (#26027) --- packages/nuxt/src/core/runtime/nitro/renderer.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index db3fc8fa2a..39cc1931a5 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -535,7 +535,8 @@ function joinTags (tags: string[]) { } function joinAttrs (chunks: string[]) { - return chunks.join(' ') + if (chunks.length === 0) return '' + return ' ' + chunks.join(' ') } function renderHTMLDocument (html: NuxtRenderHTMLContext) { From 2e8d47c269a735907127aa11c5d5e8e04e20febc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Wed, 6 Mar 2024 15:27:17 +0100 Subject: [PATCH 193/470] fix(kit): resolve module `node_modules` for `modulesDir` (#25548) --- packages/kit/src/index.ts | 2 +- packages/kit/src/module/install.ts | 2 +- packages/kit/src/template.ts | 18 +++++-- packages/kit/test/generate-types.spec.ts | 65 ++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 6 deletions(-) create mode 100644 packages/kit/test/generate-types.spec.ts diff --git a/packages/kit/src/index.ts b/packages/kit/src/index.ts index da2fe614ad..9f70bb4bfc 100644 --- a/packages/kit/src/index.ts +++ b/packages/kit/src/index.ts @@ -20,7 +20,7 @@ export * from './pages' export * from './plugin' export * from './resolve' export * from './nitro' -export * from './template' +export { addTemplate, addTypeTemplate, normalizeTemplate, updateTemplates, writeTypes } from './template' export * from './logger' // Internal Utils diff --git a/packages/kit/src/module/install.ts b/packages/kit/src/module/install.ts index c1c0f8be29..47bf32937a 100644 --- a/packages/kit/src/module/install.ts +++ b/packages/kit/src/module/install.ts @@ -38,7 +38,7 @@ export async function installModule (moduleToInstall: string | NuxtModule, inlin nuxt.options.build.transpile.push(normalizeModuleTranspilePath(moduleToInstall)) const directory = getDirectory(moduleToInstall) if (directory !== moduleToInstall && !localLayerModuleDirs.has(directory)) { - nuxt.options.modulesDir.push(directory) + nuxt.options.modulesDir.push(resolve(directory, 'node_modules')) } } diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index 3d3888fb71..a73e7e941b 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -16,7 +16,7 @@ import { resolveNuxtModule } from './resolve' /** * Renders given template using lodash template during build into the project buildDir */ -export function addTemplate <T>(_template: NuxtTemplate<T> | string) { +export function addTemplate<T> (_template: NuxtTemplate<T> | string) { const nuxt = useNuxt() // Normalize template @@ -36,7 +36,7 @@ export function addTemplate <T>(_template: NuxtTemplate<T> | string) { * Renders given types using lodash template during build into the project buildDir * and register them as types. */ -export function addTypeTemplate <T>(_template: NuxtTypeTemplate<T>) { +export function addTypeTemplate<T> (_template: NuxtTypeTemplate<T>) { const nuxt = useNuxt() const template = addTemplate(_template) @@ -56,7 +56,7 @@ export function addTypeTemplate <T>(_template: NuxtTypeTemplate<T>) { /** * Normalize a nuxt template object */ -export function normalizeTemplate <T>(template: NuxtTemplate<T> | string): ResolvedNuxtTemplate<T> { +export function normalizeTemplate<T> (template: NuxtTemplate<T> | string): ResolvedNuxtTemplate<T> { if (!template) { throw new Error('Invalid template: ' + JSON.stringify(template)) } @@ -110,7 +110,8 @@ export function normalizeTemplate <T>(template: NuxtTemplate<T> | string): Resol export async function updateTemplates (options?: { filter?: (template: ResolvedNuxtTemplate<any>) => boolean }) { return await tryUseNuxt()?.hooks.callHook('builder:generateApp', options) } -export async function writeTypes (nuxt: Nuxt) { + +export async function _generateTypes (nuxt: Nuxt) { const nodeModulePaths = getModulePaths(nuxt.options.modulesDir) const rootDirWithSlash = withTrailingSlash(nuxt.options.rootDir) @@ -248,6 +249,15 @@ export async function writeTypes (nuxt: Nuxt) { '' ].join('\n') + return { + declaration, + tsConfig + } +} + +export async function writeTypes (nuxt: Nuxt) { + const { tsConfig, declaration } = await _generateTypes(nuxt) + async function writeFile () { const GeneratedBy = '// Generated by nuxi' diff --git a/packages/kit/test/generate-types.spec.ts b/packages/kit/test/generate-types.spec.ts new file mode 100644 index 0000000000..ea6cc10f47 --- /dev/null +++ b/packages/kit/test/generate-types.spec.ts @@ -0,0 +1,65 @@ +import { describe, expect, it } from 'vitest' +import type { Nuxt, NuxtConfig } from '@nuxt/schema' +import { defu } from 'defu' + +import { _generateTypes } from '../src/template' + +type DeepPartial<T> = { + [P in keyof T]?: T[P] extends Record<string, any> ? DeepPartial<T[P]> : T[P] +} + +const mockNuxt = { + options: { + rootDir: '/my-app', + srcDir: '/my-app', + alias: { + '~': '/my-app', + 'some-custom-alias': '/my-app/some-alias' + }, + typescript: { includeWorkspace: false }, + buildDir: '/my-app/.nuxt', + modulesDir: ['/my-app/node_modules', '/node_modules'], + modules: [], + _layers: [{ config: { srcDir: '/my-app' } }], + _installedModules: [], + _modules: [], + }, + callHook: () => {}, +} satisfies DeepPartial<Nuxt> as unknown as Nuxt + +const mockNuxtWithOptions = (options: NuxtConfig) => defu({ options }, mockNuxt) as Nuxt + +describe('tsConfig generation', () => { + it('should add add correct relative paths for aliases', async () => { + const { tsConfig } = await _generateTypes(mockNuxt) + expect(tsConfig.compilerOptions?.paths).toMatchInlineSnapshot(` + { + "#build": [ + ".", + ], + "some-custom-alias": [ + "../some-alias", + ], + "~": [ + "..", + ], + } + `) + }) + + it('should add add exclude for module paths', async () => { + const { tsConfig } = await _generateTypes(mockNuxtWithOptions({ + modulesDir: ['/my-app/modules/test/node_modules', '/my-app/modules/node_modules', '/my-app/node_modules/@some/module/node_modules'] + })) + expect(tsConfig.exclude).toMatchInlineSnapshot(` + [ + "../modules/test/node_modules", + "../modules/node_modules", + "../node_modules/@some/module/node_modules", + "../node_modules", + "../../node_modules", + "../dist", + ] + `) + }) +}) From bc44dfc48404fd3aee58a662099952568ed71f58 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 6 Mar 2024 14:29:07 +0000 Subject: [PATCH 194/470] perf(nuxt): use fallthrough cache for prerender (#26104) --- packages/nuxt/package.json | 1 + packages/nuxt/src/core/nitro.ts | 14 +++++----- .../src/core/runtime/nitro/cache-driver.ts | 27 +++++++++++++++++++ pnpm-lock.yaml | 3 +++ 4 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 packages/nuxt/src/core/runtime/nitro/cache-driver.ts diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 217211b572..2bde9e7c9f 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -109,6 +109,7 @@ "unimport": "^3.7.1", "unplugin": "^1.8.2", "unplugin-vue-router": "^0.7.0", + "unstorage": "^1.10.1", "untyped": "^1.4.2", "vue": "^3.4.21", "vue-bundle-renderer": "^2.0.0", diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 8a78dbfa75..9bb9fddfa9 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -1,3 +1,4 @@ +import { pathToFileURL } from 'node:url' import { existsSync, promises as fsp, readFileSync } from 'node:fs' import { cpus } from 'node:os' import { join, normalize, relative, resolve } from 'pathe' @@ -6,7 +7,7 @@ import { randomUUID } from 'uncrypto' import { joinURL, withTrailingSlash } from 'ufo' import { build, copyPublicAssets, createDevServer, createNitro, prepare, prerender, scanHandlers, writeTypes } from 'nitropack' import type { Nitro, NitroConfig } from 'nitropack' -import { findPath, logger, resolveIgnorePatterns, resolveNuxtModule } from '@nuxt/kit' +import { findPath, logger, resolveIgnorePatterns, resolveNuxtModule, resolvePath } from '@nuxt/kit' import escapeRE from 'escape-string-regexp' import { defu } from 'defu' import fsExtra from 'fs-extra' @@ -392,11 +393,12 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { } }) - // Set prerender-only options - nitro.options._config.storage ||= {} - nitro.options._config.storage['internal:nuxt:prerender'] = { driver: 'memory' } - nitro.options._config.storage['internal:nuxt:prerender:island'] = { driver: 'lruCache', max: 1000 } - nitro.options._config.storage['internal:nuxt:prerender:payload'] = { driver: 'lruCache', max: 1000 } + nitro.options._config.storage = defu(nitro.options._config.storage, { + 'internal:nuxt:prerender': { + driver: pathToFileURL(await resolvePath(join(distDir, 'core/runtime/nitro/cache-driver'))).href, + base: resolve(nuxt.options.buildDir, 'cache/nitro/prerender') + } + }) // Expose nitro to modules and kit nuxt._nitro = nitro diff --git a/packages/nuxt/src/core/runtime/nitro/cache-driver.ts b/packages/nuxt/src/core/runtime/nitro/cache-driver.ts new file mode 100644 index 0000000000..92920a4b4b --- /dev/null +++ b/packages/nuxt/src/core/runtime/nitro/cache-driver.ts @@ -0,0 +1,27 @@ +import { defineDriver } from 'unstorage' +import fsDriver from 'unstorage/drivers/fs-lite' +import lruCache from 'unstorage/drivers/lru-cache' + +// Ensure we don't try to write/read from directory index for `/` paths +const normalizeFsKey = (item: string) => item.indexOf(':') === -1 ? `${item}:index` : item + +export default defineDriver((opts: { base: string }) => { + const fs = fsDriver({ base: opts.base }) + const lru = lruCache({ max: 1000 }) + + return { + ...fs, // fall back to file system - only the bottom three methods are used in renderer + async setItem (key, value, opts) { + await Promise.all([ + fs.setItem(normalizeFsKey(key), value, opts), + lru.setItem(key, value, opts) + ]) + }, + async hasItem (key, opts) { + return await lru.hasItem(key, opts) || await fs.hasItem(normalizeFsKey(key), opts) + }, + async getItem (key, opts) { + return await lru.getItem(key, opts) || await fs.getItem(normalizeFsKey(key), opts) + }, + } +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3e6f527442..c51bba959d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -395,6 +395,9 @@ importers: unplugin-vue-router: specifier: ^0.7.0 version: 0.7.0(rollup@4.12.1)(vue-router@4.3.0)(vue@3.4.21) + unstorage: + specifier: ^1.10.1 + version: 1.10.1 untyped: specifier: ^1.4.2 version: 1.4.2 From 230f6b4f191851e0c6fcb60ab2a3030518d64283 Mon Sep 17 00:00:00 2001 From: Bogdan Kostyuk <contact@bogdankostyuk.xyz> Date: Wed, 6 Mar 2024 16:38:39 +0200 Subject: [PATCH 195/470] feat(nuxt): client-only pages (#25037) --- docs/2.guide/2.directory-structure/1.pages.md | 4 ++ .../components/runtime/client-component.ts | 19 ++++++ packages/nuxt/src/pages/utils.ts | 21 ++++-- packages/schema/src/types/hooks.ts | 6 +- test/basic.test.ts | 68 +++++++++++++++++++ .../pages/client-only-page/index.client.vue | 34 ++++++++++ .../basic/pages/client-only-page/normal.vue | 15 ++++ 7 files changed, 161 insertions(+), 6 deletions(-) create mode 100644 packages/nuxt/src/components/runtime/client-component.ts create mode 100644 test/fixtures/basic/pages/client-only-page/index.client.vue create mode 100644 test/fixtures/basic/pages/client-only-page/normal.vue diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index 2332295f8a..851018ba3e 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -357,6 +357,10 @@ function navigate(){ </script> ``` +## Client-Only Pages + +You can define a page as [client only](/docs/guide/directory-structure/components#client-components) by giving it a `.client.vue` suffix. None of the content of this page will be rendered on the server. + ## Server-Only Pages You can define a page as [server only](/docs/guide/directory-structure/components#server-components) by giving it a `.server.vue` suffix. While you will be able to navigate to the page using client-side navigation, controlled by `vue-router`, it will be rendered with a server component automatically, meaning the code required to render the page will not be in your client-side bundle. diff --git a/packages/nuxt/src/components/runtime/client-component.ts b/packages/nuxt/src/components/runtime/client-component.ts new file mode 100644 index 0000000000..c7b68e6660 --- /dev/null +++ b/packages/nuxt/src/components/runtime/client-component.ts @@ -0,0 +1,19 @@ +import { defineAsyncComponent, defineComponent, h } from 'vue' +import type { AsyncComponentLoader } from 'vue' +import { default as ClientOnly } from '#app/components/client-only' + +/*@__NO_SIDE_EFFECTS__*/ +export const createClientPage = (loader: AsyncComponentLoader) => { + const page = defineAsyncComponent(loader) + + return defineComponent({ + inheritAttrs: false, + setup (_, { attrs }) { + return () => h('div', [ + h(ClientOnly, undefined, { + default: () => h(page, attrs) + }) + ]) + } + }) +} diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 0eebfc963a..3a33b5aa57 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -84,17 +84,21 @@ export async function generateRoutesFromFiles (files: ScannedFile[], options: Ge name: '', path: '', file: file.absolutePath, - children: [] + children: [], } // Array where routes should be added, useful when adding child routes let parent = routes - if (segments[segments.length - 1].endsWith('.server')) { - segments[segments.length - 1] = segments[segments.length - 1].replace('.server', '') + const lastSegment = segments[segments.length - 1] + if (lastSegment.endsWith('.server')) { + segments[segments.length - 1] = lastSegment.replace('.server', '') if (options.shouldUseServerComponents) { route.mode = 'server' } + } else if (lastSegment.endsWith('.client')) { + segments[segments.length - 1] = lastSegment.replace('.client', '') + route.mode = 'client' } for (let i = 0; i < segments.length; i++) { @@ -451,7 +455,9 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set<string> = redirect: `${metaImportName}?.redirect`, component: page.mode === 'server' ? `() => createIslandPage(${route.name})` - : genDynamicImport(file, { interopDefault: true }) + : page.mode === 'client' + ? `() => createClientPage(${genDynamicImport(file, { interopDefault: true })})` + : genDynamicImport(file, { interopDefault: true }) } if (page.mode === 'server') { @@ -461,6 +467,13 @@ async function createIslandPage (name) { _createIslandPage ||= await import(${JSON.stringify(resolve(distDir, 'components/runtime/server-component'))}).then(r => r.createIslandPage) return _createIslandPage(name) };`) + } else if (page.mode === 'client') { + metaImports.add(` +let _createClientPage +async function createClientPage(loader) { + _createClientPage ||= await import(${JSON.stringify(resolve(distDir, 'components/runtime/client-component'))}).then(r => r.createClientPage) + return _createClientPage(loader); +}`) } if (route.children != null) { diff --git a/packages/schema/src/types/hooks.ts b/packages/schema/src/types/hooks.ts index 51e06f82d9..6a33051266 100644 --- a/packages/schema/src/types/hooks.ts +++ b/packages/schema/src/types/hooks.ts @@ -22,7 +22,7 @@ export type TSReference = { types: string } | { path: string } export type WatchEvent = 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir' // If the user does not have `@vue/language-core` installed, VueCompilerOptions will be typed as `any`, -// thus making the whole `VueTSConfig` type `any`. We only augment TSConfig if VueCompilerOptions is available. +// thus making the whole `VueTSConfig` type `any`. We only augment TSConfig if VueCompilerOptions is available. export type VueTSConfig = 0 extends 1 & VueCompilerOptions ? TSConfig : TSConfig & { vueCompilerOptions?: VueCompilerOptions } export type NuxtPage = { @@ -39,9 +39,11 @@ export type NuxtPage = { * `all` means the page will be rendered isomorphically - with JavaScript both on client and server. * * `server` means pages are automatically rendered with server components, so there will be no JavaScript to render the page in your client bundle. + * + * `client` means that page will render on the client-side only. * @default 'all' */ - mode?: 'server' | 'all' + mode?: 'client' | 'server' | 'all' } export type NuxtMiddleware = { diff --git a/test/basic.test.ts b/test/basic.test.ts index e18a38133d..065639d32b 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -458,6 +458,74 @@ describe('pages', () => { expect(response).not.toContain('don\'t look at this') expect(response).toContain('OH NNNNNNOOOOOOOOOOO') }) + + it('client only page', async () => { + const response = await fetch('/client-only').then(r => r.text()) + + // Should not contain rendered page on initial request + expect(response).not.toContain('"hasAccessToWindow": true') + expect(response).not.toContain('"isServer": false') + + const errors: string[] = [] + const { page: clientInitialPage } = await renderPage('/client-only-page') + + clientInitialPage.on('console', (message) => { + const type = message.type() + if (type === 'error' || type === 'warning') { + errors.push(message.text()) + } + }) + + // But after hydration element should appear and contain this object + expect(await clientInitialPage.locator('#state').textContent()).toMatchInlineSnapshot(` + "{ + "hasAccessToWindow": true, + "isServer": false + }" + `) + + expect(await clientInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot(`"false"`) + + // Then go to non client only page + await clientInitialPage.click('a') + await new Promise((r) => setTimeout(r, 50)) // little delay to finish transition + + // that page should be client rendered + expect(await clientInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot(`"false"`) + // and not contain any errors or warnings + expect(errors.length).toBe(0) + + await clientInitialPage.close() + errors.length = 0 + + const { page: normalInitialPage } = await renderPage('/client-only-page/normal') + + normalInitialPage.on('console', (message) => { + const type = message.type() + if (type === 'error' || type === 'warning') { + errors.push(message.text()) + } + }) + + // Now non client only page should be sever rendered + expect(await normalInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot(`"true"`) + + // Go to client only page + await normalInitialPage.click('a') + + // and expect same object to be present + expect(await normalInitialPage.locator('#state').textContent()).toMatchInlineSnapshot(` + "{ + "hasAccessToWindow": true, + "isServer": false + }" + `) + + // also there should not be any errors + expect(errors.length).toBe(0) + + await normalInitialPage.close() + }) }) describe('nuxt composables', () => { diff --git a/test/fixtures/basic/pages/client-only-page/index.client.vue b/test/fixtures/basic/pages/client-only-page/index.client.vue new file mode 100644 index 0000000000..2cad091fab --- /dev/null +++ b/test/fixtures/basic/pages/client-only-page/index.client.vue @@ -0,0 +1,34 @@ +<script setup lang="ts"> +const state = useState('test', () => { + let hasAccessToWindow = null as null | boolean + + try { + hasAccessToWindow = Object.keys(window).at(0) ? true : false + } catch { + hasAccessToWindow = null + } + + return { + hasAccessToWindow, + isServer: import.meta.server + } +}) + +const serverRendered = useState(() => import.meta.server) +</script> + +<template> + <div> + <NuxtLink to="/client-only-page/normal"> + normal + </NuxtLink> + + <p id="state"> + {{ state }} + </p> + + <p id="server-rendered"> + {{ serverRendered }} + </p> + </div> +</template> diff --git a/test/fixtures/basic/pages/client-only-page/normal.vue b/test/fixtures/basic/pages/client-only-page/normal.vue new file mode 100644 index 0000000000..6781a8d3e2 --- /dev/null +++ b/test/fixtures/basic/pages/client-only-page/normal.vue @@ -0,0 +1,15 @@ +<script setup lang="ts"> +const renderedOnServer = useState(() => import.meta.server) +</script> + +<template> + <div> + <NuxtLink to="/client-only-page"> + to client only page + </NuxtLink> + + <p id="server-rendered"> + {{ renderedOnServer }} + </p> + </div> +</template> From a80bdd1e5937bb5527baf428112f17b40b958612 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 15:20:52 +0000 Subject: [PATCH 196/470] chore(deps): update dependency cssnano to ^6.1.0 (main) (#26107) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 197 +++++++++++++++++----------------- 3 files changed, 101 insertions(+), 100 deletions(-) diff --git a/packages/vite/package.json b/packages/vite/package.json index df3cb35827..d4ab443c19 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -39,7 +39,7 @@ "autoprefixer": "^10.4.18", "clear": "^0.1.0", "consola": "^3.2.3", - "cssnano": "^6.0.5", + "cssnano": "^6.1.0", "defu": "^6.1.4", "esbuild": "^0.20.1", "escape-string-regexp": "^5.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index db95a634d6..1431cf598f 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.18", "css-loader": "^6.10.0", "css-minimizer-webpack-plugin": "^6.0.0", - "cssnano": "^6.0.5", + "cssnano": "^6.1.0", "defu": "^6.1.4", "esbuild-loader": "^4.0.3", "escape-string-regexp": "^5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c51bba959d..d994c025e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -572,8 +572,8 @@ importers: specifier: ^3.2.3 version: 3.2.3 cssnano: - specifier: ^6.0.5 - version: 6.0.5(postcss@8.4.35) + specifier: ^6.1.0 + version: 6.1.0(postcss@8.4.35) defu: specifier: ^6.1.4 version: 6.1.4 @@ -690,8 +690,8 @@ importers: specifier: ^6.0.0 version: 6.0.0(webpack@5.90.3) cssnano: - specifier: ^6.0.5 - version: 6.0.5(postcss@8.4.35) + specifier: ^6.1.0 + version: 6.1.0(postcss@8.4.35) defu: specifier: ^6.1.4 version: 6.1.4 @@ -4694,7 +4694,7 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.21 - cssnano: 6.0.5(postcss@8.4.35) + cssnano: 6.1.0(postcss@8.4.35) jest-worker: 29.7.0 postcss: 8.4.35 schema-utils: 4.2.0 @@ -4738,46 +4738,47 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.0.5(postcss@8.4.35): - resolution: {integrity: sha512-M+qRDEr5QZrfNl0B2ySdbTLGyNb8kBcSjuwR7WBamYBOEREH9t2efnB/nblekqhdGLZdkf4oZNetykG2JWRdZQ==} + /cssnano-preset-default@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-4DUXZoDj+PI3fRl3MqMjl9DwLGjcsFP4qt+92nLUcN1RGfw2TY+GwNoG2B38Usu1BrcTs8j9pxNfSusmvtSjfg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: + browserslist: 4.23.0 css-declaration-sorter: 7.1.1(postcss@8.4.35) - cssnano-utils: 4.0.1(postcss@8.4.35) + cssnano-utils: 4.0.2(postcss@8.4.35) postcss: 8.4.35 postcss-calc: 9.0.1(postcss@8.4.35) - postcss-colormin: 6.0.3(postcss@8.4.35) - postcss-convert-values: 6.0.4(postcss@8.4.35) - postcss-discard-comments: 6.0.1(postcss@8.4.35) - postcss-discard-duplicates: 6.0.2(postcss@8.4.35) - postcss-discard-empty: 6.0.2(postcss@8.4.35) - postcss-discard-overridden: 6.0.1(postcss@8.4.35) - postcss-merge-longhand: 6.0.3(postcss@8.4.35) - postcss-merge-rules: 6.0.4(postcss@8.4.35) - postcss-minify-font-values: 6.0.2(postcss@8.4.35) - postcss-minify-gradients: 6.0.2(postcss@8.4.35) - postcss-minify-params: 6.0.3(postcss@8.4.35) - postcss-minify-selectors: 6.0.2(postcss@8.4.35) - postcss-normalize-charset: 6.0.1(postcss@8.4.35) - postcss-normalize-display-values: 6.0.1(postcss@8.4.35) - postcss-normalize-positions: 6.0.1(postcss@8.4.35) - postcss-normalize-repeat-style: 6.0.1(postcss@8.4.35) - postcss-normalize-string: 6.0.1(postcss@8.4.35) - postcss-normalize-timing-functions: 6.0.1(postcss@8.4.35) - postcss-normalize-unicode: 6.0.3(postcss@8.4.35) - postcss-normalize-url: 6.0.1(postcss@8.4.35) - postcss-normalize-whitespace: 6.0.1(postcss@8.4.35) - postcss-ordered-values: 6.0.1(postcss@8.4.35) - postcss-reduce-initial: 6.0.3(postcss@8.4.35) - postcss-reduce-transforms: 6.0.1(postcss@8.4.35) - postcss-svgo: 6.0.2(postcss@8.4.35) - postcss-unique-selectors: 6.0.2(postcss@8.4.35) + postcss-colormin: 6.1.0(postcss@8.4.35) + postcss-convert-values: 6.1.0(postcss@8.4.35) + postcss-discard-comments: 6.0.2(postcss@8.4.35) + postcss-discard-duplicates: 6.0.3(postcss@8.4.35) + postcss-discard-empty: 6.0.3(postcss@8.4.35) + postcss-discard-overridden: 6.0.2(postcss@8.4.35) + postcss-merge-longhand: 6.0.4(postcss@8.4.35) + postcss-merge-rules: 6.1.0(postcss@8.4.35) + postcss-minify-font-values: 6.0.3(postcss@8.4.35) + postcss-minify-gradients: 6.0.3(postcss@8.4.35) + postcss-minify-params: 6.1.0(postcss@8.4.35) + postcss-minify-selectors: 6.0.3(postcss@8.4.35) + postcss-normalize-charset: 6.0.2(postcss@8.4.35) + postcss-normalize-display-values: 6.0.2(postcss@8.4.35) + postcss-normalize-positions: 6.0.2(postcss@8.4.35) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.35) + postcss-normalize-string: 6.0.2(postcss@8.4.35) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.35) + postcss-normalize-unicode: 6.1.0(postcss@8.4.35) + postcss-normalize-url: 6.0.2(postcss@8.4.35) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.35) + postcss-ordered-values: 6.0.2(postcss@8.4.35) + postcss-reduce-initial: 6.1.0(postcss@8.4.35) + postcss-reduce-transforms: 6.0.2(postcss@8.4.35) + postcss-svgo: 6.0.3(postcss@8.4.35) + postcss-unique-selectors: 6.0.3(postcss@8.4.35) dev: false - /cssnano-utils@4.0.1(postcss@8.4.35): - resolution: {integrity: sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ==} + /cssnano-utils@4.0.2(postcss@8.4.35): + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -4785,13 +4786,13 @@ packages: postcss: 8.4.35 dev: false - /cssnano@6.0.5(postcss@8.4.35): - resolution: {integrity: sha512-tpTp/ukgrElwu3ESFY4IvWnGn8eTt8cJhC2aAbtA3lvUlxp6t6UPv8YCLjNnEGiFreT1O0LiOM1U3QyTBVFl2A==} + /cssnano@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-e2v4w/t3OFM6HTuSweI4RSdABaqgVgHlJp5FZrQsopHnKKHLFIvK2D3C4kHWeFIycN/1L1J5VIrg5KlDzn3r/g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.0.5(postcss@8.4.35) + cssnano-preset-default: 6.1.0(postcss@8.4.35) lilconfig: 3.1.1 postcss: 8.4.35 dev: false @@ -8738,8 +8739,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-ECpkS+UZRyAtu/kjive2/1mihP+GNtgC8kcdU8ueWZi1ZVxMNnRziCLdhrWECJhEtSWijfX2Cl9XTTCK/hjGaA==} + /postcss-colormin@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8751,8 +8752,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@6.0.4(postcss@8.4.35): - resolution: {integrity: sha512-YT2yrGzPXoQD3YeA2kBo/696qNwn7vI+15AOS2puXWEvSWqdCqlOyDWRy5GNnOc9ACRGOkuQ4ESQEqPJBWt/GA==} + /postcss-convert-values@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8762,8 +8763,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-discard-comments@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg==} + /postcss-discard-comments@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8771,8 +8772,8 @@ packages: postcss: 8.4.35 dev: false - /postcss-discard-duplicates@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-U2rsj4w6pAGROCCcD13LP2eBIi1whUsXs4kgE6xkIuGfkbxCBSKhkCTWyowFd66WdVlLv0uM1euJKIgmdmZObg==} + /postcss-discard-duplicates@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8780,8 +8781,8 @@ packages: postcss: 8.4.35 dev: false - /postcss-discard-empty@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-rj6pVC2dVCJrP0Y2RkYTQEbYaCf4HEm+R/2StQgJqGHxAa3+KcYslNQhcRqjLHtl/4wpzipJluaJLqBj6d5eDQ==} + /postcss-discard-empty@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8789,8 +8790,8 @@ packages: postcss: 8.4.35 dev: false - /postcss-discard-overridden@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA==} + /postcss-discard-overridden@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8838,32 +8839,32 @@ packages: - typescript dev: false - /postcss-merge-longhand@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-kF/y3DU8CRt+SX3tP/aG+2gkZI2Z7OXDsPU7FgxIJmuyhQQ1EHceIYcsp/alvzCm2P4c37Sfdu8nNrHc+YeyLg==} + /postcss-merge-longhand@6.0.4(postcss@8.4.35): + resolution: {integrity: sha512-vAfWGcxUUGlFiPM3nDMZA+/Yo9sbpc3JNkcYZez8FfJDv41Dh7tAgA3QGVTocaHCZZL6aXPXPOaBMJsjujodsA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: postcss: 8.4.35 postcss-value-parser: 4.2.0 - stylehacks: 6.0.3(postcss@8.4.35) + stylehacks: 6.1.0(postcss@8.4.35) dev: false - /postcss-merge-rules@6.0.4(postcss@8.4.35): - resolution: {integrity: sha512-97iF3UJ5v8N1BWy38y+0l+Z8o5/9uGlEgtWic2PJPzoRrLB6Gxg8TVG93O0EK52jcLeMsywre26AUlX1YAYeHA==} + /postcss-merge-rules@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-lER+W3Gr6XOvxOYk1Vi/6UsAgKMg6MDBthmvbNqi2XxAk/r9XfhdYZSigfWjuWWn3zYw2wLelvtM8XuAEFqRkA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - cssnano-utils: 4.0.1(postcss@8.4.35) + cssnano-utils: 4.0.2(postcss@8.4.35) postcss: 8.4.35 postcss-selector-parser: 6.0.15 dev: false - /postcss-minify-font-values@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-IedzbVMoX0a7VZWjSYr5qJ6C37rws8kl8diPBeMZLJfWKkgXuMFY5R/OxPegn/q9tK9ztd0XRH3aR0u2t+A7uQ==} + /postcss-minify-font-values@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-SmAeTA1We5rMnN3F8X9YBNo9bj9xB4KyDHnaNJnBfQIPi+60fNiR9OTRnIaMqkYzAQX0vObIw4Pn0vuKEOettg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8872,32 +8873,32 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-vP5mF7iI6/5fcpv+rSfwWQekOE+8I1i7/7RjZPGuIjj6eUaZVeG4XZYZrroFuw1WQd51u2V32wyQFZ+oYdE7CA==} + /postcss-minify-gradients@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.1(postcss@8.4.35) + cssnano-utils: 4.0.2(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-j4S74d3AAeCK5eGdQndXSrkxusV2ekOxbXGnlnZthMyZBBvSDiU34CihTASbJxuVB3bugudmwolS7+Dgs5OyOQ==} + /postcss-minify-params@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - cssnano-utils: 4.0.1(postcss@8.4.35) + cssnano-utils: 4.0.2(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==} + /postcss-minify-selectors@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-IcV7ZQJcaXyhx4UBpWZMsinGs2NmiUC60rJSkyvjPCPqhNjVGsrJUM+QhAtCaikZ0w0/AbZuH4wVvF/YMuMhvA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8947,8 +8948,8 @@ packages: postcss: 8.4.35 dev: false - /postcss-normalize-charset@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg==} + /postcss-normalize-charset@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8956,8 +8957,8 @@ packages: postcss: 8.4.35 dev: false - /postcss-normalize-display-values@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw==} + /postcss-normalize-display-values@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8966,8 +8967,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg==} + /postcss-normalize-positions@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8976,8 +8977,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ==} + /postcss-normalize-repeat-style@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8986,8 +8987,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg==} + /postcss-normalize-string@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8996,8 +8997,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g==} + /postcss-normalize-timing-functions@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -9006,8 +9007,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-T2Bb3gXz0ASgc3ori2dzjv6j/P2IantreaC6fT8tWjqYUiqMAh5jGIkdPwEV2FaucjQlCLeFJDJh2BeSugE1ig==} + /postcss-normalize-unicode@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -9017,8 +9018,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ==} + /postcss-normalize-url@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -9027,8 +9028,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA==} + /postcss-normalize-whitespace@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -9037,19 +9038,19 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA==} + /postcss-ordered-values@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-utils: 4.0.1(postcss@8.4.35) + cssnano-utils: 4.0.2(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-w4QIR9pEa1N4xMx3k30T1vLZl6udVK2RmNqrDXhBXX9L0mBj2a8ADs8zkbaEH7eUy1m30Wyr5EBgHN31Yq1JvA==} + /postcss-reduce-initial@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -9059,8 +9060,8 @@ packages: postcss: 8.4.35 dev: false - /postcss-reduce-transforms@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ==} + /postcss-reduce-transforms@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -9076,8 +9077,8 @@ packages: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ==} + /postcss-svgo@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.4.31 @@ -9087,8 +9088,8 @@ packages: svgo: 3.2.0 dev: false - /postcss-unique-selectors@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ==} + /postcss-unique-selectors@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-NFXbYr8qdmCr/AFceaEfdcsKGCvWTeGO6QVC9h2GvtWgj0/0dklKQcaMMVzs6tr8bY+ase8hOtHW8OBTTRvS8A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -10184,8 +10185,8 @@ packages: dependencies: js-tokens: 8.0.2 - /stylehacks@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-KzBqjnqktc8/I0ERCb+lGq06giF/JxDbw2r9kEVhen9noHeIDRtMWUp9r62sOk+/2bbX6sFG1GhsS7ToXG0PEg==} + /stylehacks@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-ETErsPFgwlfYZ/CSjMO2Ddf+TsnkCVPBPaoB99Ro8WMAxf7cglzmFsRBhRmKObFjibtcvlNxFFPHuyr3sNlNUQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 From 6d93014c52a36eb04d6172d3deccb7ce132c7ea7 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Wed, 6 Mar 2024 16:26:19 +0100 Subject: [PATCH 197/470] feat(nuxt): allow using `nuxt-client` in all components (#25479) --- .../2.directory-structure/1.components.md | 2 +- .../nuxt/src/app/components/nuxt-island.ts | 16 ++-- .../nuxt-teleport-island-component.ts | 10 ++- .../components/nuxt-teleport-island-slot.ts | 45 ++++++---- .../nuxt/src/components/islandsTransform.ts | 3 +- .../nuxt/src/core/runtime/nitro/renderer.ts | 21 ++++- packages/nuxt/src/core/templates.ts | 2 +- test/basic.test.ts | 14 +++- .../components/CounterWithNuxtClient.vue | 9 ++ .../ServerWithNestedClient.server.vue | 5 ++ test/fixtures/basic/nuxt.config.ts | 2 +- test/fixtures/basic/pages/islands.vue | 1 + test/nuxt/nuxt-island.test.ts | 82 ++++++++++++++++--- 13 files changed, 169 insertions(+), 43 deletions(-) create mode 100644 test/fixtures/basic/components/CounterWithNuxtClient.vue create mode 100644 test/fixtures/basic/components/ServerWithNestedClient.server.vue diff --git a/docs/2.guide/2.directory-structure/1.components.md b/docs/2.guide/2.directory-structure/1.components.md index 655cb98bd9..1addc266c2 100644 --- a/docs/2.guide/2.directory-structure/1.components.md +++ b/docs/2.guide/2.directory-structure/1.components.md @@ -318,7 +318,7 @@ You can partially hydrate a component by setting a `nuxt-client` attribute on th ``` ::alert{type=info} -This only works within a server component. Slots for client components are not available yet. +This only works within a server component. Slots for client components are working only with `experimental.componentIsland.selectiveClient` set to `'deep'` and since they are rendered server-side, they are not interactive once client-side. :: #### Server Component Context diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index f1a6e20005..7191dcf747 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -260,20 +260,24 @@ export default defineComponent({ } if (import.meta.server) { for (const [id, info] of Object.entries(payloads.components ?? {})) { - const { html } = info + const { html, slots } = info + let replaced = html.replaceAll('data-island-uid', `data-island-uid="${uid.value}"`) + for (const slot in slots) { + replaced = replaced.replaceAll(`data-island-slot="${slot}">`, (full) => full + slots[slot]) + } teleports.push(createVNode(Teleport, { to: `uid=${uid.value};client=${id}` }, { - default: () => [createStaticVNode(html, 1)] + default: () => [createStaticVNode(replaced, 1)] })) } - } - if (selectiveClient && import.meta.client && canLoadClientComponent.value) { + } else if (selectiveClient && import.meta.client && canLoadClientComponent.value) { for (const [id, info] of Object.entries(payloads.components ?? {})) { - const { props } = info + const { props, slots } = info const component = components!.get(id)! // use different selectors for even and odd teleportKey to force trigger the teleport const vnode = createVNode(Teleport, { to: `${isKeyOdd ? 'div' : ''}[data-island-uid='${uid.value}'][data-island-component="${id}"]` }, { default: () => { - return [h(component, props)] + return [h(component, props, Object.fromEntries(Object.entries(slots || {}).map(([k, v]) => ([k, () => createStaticVNode(`<div style="display: contents" data-island-uid data-island-slot="${k}">${v}</div>`, 1) + ]))))] } }) teleports.push(vnode) diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts index 34a5dcca91..75adbdfaf4 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts @@ -1,5 +1,5 @@ -import type { Component } from 'vue' -import { Teleport, defineComponent, h } from 'vue' +import type { Component, InjectionKey } from 'vue' +import { Teleport, defineComponent, h, inject, provide } from 'vue' import { useNuxtApp } from '../nuxt' // @ts-expect-error virtual file import { paths } from '#build/components-chunk' @@ -9,6 +9,8 @@ type ExtendedComponent = Component & { __name: string } +export const NuxtTeleportIslandSymbol = Symbol('NuxtTeleportIslandComponent') as InjectionKey<false | string> + /** * component only used with componentsIsland * this teleport the component in SSR only if it needs to be hydrated on client @@ -37,8 +39,10 @@ export default defineComponent({ setup (props, { slots }) { const nuxtApp = useNuxtApp() - if (!nuxtApp.ssrContext?.islandContext || !props.nuxtClient) { return () => slots.default!() } + // if there's already a teleport parent, we don't need to teleport or to render the wrapped component client side + if (!nuxtApp.ssrContext?.islandContext || !props.nuxtClient || inject(NuxtTeleportIslandSymbol, false)) { return () => slots.default?.() } + provide(NuxtTeleportIslandSymbol, props.to) const islandContext = nuxtApp.ssrContext!.islandContext! return () => { diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts index 6001f26097..7fb7287c45 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts @@ -1,6 +1,8 @@ -import { Teleport, defineComponent, h } from 'vue' +import type { VNode } from 'vue' +import { Teleport, createVNode, defineComponent, h, inject } from 'vue' import { useNuxtApp } from '../nuxt' - +import { NuxtTeleportIslandSymbol } from './nuxt-teleport-island-component' + /** * component only used within islands for slot teleport */ @@ -9,37 +11,50 @@ export default defineComponent({ name: 'NuxtTeleportIslandSlot', props: { name: { - type: String, - required: true + type: String, + required: true }, /** * must be an array to handle v-for */ props: { - type: Object as () => Array<any> + type: Object as () => Array<any> } }, setup (props, { slots }) { const nuxtApp = useNuxtApp() const islandContext = nuxtApp.ssrContext?.islandContext - - if(!islandContext) { - return () => slots.default?.() + if (!islandContext) { + return () => slots.default?.()[0] } + const componentName = inject(NuxtTeleportIslandSymbol, false) islandContext.slots[props.name] = { - props: (props.props || []) as unknown[] + props: (props.props || []) as unknown[] } return () => { - const vnodes = [h('div', { - style: 'display: contents;', - 'data-island-uid': '', - 'data-island-slot': props.name, - })] + const vnodes: VNode[] = [] + + if (nuxtApp.ssrContext?.islandContext && slots.default) { + vnodes.push(h('div', { + style: 'display: contents;', + 'data-island-uid': '', + 'data-island-slot': props.name, + }, { + // Teleport in slot to not be hydrated client-side with the staticVNode + default: () => [createVNode(Teleport, { to: `island-slot=${componentName};${props.name}` }, slots.default?.())] + })) + } else { + vnodes.push(h('div', { + style: 'display: contents;', + 'data-island-uid': '', + 'data-island-slot': props.name, + })) + } if (slots.fallback) { - vnodes.push(h(Teleport, { to: `island-fallback=${props.name}`}, slots.fallback())) + vnodes.push(h(Teleport, { to: `island-fallback=${props.name}` }, slots.fallback())) } return vnodes diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index 0c98ceb7f8..6692277a9c 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -21,7 +21,7 @@ interface ServerOnlyComponentTransformPluginOptions { /** * allow using `nuxt-client` attribute on components */ - selectiveClient?: boolean + selectiveClient?: boolean | 'deep' } interface ComponentChunkOptions { @@ -47,6 +47,7 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran enforce: 'pre', transformInclude (id) { if (!isVue(id)) { return false } + if (options.selectiveClient === 'deep') { return true } const components = options.getComponents() const islands = components.filter(component => diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 39cc1931a5..3d262a1e3d 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -70,6 +70,7 @@ export interface NuxtIslandClientResponse { html: string props: unknown chunk: string + slots?: Record<string, string> } export interface NuxtIslandResponse { @@ -629,6 +630,7 @@ function getServerComponentHTML (body: string[]): string { const SSR_SLOT_TELEPORT_MARKER = /^uid=([^;]*);slot=(.*)$/ const SSR_CLIENT_TELEPORT_MARKER = /^uid=([^;]*);client=(.*)$/ +const SSR_CLIENT_SLOT_MARKER = /^island-slot=(?:[^;]*);(.*)$/ function getSlotIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse['slots'] { if (!ssrContext.islandContext) { return {} } @@ -636,7 +638,7 @@ function getSlotIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse[ for (const slot in ssrContext.islandContext.slots) { response[slot] = { ...ssrContext.islandContext.slots[slot], - fallback: ssrContext.teleports?.[`island-fallback=${slot}`] + fallback: ssrContext.teleports?.[`island-fallback=${slot}`], } } return response @@ -645,16 +647,33 @@ function getSlotIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse[ function getClientIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse['components'] { if (!ssrContext.islandContext) { return {} } const response: NuxtIslandResponse['components'] = {} + for (const clientUid in ssrContext.islandContext.components) { const html = ssrContext.teleports?.[clientUid] || '' response[clientUid] = { ...ssrContext.islandContext.components[clientUid], html, + slots: getComponentSlotTeleport(ssrContext.teleports ?? {}) } } return response } +function getComponentSlotTeleport (teleports: Record<string, string>) { + const entries = Object.entries(teleports) + const slots: Record<string, string> = {} + + for (const [key, value] of entries) { + const match = key.match(SSR_CLIENT_SLOT_MARKER) + if (match) { + const [, slot] = match + if (!slot) { continue } + slots[slot] = value + } + } + return slots +} + function replaceIslandTeleports (ssrContext: NuxtSSRContext, html: string) { const { teleports, islandContext } = ssrContext diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 9fbcdb79bb..5a820ac2b1 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -386,7 +386,7 @@ export const nuxtConfigTemplate: NuxtTemplate = { `export const cookieStore = ${!!ctx.nuxt.options.experimental.cookieStore}`, `export const appManifest = ${!!ctx.nuxt.options.experimental.appManifest}`, `export const remoteComponentIslands = ${typeof ctx.nuxt.options.experimental.componentIslands === 'object' && ctx.nuxt.options.experimental.componentIslands.remoteIsland}`, - `export const selectiveClient = ${typeof ctx.nuxt.options.experimental.componentIslands === 'object' && ctx.nuxt.options.experimental.componentIslands.selectiveClient}`, + `export const selectiveClient = ${typeof ctx.nuxt.options.experimental.componentIslands === 'object' && Boolean(ctx.nuxt.options.experimental.componentIslands.selectiveClient)}`, `export const devPagesDir = ${ctx.nuxt.options.dev ? JSON.stringify(ctx.nuxt.options.dir.pages) : 'null'}`, `export const devRootDir = ${ctx.nuxt.options.dev ? JSON.stringify(ctx.nuxt.options.rootDir) : 'null'}`, `export const nuxtLinkDefaults = ${JSON.stringify(ctx.nuxt.options.experimental.defaults.nuxtLink)}`, diff --git a/test/basic.test.ts b/test/basic.test.ts index 065639d32b..879dda2155 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1610,6 +1610,12 @@ describe('server components/islands', () => { // test islands wrapped with client-only expect(await page.locator('#wrapped-client-only').innerHTML()).toContain('Was router enabled') + if (!isWebpack) { + // test nested client components + await page.locator('.server-with-nested-client button').click() + expect(await page.locator('.server-with-nested-client .sugar-counter').innerHTML()).toContain('Sugar Counter 13 x 1 = 13') + } + if (!isWebpack) { // test client component interactivity expect(await page.locator('.interactive-component-wrapper').innerHTML()).toContain('Sugar Counter 12') @@ -1667,9 +1673,9 @@ describe('server components/islands', () => { const text = (await page.innerText('pre')).replaceAll(/ data-island-uid="([^"]*)"/g, '').replace(/data-island-component="([^"]*)"/g, (_, content) => `data-island-component="${content.split('-')[0]}"`) if (isWebpack) { - expect(text).toMatchInlineSnapshot('" End page <pre></pre><section id="fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"></div><!--]--></div></section><section id="no-fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"></div><!--]--></div></section><div> ServerWithClient.server.vue : <p>count: 0</p> This component should not be preloaded <div><!--[--><div>a</div><div>b</div><div>c</div><!--]--></div> This is not interactive <div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><div class="interactive-component-wrapper" style="border:solid 1px red;"> The component bellow is not a slot but declared as interactive <div class="sugar-counter" nuxt-client=""> Sugar Counter 12 x 1 = 12 <button> Inc </button></div></div></div>"') + expect(text).toMatchInlineSnapshot(`" End page <pre></pre><section id="fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><section id="no-fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><div> ServerWithClient.server.vue : <p>count: 0</p> This component should not be preloaded <div><!--[--><div>a</div><div>b</div><div>c</div><!--]--></div> This is not interactive <div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><div class="interactive-component-wrapper" style="border:solid 1px red;"> The component bellow is not a slot but declared as interactive <div class="sugar-counter" nuxt-client=""> Sugar Counter 12 x 1 = 12 <button> Inc </button></div></div></div>"`) } else { - expect(text).toMatchInlineSnapshot(`" End page <pre></pre><section id="fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"></div><!--]--></div></section><section id="no-fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"></div><!--]--></div></section><div> ServerWithClient.server.vue : <p>count: 0</p> This component should not be preloaded <div><!--[--><div>a</div><div>b</div><div>c</div><!--]--></div> This is not interactive <div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><div class="interactive-component-wrapper" style="border:solid 1px red;"> The component bellow is not a slot but declared as interactive <!--[--><div style="display: contents;" data-island-component="Counter"></div><!--teleport start--><!--teleport end--><!--]--></div></div>"`) + expect(text).toMatchInlineSnapshot(`" End page <pre></pre><section id="fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><section id="no-fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><div> ServerWithClient.server.vue : <p>count: 0</p> This component should not be preloaded <div><!--[--><div>a</div><div>b</div><div>c</div><!--]--></div> This is not interactive <div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><div class="interactive-component-wrapper" style="border:solid 1px red;"> The component bellow is not a slot but declared as interactive <!--[--><div style="display: contents;" data-island-component="Counter"></div><!--teleport start--><!--teleport end--><!--]--></div></div>"`) } expect(text).toContain('async component that was very long') @@ -1928,7 +1934,7 @@ describe('component islands', () => { "link": [], "style": [], }, - "html": "<div data-island-uid><div> count is above 2 </div><!--[--><div style="display: contents;" data-island-uid data-island-slot="default"></div><!--]--> that was very long ... <div id="long-async-component-count">3</div> <!--[--><div style="display: contents;" data-island-uid data-island-slot="test"></div><!--]--><p>hello world !!!</p><!--[--><div style="display: contents;" data-island-uid data-island-slot="hello"></div><!--teleport start--><!--teleport end--><!--]--><!--[--><div style="display: contents;" data-island-uid data-island-slot="fallback"></div><!--teleport start--><!--teleport end--><!--]--></div>", + "html": "<div data-island-uid><div> count is above 2 </div><!--[--><div style="display: contents;" data-island-uid data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--> that was very long ... <div id="long-async-component-count">3</div> <!--[--><div style="display: contents;" data-island-uid data-island-slot="test"><!--teleport start--><!--teleport end--></div><!--]--><p>hello world !!!</p><!--[--><div style="display: contents;" data-island-uid data-island-slot="hello"><!--teleport start--><!--teleport end--></div><!--teleport start--><!--teleport end--><!--]--><!--[--><div style="display: contents;" data-island-uid data-island-slot="fallback"><!--teleport start--><!--teleport end--></div><!--teleport start--><!--teleport end--><!--]--></div>", "slots": { "default": { "props": [], @@ -1992,7 +1998,7 @@ describe('component islands', () => { "link": [], "style": [], }, - "html": "<div data-island-uid> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">2</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-uid data-island-slot="default"></div><!--]--></div>", + "html": "<div data-island-uid> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">2</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-uid data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div>", "props": {}, "slots": {}, "state": {}, diff --git a/test/fixtures/basic/components/CounterWithNuxtClient.vue b/test/fixtures/basic/components/CounterWithNuxtClient.vue new file mode 100644 index 0000000000..c16d3d5ada --- /dev/null +++ b/test/fixtures/basic/components/CounterWithNuxtClient.vue @@ -0,0 +1,9 @@ +<template> + <div> + this is a normal component within a server component + <Counter + nuxt-client + :multiplier="1" + /> + </div> +</template> diff --git a/test/fixtures/basic/components/ServerWithNestedClient.server.vue b/test/fixtures/basic/components/ServerWithNestedClient.server.vue new file mode 100644 index 0000000000..3121e03eea --- /dev/null +++ b/test/fixtures/basic/components/ServerWithNestedClient.server.vue @@ -0,0 +1,5 @@ +<template> + <div class="server-with-nested-client"> + <CounterWithNuxtClient /> + </div> +</template> diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index eb931240f6..46dd69a46c 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -211,7 +211,7 @@ export default defineNuxtConfig({ restoreState: true, clientNodeCompat: true, componentIslands: { - selectiveClient: true + selectiveClient: 'deep' }, treeshakeClientOnly: true, asyncContext: process.env.TEST_CONTEXT === 'async', diff --git a/test/fixtures/basic/pages/islands.vue b/test/fixtures/basic/pages/islands.vue index 4e2b59e2c2..1bb6483518 100644 --- a/test/fixtures/basic/pages/islands.vue +++ b/test/fixtures/basic/pages/islands.vue @@ -110,6 +110,7 @@ const count = ref(0) </div> </div> <ServerWithClient /> + <ServerWithNestedClient /> </div> </template> diff --git a/test/nuxt/nuxt-island.test.ts b/test/nuxt/nuxt-island.test.ts index 6ef437d728..5a40833c32 100644 --- a/test/nuxt/nuxt-island.test.ts +++ b/test/nuxt/nuxt-island.test.ts @@ -26,7 +26,7 @@ vi.mock('vue', async (original) => { const consoleError = vi.spyOn(console, 'error') const consoleWarn = vi.spyOn(console, 'warn') -function expectNoConsoleIssue() { +function expectNoConsoleIssue () { expect(consoleError).not.toHaveBeenCalled() expect(consoleWarn).not.toHaveBeenCalled() } @@ -93,7 +93,7 @@ describe('runtime server component', () => { link: [], style: [] }, - json() { + json () { return this } } @@ -123,7 +123,7 @@ describe('client components', () => { vi.doMock(mockPath, () => ({ default: { name: 'ClientComponent', - setup() { + setup () { return () => h('div', 'client component') } } @@ -145,7 +145,7 @@ describe('client components', () => { chunk: mockPath } }, - json() { + json () { return this } } @@ -184,14 +184,14 @@ describe('client components', () => { style: [] }, components: {}, - json() { + json () { return this } })) await wrapper.vm.$.exposed!.refresh() await nextTick() - expect(wrapper.html()).toMatchInlineSnapshot( ` + expect(wrapper.html()).toMatchInlineSnapshot(` "<div data-island-uid="3">hello<div> <div>fallback</div> </div> @@ -202,10 +202,10 @@ describe('client components', () => { expectNoConsoleIssue() }) - + it('should not replace nested client components data-island-uid', async () => { const componentId = 'Client-12345' - + const stubFetch = vi.fn(() => { return { id: '1234', @@ -215,7 +215,7 @@ describe('client components', () => { link: [], style: [] }, - json() { + json () { return this } } @@ -238,4 +238,66 @@ describe('client components', () => { vi.mocked(fetch).mockReset() expectNoConsoleIssue() }) -}) \ No newline at end of file + + it('pass a slot to a client components within islands', async () => { + const mockPath = '/nuxt-client-with-slot.js' + const componentId = 'ClientWithSlot-12345' + + vi.doMock(mockPath, () => ({ + default: { + name: 'ClientWithSlot', + setup (_, { slots }) { + return () => h('div', { class: "client-component" }, slots.default()) + } + } + })) + + const stubFetch = vi.fn(() => { + return { + id: '123', + html: `<div data-island-uid>hello<div data-island-uid data-island-component="${componentId}"></div></div>`, + state: {}, + head: { + link: [], + style: [] + }, + components: { + [componentId]: { + html: '<div>fallback</div>', + props: {}, + chunk: mockPath, + slots: { + default: '<div>slot in client component</div>' + } + } + }, + json () { + return this + } + } + }) + + vi.stubGlobal('fetch', stubFetch) + const wrapper = await mountSuspended(NuxtIsland, { + props: { + name: 'NuxtClientWithSlot', + }, + attachTo: 'body' + }) + expect(fetch).toHaveBeenCalledOnce() + expect(wrapper.html()).toMatchInlineSnapshot(` + "<div data-island-uid="5">hello<div data-island-uid="5" data-island-component="ClientWithSlot-12345"> + <div class="client-component"> + <div style="display: contents" data-island-uid="" data-island-slot="default"> + <div>slot in client component</div> + </div> + </div> + </div> + </div> + <!--teleport start--> + <!--teleport end-->" + `) + + expectNoConsoleIssue() + }) +}) From 7095048f3bf4ab6159d41416b1c7c828db0bc057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Horv=C3=A1th=20B=C3=A1lint?= <40771359+horvbalint@users.noreply.github.com> Date: Wed, 6 Mar 2024 16:58:40 +0100 Subject: [PATCH 198/470] feat(nuxt): add `page:view-transition:start` hook (#26045) --- docs/3.api/6.advanced/1.hooks.md | 1 + packages/nuxt/src/app/nuxt.ts | 2 ++ .../src/app/plugins/view-transitions.client.ts | 16 ++++++++++------ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/3.api/6.advanced/1.hooks.md b/docs/3.api/6.advanced/1.hooks.md index 35520e27c3..62da74b717 100644 --- a/docs/3.api/6.advanced/1.hooks.md +++ b/docs/3.api/6.advanced/1.hooks.md @@ -28,6 +28,7 @@ Hook | Arguments | Environment | Description `page:loading:start` | - | Client | Called when the `setup()` of the new page is running. `page:loading:end` | - | Client | Called after `page:finish` `page:transition:finish`| `pageComponent?` | Client | After page transition [onAfterLeave](https://vuejs.org/guide/built-ins/transition.html#javascript-hooks) event. +`page:view-transition:start` | `transition` | Client | Called after `document.startViewTransition` is called when [experimental viewTransition support is enabled](https://nuxt.com/docs/getting-started/transitions#view-transitions-api-experimental). ## Nuxt Hooks (build time) diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index bbdeb499d7..ce515d6a8b 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -18,6 +18,7 @@ import type { NuxtError } from '../app/composables/error' import type { AsyncDataRequestStatus } from '../app/composables/asyncData' import type { NuxtAppManifestMeta } from '../app/composables/manifest' import type { LoadingIndicator } from '../app/composables/loading-indicator' +import type { ViewTransition } from './plugins/view-transitions.client' import type { NuxtAppLiterals } from '#app' @@ -45,6 +46,7 @@ export interface RuntimeNuxtHooks { 'page:finish': (Component?: VNode) => HookResult 'page:transition:start': () => HookResult 'page:transition:finish': (Component?: VNode) => HookResult + 'page:view-transition:start': (transition: ViewTransition) => HookResult 'page:loading:start': () => HookResult 'page:loading:end': () => HookResult 'vue:setup': () => void diff --git a/packages/nuxt/src/app/plugins/view-transitions.client.ts b/packages/nuxt/src/app/plugins/view-transitions.client.ts index bb3a696d2d..e23dc02a04 100644 --- a/packages/nuxt/src/app/plugins/view-transitions.client.ts +++ b/packages/nuxt/src/app/plugins/view-transitions.client.ts @@ -14,7 +14,7 @@ export default defineNuxtPlugin((nuxtApp) => { const router = useRouter() - router.beforeResolve((to, from) => { + router.beforeResolve(async (to, from) => { const viewTransitionMode = to.meta.viewTransition ?? defaultViewTransition const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches const prefersNoTransition = prefersReducedMotion && viewTransitionMode !== 'always' @@ -41,6 +41,8 @@ export default defineNuxtPlugin((nuxtApp) => { finishTransition = undefined }) + await nuxtApp.callHook('page:view-transition:start', transition) + return ready }) @@ -55,12 +57,14 @@ export default defineNuxtPlugin((nuxtApp) => { }) }) +export interface ViewTransition { + ready: Promise<void> + finished: Promise<void> + updateCallbackDone: Promise<void> +} + declare global { interface Document { - startViewTransition?: (callback: () => Promise<void> | void) => { - finished: Promise<void> - updateCallbackDone: Promise<void> - ready: Promise<void> - } + startViewTransition?: (callback: () => Promise<void> | void) => ViewTransition } } From 83314f1c951d2c5836242c5720acbdf8507392fb Mon Sep 17 00:00:00 2001 From: Divine <48183131+divine@users.noreply.github.com> Date: Wed, 6 Mar 2024 19:27:05 +0300 Subject: [PATCH 199/470] feat(nuxt): custom loading reset/hide delay + force `finish()` (#25932) --- .../src/app/composables/loading-indicator.ts | 54 ++++++++++++------- test/nuxt/composables.test.ts | 15 ++++++ 2 files changed, 51 insertions(+), 18 deletions(-) diff --git a/packages/nuxt/src/app/composables/loading-indicator.ts b/packages/nuxt/src/app/composables/loading-indicator.ts index 2003f68841..191841d46d 100644 --- a/packages/nuxt/src/app/composables/loading-indicator.ts +++ b/packages/nuxt/src/app/composables/loading-indicator.ts @@ -7,6 +7,10 @@ export type LoadingIndicatorOpts = { duration: number /** @default 200 */ throttle: number + /** @default 500 */ + hideDelay: number + /** @default 400 */ + resetDelay: number /** * You can provide a custom function to customize the progress estimation, * which is a function that receives the duration of the loading bar (above) @@ -15,22 +19,13 @@ export type LoadingIndicatorOpts = { estimatedProgress?: (duration: number, elapsed: number) => number } -function _hide (isLoading: Ref<boolean>, progress: Ref<number>) { - if (import.meta.client) { - setTimeout(() => { - isLoading.value = false - setTimeout(() => { progress.value = 0 }, 400) - }, 500) - } -} - export type LoadingIndicator = { _cleanup: () => void progress: Ref<number> isLoading: Ref<boolean> start: () => void set: (value: number) => void - finish: () => void + finish: (opts: { force?: boolean }) => void clear: () => void } @@ -40,7 +35,7 @@ function defaultEstimatedProgress (duration: number, elapsed: number): number { } function createLoadingIndicator (opts: Partial<LoadingIndicatorOpts> = {}) { - const { duration = 2000, throttle = 200 } = opts + const { duration = 2000, throttle = 200, hideDelay = 500, resetDelay = 400 } = opts const getProgress = opts.estimatedProgress || defaultEstimatedProgress const nuxtApp = useNuxtApp() const progress = ref(0) @@ -48,7 +43,9 @@ function createLoadingIndicator (opts: Partial<LoadingIndicatorOpts> = {}) { let done = false let rafId: number - let _throttle: any = null + let throttleTimeout: number | NodeJS.Timeout + let hideTimeout: number | NodeJS.Timeout + let resetTimeout: number | NodeJS.Timeout const start = () => set(0) @@ -60,7 +57,7 @@ function createLoadingIndicator (opts: Partial<LoadingIndicatorOpts> = {}) { clear() progress.value = at < 0 ? 0 : at if (throttle && import.meta.client) { - _throttle = setTimeout(() => { + throttleTimeout = setTimeout(() => { isLoading.value = true _startProgress() }, throttle) @@ -70,19 +67,40 @@ function createLoadingIndicator (opts: Partial<LoadingIndicatorOpts> = {}) { } } - function finish () { + function _hide () { + if (import.meta.client) { + hideTimeout = setTimeout(() => { + isLoading.value = false + resetTimeout = setTimeout(() => { progress.value = 0 }, resetDelay) + }, hideDelay) + } + } + + function finish (opts: { force?: boolean } = {}) { progress.value = 100 done = true clear() - _hide(isLoading, progress) + _clearTimeouts() + if (opts.force) { + progress.value = 0 + isLoading.value = false + } else { + _hide() + } + } + + function _clearTimeouts () { + if (import.meta.client) { + clearTimeout(hideTimeout) + clearTimeout(resetTimeout) + } } function clear () { - clearTimeout(_throttle) if (import.meta.client) { + clearTimeout(throttleTimeout) cancelAnimationFrame(rafId) } - _throttle = null } function _startProgress () { @@ -113,7 +131,7 @@ function createLoadingIndicator (opts: Partial<LoadingIndicatorOpts> = {}) { const unsubLoadingFinishHook = nuxtApp.hook('page:loading:end', () => { finish() }) - const unsubError = nuxtApp.hook('vue:error', finish) + const unsubError = nuxtApp.hook('vue:error', () => finish()) _cleanup = () => { unsubError() diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index 8311939e0f..8cd41e951d 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -487,6 +487,21 @@ describe('loading state', () => { }) }) +describe('loading state', () => { + it('expect loading state to be changed by force starting/stoping', async () => { + vi.stubGlobal('setTimeout', vi.fn((cb: Function) => cb())) + const nuxtApp = useNuxtApp() + const { isLoading, start, finish } = useLoadingIndicator() + expect(isLoading.value).toBeFalsy() + await nuxtApp.callHook('page:loading:start') + expect(isLoading.value).toBeTruthy() + start() + expect(isLoading.value).toBeTruthy() + finish() + expect(isLoading.value).toBeFalsy() + }) +}) + describe.skipIf(process.env.TEST_MANIFEST === 'manifest-off')('app manifests', () => { it('getAppManifest', async () => { const manifest = await getAppManifest() From f0442d0ddb571540550ea05ef6141f4b56124ffa Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Wed, 6 Mar 2024 17:45:43 +0100 Subject: [PATCH 200/470] feat(nuxt): emit error if `<NuxtIsland>` can't fetch island (#25798) --- docs/3.api/1.components/8.nuxt-island.md | 8 +++++ .../nuxt/src/app/components/nuxt-island.ts | 6 ++-- .../components/runtime/server-component.ts | 8 +++-- test/nuxt/nuxt-island.test.ts | 30 +++++++++++++++---- 4 files changed, 43 insertions(+), 9 deletions(-) diff --git a/docs/3.api/1.components/8.nuxt-island.md b/docs/3.api/1.components/8.nuxt-island.md index a7c3dfc99f..013cfb94c4 100644 --- a/docs/3.api/1.components/8.nuxt-island.md +++ b/docs/3.api/1.components/8.nuxt-island.md @@ -60,3 +60,11 @@ Some slots are reserved to `NuxtIsland` for special cases. - `refresh()` - **type**: `() => Promise<void>` - **description**: force refetch the server component by refetching it. + +## Events + +- `error` + - **parameters**: + - **error**: + - **type**: `unknown` + - **description**: emitted when when `NuxtIsland` fails to fetch the new island. diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 7191dcf747..80e64a6ea8 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -69,7 +69,8 @@ export default defineComponent({ default: false } }, - async setup (props, { slots, expose }) { + emits: ['error'], + async setup (props, { slots, expose, emit }) { let canTeleport = import.meta.server const teleportKey = ref(0) const key = ref(0) @@ -208,11 +209,12 @@ export default defineComponent({ } } catch (e) { error.value = e + emit('error', e) } } expose({ - refresh: () => fetchComponent(true) + refresh: () => fetchComponent(true), }) if (import.meta.hot) { diff --git a/packages/nuxt/src/components/runtime/server-component.ts b/packages/nuxt/src/components/runtime/server-component.ts index ca32c688a3..d34176b9fd 100644 --- a/packages/nuxt/src/components/runtime/server-component.ts +++ b/packages/nuxt/src/components/runtime/server-component.ts @@ -9,7 +9,8 @@ export const createServerComponent = (name: string) => { name, inheritAttrs: false, props: { lazy: Boolean }, - setup (props, { attrs, slots, expose }) { + emits: ['error'], + setup (props, { attrs, slots, expose, emit }) { const islandRef = ref<null | typeof NuxtIsland>(null) expose({ @@ -21,7 +22,10 @@ export const createServerComponent = (name: string) => { name, lazy: props.lazy, props: attrs, - ref: islandRef + ref: islandRef, + onError: (err) => { + emit('error', err) + } }, slots) } } diff --git a/test/nuxt/nuxt-island.test.ts b/test/nuxt/nuxt-island.test.ts index 5a40833c32..7187dff6d6 100644 --- a/test/nuxt/nuxt-island.test.ts +++ b/test/nuxt/nuxt-island.test.ts @@ -111,11 +111,32 @@ describe('runtime server component', () => { expect(component.html()).toBe('<div>2</div>') vi.mocked(fetch).mockReset() }) + + it('expect NuxtIsland to emit an error', async () => { + const stubFetch = vi.fn(() => { + throw new Error('fetch error') + }) + + vi.stubGlobal('fetch', stubFetch) + + const wrapper = await mountSuspended(createServerComponent('ErrorServerComponent'), { + props: { + name: 'Error', + props: { + force: true + } + }, + attachTo: 'body' + }) + + expect(fetch).toHaveBeenCalledOnce() + expect(wrapper.emitted('error')).toHaveLength(1) + vi.mocked(fetch).mockReset() + }) }) describe('client components', () => { - it('expect swapping nuxt-client should not trigger errors #25289', async () => { const mockPath = '/nuxt-client.js' const componentId = 'Client-12345' @@ -166,7 +187,7 @@ describe('client components', () => { expect(fetch).toHaveBeenCalledOnce() expect(wrapper.html()).toMatchInlineSnapshot(` - "<div data-island-uid="3">hello<div data-island-uid="3" data-island-component="Client-12345"> + "<div data-island-uid="4">hello<div data-island-uid="4" data-island-component="Client-12345"> <div>client component</div> </div> </div> @@ -192,7 +213,7 @@ describe('client components', () => { await wrapper.vm.$.exposed!.refresh() await nextTick() expect(wrapper.html()).toMatchInlineSnapshot(` - "<div data-island-uid="3">hello<div> + "<div data-island-uid="4">hello<div> <div>fallback</div> </div> </div>" @@ -202,7 +223,6 @@ describe('client components', () => { expectNoConsoleIssue() }) - it('should not replace nested client components data-island-uid', async () => { const componentId = 'Client-12345' @@ -286,7 +306,7 @@ describe('client components', () => { }) expect(fetch).toHaveBeenCalledOnce() expect(wrapper.html()).toMatchInlineSnapshot(` - "<div data-island-uid="5">hello<div data-island-uid="5" data-island-component="ClientWithSlot-12345"> + "<div data-island-uid="6">hello<div data-island-uid="6" data-island-component="ClientWithSlot-12345"> <div class="client-component"> <div style="display: contents" data-island-uid="" data-island-slot="default"> <div>slot in client component</div> From 98aa2c222fdde05d2f594718fe4a71a2e877a447 Mon Sep 17 00:00:00 2001 From: Bogdan Kostyuk <contact@bogdankostyuk.xyz> Date: Wed, 6 Mar 2024 19:14:15 +0200 Subject: [PATCH 201/470] feat(nuxt): `usePreviewMode` composable (#21705) --- docs/3.api/2.composables/use-preview-mode.md | 81 +++++++++++++++++ packages/nuxt/src/app/composables/index.ts | 1 + packages/nuxt/src/app/composables/preview.ts | 91 +++++++++++++++++++ packages/nuxt/src/imports/presets.ts | 4 + test/basic.test.ts | 55 +++++++++++ test/fixtures/basic/pages/preview/index.vue | 38 ++++++++ .../pages/preview/with-custom-enable.vue | 17 ++++ .../basic/pages/preview/with-custom-state.vue | 39 ++++++++ .../basic/pages/preview/with-use-fetch.vue | 25 +++++ test/fixtures/basic/server/api/preview.ts | 8 ++ test/nuxt/composables.test.ts | 3 +- 11 files changed, 361 insertions(+), 1 deletion(-) create mode 100644 docs/3.api/2.composables/use-preview-mode.md create mode 100644 packages/nuxt/src/app/composables/preview.ts create mode 100644 test/fixtures/basic/pages/preview/index.vue create mode 100644 test/fixtures/basic/pages/preview/with-custom-enable.vue create mode 100644 test/fixtures/basic/pages/preview/with-custom-state.vue create mode 100644 test/fixtures/basic/pages/preview/with-use-fetch.vue create mode 100644 test/fixtures/basic/server/api/preview.ts diff --git a/docs/3.api/2.composables/use-preview-mode.md b/docs/3.api/2.composables/use-preview-mode.md new file mode 100644 index 0000000000..3af249e023 --- /dev/null +++ b/docs/3.api/2.composables/use-preview-mode.md @@ -0,0 +1,81 @@ +--- +title: "usePreviewMode" +description: "Use usePreviewMode to check and control preview mode in Nuxt" +--- + +# `usePreviewMode` + +You can use the built-in `usePreviewMode` composable to access and control preview state in Nuxt. If the composable detects preview mode it will automatically force any updates necessary for [`useAsyncData`](/docs/api/composables/use-async-data) and [`useFetch`](/docs/api/composables/use-fetch) to rerender preview content. + +```js +const { enabled, state } = usePreviewMode() +``` + +## Options + +### Custom `enable` check + +You can specify a custom way to enable preview mode. By default the `usePreviewMode` composable will enable preview mode if there is a `preview` param in url that is equal to `true` (for example, `http://localhost:3000?preview=true`). You can wrap the `usePreviewMode` into custom composable, to keep options consistent across usages and prevent any errors. + +```js +export function useMyPreviewMode () { + return usePreviewMode({ + shouldEnable: () => { + return !!route.query.customPreview + } + }); +}``` + +### Modify default state + +`usePreviewMode` will try to store the value of a `token` param from url in state. You can modify this state and it will be available for all [`usePreviewMode`](/docs/api/composables/use-preview-mode) calls. + +```js +const data1 = ref('data1') + +const { enabled, state } = usePreviewMode({ + getState: (currentState) => { + return { data1, data2: 'data2' } + } +}) +``` + +::alert{icon=👉} +The `getState` function will append returned values to current state, so be careful not to accidentally overwrite important state. +:: + +## Example + +```vue [pages/some-page.vue] +<script setup> +const route = useRoute() + +const { enabled, state } = usePreviewMode({ + shouldEnable: () => { + return route.query.customPreview === 'true' + }, +}) + +const { data } = await useFetch('/api/preview', { + query: { + apiKey: state.token + } +}) +</script> + +<template> + <div> + Some base content + + <p v-if="enabled"> + Only preview content: {{ state.token }} + + <br> + + <button @click="enabled = false"> + disable preview mode + </button> + </p> + </div> +</template> +``` diff --git a/packages/nuxt/src/app/composables/index.ts b/packages/nuxt/src/app/composables/index.ts index 784ded227d..7b0810d0b0 100644 --- a/packages/nuxt/src/app/composables/index.ts +++ b/packages/nuxt/src/app/composables/index.ts @@ -35,4 +35,5 @@ export type { NuxtAppManifest, NuxtAppManifestMeta } from './manifest' export type { ReloadNuxtAppOptions } from './chunk' export { reloadNuxtApp } from './chunk' export { useRequestURL } from './url' +export { usePreviewMode } from './preview' export { useId } from './id' diff --git a/packages/nuxt/src/app/composables/preview.ts b/packages/nuxt/src/app/composables/preview.ts new file mode 100644 index 0000000000..af2c3f33cb --- /dev/null +++ b/packages/nuxt/src/app/composables/preview.ts @@ -0,0 +1,91 @@ +import { toRef, watch } from 'vue' + +import { useState } from './state' +import { refreshNuxtData } from './asyncData' +import { useRoute, useRouter } from './router' + +interface Preview { + enabled: boolean + state: Record<any, unknown> + _initialized?: boolean +} + +interface PreviewModeOptions<S> { + shouldEnable?: (state: Preview['state']) => boolean, + getState?: (state: Preview['state']) => S, +} + +type EnteredState = Record<any, unknown> | null | undefined | void + +let unregisterRefreshHook: (() => any) | undefined + +/** @since 3.11.0 */ +export function usePreviewMode<S extends EnteredState> (options: PreviewModeOptions<S> = {}) { + const preview = useState<Preview>('_preview-state', () => ({ + enabled: false, + state: {} + })) + + if (preview.value._initialized) { + return { + enabled: toRef(preview.value, 'enabled'), + state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']), + } + } + + if (import.meta.client) { + preview.value._initialized = true + } + + if (!preview.value.enabled) { + const shouldEnable = options.shouldEnable ?? defaultShouldEnable + const result = shouldEnable(preview.value.state) + + if (typeof result === 'boolean') { preview.value.enabled = result } + } + + watch(() => preview.value.enabled, (value) => { + if (value) { + const getState = options.getState ?? getDefaultState + const newState = getState(preview.value.state) + + if (newState !== preview.value.state) { + Object.assign(preview.value.state, newState) + } + + if (import.meta.client && !unregisterRefreshHook) { + refreshNuxtData() + + unregisterRefreshHook = useRouter().afterEach((() => refreshNuxtData())) + } + } else if (unregisterRefreshHook) { + unregisterRefreshHook() + + unregisterRefreshHook = undefined + } + }, { immediate: true, flush: 'sync' }) + + return { + enabled: toRef(preview.value, 'enabled'), + state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']), + } +} + +function defaultShouldEnable () { + const route = useRoute() + const previewQueryName = 'preview' + + return route.query[previewQueryName] === 'true' +} + +function getDefaultState (state: Preview['state']) { + if (state.token !== undefined) { + return state + } + + const route = useRoute() + + state.token = Array.isArray(route.query.token) ? route.query.token[0] : route.query.token + + return state +} diff --git a/packages/nuxt/src/imports/presets.ts b/packages/nuxt/src/imports/presets.ts index 79096eb0a0..9d3932b27a 100644 --- a/packages/nuxt/src/imports/presets.ts +++ b/packages/nuxt/src/imports/presets.ts @@ -101,6 +101,10 @@ const granularAppPresets: InlinePreset[] = [ imports: ['useRequestURL'], from: '#app/composables/url' }, + { + imports: ['usePreviewMode'], + from: '#app/composables/preview' + }, { imports: ['useId'], from: '#app/composables/id' diff --git a/test/basic.test.ts b/test/basic.test.ts index 879dda2155..c865cfd5b8 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -568,6 +568,61 @@ describe('nuxt composables', () => { expect(text).toContain('foobar') await page.close() }) + + it('respects preview mode with a token', async () => { + const token = 'hehe' + const page = await createPage(`/preview?preview=true&token=${token}`) + + const hasRerunFetchOnClient = await new Promise<boolean>((resolve) => { + page.on('console', (message) => { + setTimeout(() => resolve(false), 4000) + + if (message.text() === 'true') { resolve(true) } + }) + }) + + expect(hasRerunFetchOnClient).toBe(true) + + expect(await page.locator('#fetched-on-client').textContent()).toContain('fetched on client') + expect(await page.locator('#preview-mode').textContent()).toContain('preview mode enabled') + + await page.click('#use-fetch-check') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath.includes('/preview/with-use-fetch')) + + expect(await page.locator('#token-check').textContent()).toContain(token) + expect(await page.locator('#correct-api-key-check').textContent()).toContain('true') + await page.close() + }) + + it('respects preview mode with custom state', async () => { + const { page } = await renderPage('/preview/with-custom-state?preview=true') + + expect(await page.locator('#data1').textContent()).toContain('data1 updated') + expect(await page.locator('#data2').textContent()).toContain('data2') + + await page.click('#toggle-preview') // manually turns off preview mode + await page.click('#with-use-fetch') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath.includes('/preview/with-use-fetch')) + + expect(await page.locator('#enabled').textContent()).toContain('false') + expect(await page.locator('#token-check').textContent()).toEqual('') + expect(await page.locator('#correct-api-key-check').textContent()).toContain('false') + await page.close() + }) + + it('respects preview mode with custom enable', async () => { + const { page } = await renderPage('/preview/with-custom-enable?preview=true') + + expect(await page.locator('#enabled').textContent()).toContain('false') + await page.close() + }) + + it('respects preview mode with custom enable and customPreview', async () => { + const { page } = await renderPage('/preview/with-custom-enable?customPreview=true') + + expect(await page.locator('#enabled').textContent()).toContain('true') + await page.close() + }) }) describe('rich payloads', () => { diff --git a/test/fixtures/basic/pages/preview/index.vue b/test/fixtures/basic/pages/preview/index.vue new file mode 100644 index 0000000000..df9c2c6dd1 --- /dev/null +++ b/test/fixtures/basic/pages/preview/index.vue @@ -0,0 +1,38 @@ +<script setup> +const { enabled: isPreview } = usePreviewMode() + +const { data } = await useAsyncData(async () => { + await new Promise(resolve => setTimeout(resolve, 200)) + + const fetchedOnClient = process.client + + console.log(fetchedOnClient) + + return { fetchedOnClient } +}) +</script> + +<template> + <div> + <NuxtLink + id="use-fetch-check" + href="/preview/with-use-fetch" + > + check useFetch + </NuxtLink> + + <p + v-if="data && data.fetchedOnClient" + id="fetched-on-client" + > + fetched on client + </p> + + <p + v-if="isPreview" + id="preview-mode" + > + preview mode enabled + </p> + </div> +</template> diff --git a/test/fixtures/basic/pages/preview/with-custom-enable.vue b/test/fixtures/basic/pages/preview/with-custom-enable.vue new file mode 100644 index 0000000000..2c1246657b --- /dev/null +++ b/test/fixtures/basic/pages/preview/with-custom-enable.vue @@ -0,0 +1,17 @@ +<script setup> +const route = useRoute() + +const { enabled } = usePreviewMode({ + shouldEnable: () => { + return !!route.query.customPreview + } +}) +</script> + +<template> + <div> + <p id="enabled"> + {{ enabled }} + </p> + </div> +</template> diff --git a/test/fixtures/basic/pages/preview/with-custom-state.vue b/test/fixtures/basic/pages/preview/with-custom-state.vue new file mode 100644 index 0000000000..cba330fdb5 --- /dev/null +++ b/test/fixtures/basic/pages/preview/with-custom-state.vue @@ -0,0 +1,39 @@ +<script setup> +const data1 = ref('data1') + +const { enabled, state } = usePreviewMode({ + getState: () => { + return { data1, data2: 'data2' } + } +}) + +onMounted(() => { + data1.value = 'data1 updated' +}) +</script> + +<template> + <div> + <NuxtLink + id="with-use-fetch" + to="/preview/with-use-fetch" + > + fetch check + </NuxtLink> + + <p id="data1"> + {{ state.data1 }} + </p> + + <p id="data2"> + {{ state.data2 }} + </p> + + <button + id="toggle-preview" + @click="enabled = !enabled" + > + toggle preview mode + </button> + </div> +</template> diff --git a/test/fixtures/basic/pages/preview/with-use-fetch.vue b/test/fixtures/basic/pages/preview/with-use-fetch.vue new file mode 100644 index 0000000000..e033433db3 --- /dev/null +++ b/test/fixtures/basic/pages/preview/with-use-fetch.vue @@ -0,0 +1,25 @@ +<script setup> +const { enabled, state } = usePreviewMode() + +const { data } = await useFetch('/api/preview', { + query: { + apiKey: state.token || undefined + } +}) +</script> + +<template> + <div> + <p id="enabled"> + {{ enabled }} + </p> + + <p id="token-check"> + {{ state.token }} + </p> + + <p id="correct-api-key-check"> + {{ data && data.hehe }} + </p> + </div> +</template> diff --git a/test/fixtures/basic/server/api/preview.ts b/test/fixtures/basic/server/api/preview.ts new file mode 100644 index 0000000000..3b228c4c96 --- /dev/null +++ b/test/fixtures/basic/server/api/preview.ts @@ -0,0 +1,8 @@ +const apiKeyName = 'apiKey' +const apiKey = 'hehe' + +export default defineEventHandler((event) => { + return { + hehe: getQuery(event)[apiKeyName] === apiKey + } +}) diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index 8cd41e951d..8104a1340b 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -128,7 +128,8 @@ describe('composables', () => { 'useLazyAsyncData', 'useRouter', 'useSeoMeta', - 'useServerSeoMeta' + 'useServerSeoMeta', + 'usePreviewMode' ] expect(Object.keys(composables).sort()).toEqual([...new Set([...testedComposables, ...skippedComposables])].sort()) }) From 31f054ee586785d433df0740f404be48c7db33c6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 17:56:52 +0000 Subject: [PATCH 202/470] chore(deps): update all non-major dependencies (main) (#26112) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/release-pr.yml | 2 +- package.json | 2 +- pnpm-lock.yaml | 182 +++++++++++++++++++++++++------ 3 files changed, 152 insertions(+), 34 deletions(-) diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 778e5c454b..b2f95e5d71 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Ensure action is by maintainer - uses: octokit/request-action@89697eb6635e52c6e1e5559f15b5c91ba5100cb0 # v2.1.9 + uses: octokit/request-action@d69a4d4369a61d4045c56451421ff93ee5e7bea0 # v2.2.0 id: check_role with: route: GET /repos/nuxt/nuxt/collaborators/${{ github.event.comment.user.login }} diff --git a/package.json b/package.json index 9e2f319952..4b9d99225b 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.2", "@types/fs-extra": "11.0.4", - "@types/node": "20.11.24", + "@types/node": "20.11.25", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.3.1", "@vue/test-utils": "2.4.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d994c025e8..1eef2c383d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,8 +41,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.24 - version: 20.11.24 + specifier: 20.11.25 + version: 20.11.25 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -138,7 +138,7 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) + version: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) vitest-environment-nuxt: specifier: 1.0.0 version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) @@ -232,10 +232,10 @@ importers: version: 2.0.0(typescript@5.3.3) vite: specifier: 5.1.5 - version: 5.1.5(@types/node@20.11.24) + version: 5.1.5(@types/node@20.11.25) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) + version: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) webpack: specifier: 5.90.3 version: 5.90.3 @@ -528,7 +528,7 @@ importers: version: 1.9.0 vite: specifier: 5.1.5 - version: 5.1.5(@types/node@20.11.24) + version: 5.1.5(@types/node@20.11.25) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.3.3) @@ -642,10 +642,10 @@ importers: version: 1.8.2 vite: specifier: 5.1.5 - version: 5.1.5(@types/node@20.11.24) + version: 5.1.5(@types/node@20.11.25) vite-node: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) + version: 1.3.1(@types/node@20.11.25) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.5) @@ -871,7 +871,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.24)(happy-dom@13.6.2) + version: 1.0.2(@types/node@20.11.25)(happy-dom@13.6.2) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.3.3) @@ -1271,8 +1271,8 @@ packages: vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.1.5(@types/node@20.11.24) - vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) + vite: 5.1.5(@types/node@20.11.25) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) transitivePeerDependencies: - debug dev: true @@ -1959,7 +1959,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.11.24 + '@types/node': 20.11.25 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2327,8 +2327,8 @@ packages: ufo: 1.4.0 unenv: 1.9.0 unplugin: 1.8.2 - vite: 5.1.5(@types/node@20.11.24) - vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) + vite: 5.1.5(@types/node@20.11.25) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.3.3) vue-router: 4.3.0(vue@3.4.21) @@ -2889,7 +2889,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 dev: true /@types/debug@4.1.12: @@ -2939,7 +2939,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -2966,7 +2966,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 dev: true /@types/lodash-es@4.17.12: @@ -2992,7 +2992,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 dev: true /@types/node@20.11.24: @@ -3000,6 +3000,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.11.25: + resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -3079,7 +3084,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3093,7 +3098,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3322,7 +3327,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.5(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.25) vue: 3.4.21(typescript@5.3.3) transitivePeerDependencies: - supports-color @@ -3355,7 +3360,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) transitivePeerDependencies: - supports-color dev: true @@ -6908,7 +6913,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.24 + '@types/node': 20.11.25 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6919,7 +6924,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6927,7 +6932,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10930,7 +10935,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.0.2(@types/node@20.11.24): + /vite-node@1.0.2(@types/node@20.11.25): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10939,7 +10944,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.25) transitivePeerDependencies: - '@types/node' - less @@ -10970,6 +10975,27 @@ packages: - sugarss - supports-color - terser + dev: true + + /vite-node@1.3.1(@types/node@20.11.25): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.5(@types/node@20.11.25) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.5): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} @@ -11015,7 +11041,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 5.1.5(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.25) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11102,6 +11128,41 @@ packages: optionalDependencies: fsevents: 2.3.3 + /vite@5.1.5(@types/node@20.11.25): + resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.25 + esbuild: 0.19.11 + postcss: 8.4.35 + rollup: 4.12.1 + optionalDependencies: + fsevents: 2.3.3 + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: @@ -11122,7 +11183,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.24)(happy-dom@13.6.2): + /vitest@1.0.2(@types/node@20.11.25)(happy-dom@13.6.2): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11147,7 +11208,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11167,8 +11228,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.5(@types/node@20.11.24) - vite-node: 1.0.2(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.25) + vite-node: 1.0.2(@types/node@20.11.25) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11237,6 +11298,63 @@ packages: - terser dev: true + /vitest@1.3.1(@types/node@20.11.25)(happy-dom@13.6.2): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.11.25 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + happy-dom: 13.6.2 + local-pkg: 0.5.0 + magic-string: 0.30.8 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.5.1 + tinypool: 0.8.2 + vite: 5.1.5(@types/node@20.11.25) + vite-node: 1.3.1(@types/node@20.11.25) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} From 1bc76000e3265c4084caed040da55557d5dda708 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 19:02:22 +0000 Subject: [PATCH 203/470] chore(deps): update devdependency typescript to v5.4.2 (main) (#26115) --- package.json | 2 +- pnpm-lock.yaml | 227 +++++++++++++++++++++++++++---------------------- 2 files changed, 125 insertions(+), 104 deletions(-) diff --git a/package.json b/package.json index 4b9d99225b..a044ca2c26 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "rimraf": "5.0.5", "semver": "7.6.0", "std-env": "3.7.0", - "typescript": "5.3.3", + "typescript": "5.4.2", "ufo": "1.4.0", "vitest": "1.3.1", "vitest-environment-nuxt": "1.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1eef2c383d..5f78efe907 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -131,8 +131,8 @@ importers: specifier: 3.7.0 version: 3.7.0 typescript: - specifier: 5.3.3 - version: 5.3.3 + specifier: 5.4.2 + version: 5.4.2 ufo: specifier: 1.4.0 version: 1.4.0 @@ -144,7 +144,7 @@ importers: version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) vue-eslint-parser: specifier: 9.4.2 version: 9.4.2(eslint@8.57.0) @@ -153,7 +153,7 @@ importers: version: 4.3.0(vue@3.4.21) vue-tsc: specifier: 2.0.5 - version: 2.0.5(typescript@5.3.3) + version: 2.0.5(typescript@5.4.2) packages/kit: dependencies: @@ -229,7 +229,7 @@ importers: version: 2.9.1 unbuild: specifier: latest - version: 2.0.0(typescript@5.3.3) + version: 2.0.0(typescript@5.4.2) vite: specifier: 5.1.5 version: 5.1.5(@types/node@20.11.25) @@ -403,7 +403,7 @@ importers: version: 1.4.2 vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -428,7 +428,7 @@ importers: version: 5.0.4(vite@5.1.5)(vue@3.4.21) unbuild: specifier: latest - version: 2.0.0(typescript@5.3.3) + version: 2.0.0(typescript@5.4.2) vite: specifier: 5.1.5 version: 5.1.5(@types/node@20.11.24) @@ -498,7 +498,7 @@ importers: version: 3.4.21 '@vue/language-core': specifier: 2.0.5 - version: 2.0.5(typescript@5.3.3) + version: 2.0.5(typescript@5.4.2) c12: specifier: 1.10.0 version: 1.10.0 @@ -519,7 +519,7 @@ importers: version: 1.3.3 unbuild: specifier: latest - version: 2.0.0(typescript@5.3.3) + version: 2.0.0(typescript@5.4.2) unctx: specifier: 2.3.1 version: 2.3.1 @@ -531,7 +531,7 @@ importers: version: 5.1.5(@types/node@20.11.25) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) vue-bundle-renderer: specifier: 2.0.0 version: 2.0.0 @@ -648,7 +648,7 @@ importers: version: 1.3.1(@types/node@20.11.25) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.5) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5)(vue-tsc@2.0.5) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -667,10 +667,10 @@ importers: version: 11.0.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.3.3) + version: 2.0.0(typescript@5.4.2) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) packages/webpack: dependencies: @@ -709,7 +709,7 @@ importers: version: 6.2.0(webpack@5.90.3) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.3.3)(webpack@5.90.3) + version: 9.0.2(typescript@5.4.2)(webpack@5.90.3) fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -754,7 +754,7 @@ importers: version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3) + version: 8.1.1(postcss@8.4.35)(typescript@5.4.2)(webpack@5.90.3) postcss-url: specifier: ^10.1.3 version: 10.1.3(postcss@8.4.35) @@ -827,10 +827,10 @@ importers: version: 0.1.3 unbuild: specifier: latest - version: 2.0.0(typescript@5.3.3) + version: 2.0.0(typescript@5.4.2) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) playground: dependencies: @@ -839,7 +839,7 @@ importers: version: link:../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) test/fixtures/basic: dependencies: @@ -858,7 +858,7 @@ importers: version: 1.8.0 vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) test/fixtures/basic-types: dependencies: @@ -874,7 +874,7 @@ importers: version: 1.0.2(@types/node@20.11.25)(happy-dom@13.6.2) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) vue-router: specifier: latest version: 4.3.0(vue@3.4.21) @@ -886,7 +886,7 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) test/fixtures/minimal-types: dependencies: @@ -895,7 +895,7 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) test/fixtures/runtime-compiler: dependencies: @@ -2219,11 +2219,11 @@ packages: eslint: ^8.48.0 dependencies: '@rushstack/eslint-patch': 1.5.1 - '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.2) eslint: 8.57.0 eslint-plugin-vue: 9.17.0(eslint@8.57.0) - typescript: 5.3.3 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -2330,7 +2330,7 @@ packages: vite: 5.1.5(@types/node@20.11.25) vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2750,28 +2750,28 @@ packages: shiki: 1.1.2 dev: true - /@shikijs/twoslash@1.1.6(typescript@5.3.3): + /@shikijs/twoslash@1.1.6(typescript@5.4.2): resolution: {integrity: sha512-0HJK7Il7HevTpRvpPlnJ0ow8UyoQxhvxQ0/lhfw1C0xW/7eLtSAtZfSKdel5Nch6HgbbtfucEzuUFmRIRXUFUg==} dependencies: '@shikijs/core': 1.1.6 - twoslash: 0.2.4(typescript@5.3.3) + twoslash: 0.2.4(typescript@5.4.2) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.3.3): + /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.2): resolution: {integrity: sha512-OpOu/KszoEIm/pdTMmnFW+cPKj+Vw8Jut4CLivqdwgHysTdMUphyG/nuaYcpVZfCQBu6JLfQ6izgkYrefiKzXQ==} dependencies: - '@shikijs/twoslash': 1.1.6(typescript@5.3.3) + '@shikijs/twoslash': 1.1.6(typescript@5.4.2) floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.3.3) - twoslash-vue: 0.2.4(typescript@5.3.3) - vue: 3.4.21(typescript@5.3.3) + twoslash: 0.2.4(typescript@5.4.2) + twoslash-vue: 0.2.4(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -2850,7 +2850,7 @@ packages: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 '@vue/test-utils': 2.4.4(vue@3.4.21) - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - '@vue/server-renderer' dev: true @@ -3116,7 +3116,7 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.2): resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3128,10 +3128,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.8.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/visitor-keys': 6.8.0 debug: 4.3.4 eslint: 8.57.0 @@ -3139,13 +3139,13 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.8.0(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.8.0(eslint@8.57.0)(typescript@5.4.2): resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3157,11 +3157,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.8.0 '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.2) '@typescript-eslint/visitor-keys': 6.8.0 debug: 4.3.4 eslint: 8.57.0 - typescript: 5.3.3 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -3174,7 +3174,7 @@ packages: '@typescript-eslint/visitor-keys': 6.8.0 dev: true - /@typescript-eslint/type-utils@6.8.0(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@6.8.0(eslint@8.57.0)(typescript@5.4.2): resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3184,12 +3184,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.2) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -3199,7 +3199,7 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.3.3): + /@typescript-eslint/typescript-estree@6.8.0(typescript@5.4.2): resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3214,13 +3214,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.57.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.8.0(eslint@8.57.0)(typescript@5.4.2): resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3231,7 +3231,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.8.0 '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.2) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -3293,7 +3293,7 @@ packages: '@unhead/shared': 1.8.11 hookable: 5.5.3 unhead: 1.8.11 - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) dev: false /@vercel/nft@0.26.4: @@ -3328,7 +3328,7 @@ packages: '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) vite: 5.1.5(@types/node@20.11.25) - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - supports-color @@ -3340,7 +3340,7 @@ packages: vue: 3.4.21 dependencies: vite: 5.1.5(@types/node@20.11.24) - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) /@vitest/coverage-v8@1.3.1(vitest@1.3.1): resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} @@ -3485,7 +3485,7 @@ packages: ast-kit: 0.11.3(rollup@4.12.1) local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - rollup dev: false @@ -3548,7 +3548,7 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/language-core@1.8.27(typescript@5.3.3): + /@vue/language-core@1.8.27(typescript@5.4.2): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' @@ -3564,11 +3564,11 @@ packages: minimatch: 9.0.3 muggle-string: 0.3.1 path-browserify: 1.0.1 - typescript: 5.3.3 + typescript: 5.4.2 vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.5(typescript@5.3.3): + /@vue/language-core@2.0.5(typescript@5.4.2): resolution: {integrity: sha512-knGXuQqhDSO7QJr8LFklsiWa23N2ikehkdVxtc9UKgnyqsnusughS2Tkg7VN8Hqed35X0B52Z+OGI5OrT/8uxQ==} peerDependencies: typescript: '*' @@ -3582,7 +3582,7 @@ packages: computeds: 0.0.1 minimatch: 9.0.3 path-browserify: 1.0.1 - typescript: 5.3.3 + typescript: 5.4.2 vue-template-compiler: 2.7.14 /@vue/reactivity@3.4.21: @@ -3610,7 +3610,7 @@ packages: dependencies: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} @@ -3625,7 +3625,7 @@ packages: optional: true dependencies: js-beautify: 1.14.9 - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) vue-component-type-helpers: 1.8.25 dev: true @@ -4574,7 +4574,7 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cosmiconfig@8.3.6(typescript@5.3.3): + /cosmiconfig@8.3.6(typescript@5.4.2): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -4587,10 +4587,10 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.3.3 + typescript: 5.4.2 dev: false - /cosmiconfig@9.0.0(typescript@5.3.3): + /cosmiconfig@9.0.0(typescript@5.4.2): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -4603,7 +4603,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.3.3 + typescript: 5.4.2 dev: false /crc-32@1.2.2: @@ -5442,7 +5442,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.2) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -5460,7 +5460,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -5846,7 +5846,7 @@ packages: dependencies: '@floating-ui/dom': 1.1.1 '@nuxt/kit': link:packages/kit - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: true @@ -5873,7 +5873,7 @@ packages: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.3.3)(webpack@5.90.3): + /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.2)(webpack@5.90.3): resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -5883,7 +5883,7 @@ packages: '@babel/code-frame': 7.23.5 chalk: 4.1.2 chokidar: 3.6.0 - cosmiconfig: 8.3.6(typescript@5.3.3) + cosmiconfig: 8.3.6(typescript@5.4.2) deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 @@ -5892,7 +5892,7 @@ packages: schema-utils: 3.3.0 semver: 7.6.0 tapable: 2.2.1 - typescript: 5.3.3 + typescript: 5.4.2 webpack: 5.90.3 dev: false @@ -7952,7 +7952,7 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdist@1.3.0(typescript@5.3.3): + /mkdist@1.3.0(typescript@5.4.2): resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} hasBin: true peerDependencies: @@ -7973,7 +7973,7 @@ packages: mlly: 1.6.1 mri: 1.2.0 pathe: 1.1.2 - typescript: 5.3.3 + typescript: 5.4.2 dev: true /mlly@1.6.1: @@ -8342,7 +8342,7 @@ packages: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema '@nuxtjs/mdc': 0.5.0 - '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.3.3) + '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.2) cac: 6.7.14 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -8350,8 +8350,8 @@ packages: picocolors: 1.0.0 remark-parse: 11.0.0 shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.3.3) - typescript: 5.3.3 + twoslash: 0.2.4(typescript@5.4.2) + typescript: 5.4.2 unified: 11.0.4 unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -8822,7 +8822,7 @@ packages: resolve: 1.22.8 dev: false - /postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3): + /postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.4.2)(webpack@5.90.3): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -8835,7 +8835,7 @@ packages: webpack: optional: true dependencies: - cosmiconfig: 9.0.0(typescript@5.3.3) + cosmiconfig: 9.0.0(typescript@5.4.2) jiti: 1.21.0 postcss: 8.4.35 semver: 7.6.0 @@ -9644,7 +9644,7 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.12.1)(typescript@5.3.3): + /rollup-plugin-dts@6.1.0(rollup@4.12.1)(typescript@5.4.2): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: @@ -9653,7 +9653,7 @@ packages: dependencies: magic-string: 0.30.8 rollup: 4.12.1 - typescript: 5.3.3 + typescript: 5.4.2 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true @@ -10384,13 +10384,13 @@ packages: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: true - /ts-api-utils@1.0.3(typescript@5.3.3): + /ts-api-utils@1.0.3(typescript@5.4.2): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.3.3 + typescript: 5.4.2 dev: true /tsconfig-paths@3.15.0: @@ -10420,27 +10420,27 @@ packages: resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==} dev: true - /twoslash-vue@0.2.4(typescript@5.3.3): + /twoslash-vue@0.2.4(typescript@5.4.2): resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==} peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.27(typescript@5.3.3) - twoslash: 0.2.4(typescript@5.3.3) + '@vue/language-core': 1.8.27(typescript@5.4.2) + twoslash: 0.2.4(typescript@5.4.2) twoslash-protocol: 0.2.4 - typescript: 5.3.3 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /twoslash@0.2.4(typescript@5.3.3): + /twoslash@0.2.4(typescript@5.4.2): resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==} peerDependencies: typescript: '*' dependencies: '@typescript/vfs': 1.5.0 twoslash-protocol: 0.2.4 - typescript: 5.3.3 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -10522,6 +10522,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + /uc.micro@2.0.0: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: true @@ -10542,7 +10547,7 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unbuild@2.0.0(typescript@5.3.3): + /unbuild@2.0.0(typescript@5.4.2): resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} hasBin: true peerDependencies: @@ -10566,15 +10571,15 @@ packages: hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.8 - mkdist: 1.3.0(typescript@5.3.3) + mkdist: 1.3.0(typescript@5.4.2) mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 rollup: 4.12.1 - rollup-plugin-dts: 6.1.0(rollup@4.12.1)(typescript@5.3.3) + rollup-plugin-dts: 6.1.0(rollup@4.12.1)(typescript@5.4.2) scule: 1.3.0 - typescript: 5.3.3 + typescript: 5.4.2 untyped: 1.4.2 transitivePeerDependencies: - sass @@ -10997,7 +11002,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@2.0.5): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5)(vue-tsc@2.0.5): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11040,13 +11045,13 @@ packages: semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - typescript: 5.3.3 + typescript: 5.4.2 vite: 5.1.5(@types/node@20.11.25) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.5(typescript@5.3.3) + vue-tsc: 2.0.5(typescript@5.4.2) dev: false /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.1)(vite@5.1.5): @@ -11445,7 +11450,7 @@ packages: dependencies: chalk: 4.1.2 hash-sum: 2.0.0 - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) watchpack: 2.4.0 webpack: 5.90.3 @@ -11454,7 +11459,7 @@ packages: peerDependencies: vue: 3.4.21 dependencies: - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) dev: true /vue-router@4.3.0(vue@3.4.21): @@ -11463,7 +11468,7 @@ packages: vue: 3.4.21 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.21(typescript@5.3.3) + vue: 3.4.21(typescript@5.4.2) /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -11471,16 +11476,16 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.5(typescript@5.3.3): + /vue-tsc@2.0.5(typescript@5.4.2): resolution: {integrity: sha512-e8WCgOVTrbmC04XPnI+IpaMTFYKaTm5s/MXFcvxO1l9kxzn+9FpGNVrBSlQE8VpTJaJg4kaBK1nj3NC20VJzjw==} hasBin: true peerDependencies: typescript: '*' dependencies: '@volar/typescript': 2.1.1 - '@vue/language-core': 2.0.5(typescript@5.3.3) + '@vue/language-core': 2.0.5(typescript@5.4.2) semver: 7.6.0 - typescript: 5.3.3 + typescript: 5.4.2 /vue@3.4.21(typescript@5.3.3): resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} @@ -11496,6 +11501,22 @@ packages: '@vue/server-renderer': 3.4.21(vue@3.4.21) '@vue/shared': 3.4.21 typescript: 5.3.3 + dev: false + + /vue@3.4.21(typescript@5.4.2): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + typescript: 5.4.2 /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} From d6edb30c5a6099eb3405dc963241836559f646fa Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 6 Mar 2024 20:46:34 +0000 Subject: [PATCH 204/470] docs: update cssnano website url https://github.com/cssnano/cssnano/pull/1578 --- docs/1.getting-started/4.styling.md | 2 +- lychee.toml | 1 - packages/schema/src/config/postcss.ts | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/1.getting-started/4.styling.md b/docs/1.getting-started/4.styling.md index b2437a9cef..f252bbd6c4 100644 --- a/docs/1.getting-started/4.styling.md +++ b/docs/1.getting-started/4.styling.md @@ -430,7 +430,7 @@ By default, Nuxt comes with the following plugins already pre-configured: - [postcss-import](https://github.com/postcss/postcss-import): Improves the `@import` rule - [postcss-url](https://github.com/postcss/postcss-url): Transforms `url()` statements - [autoprefixer](https://github.com/postcss/autoprefixer): Automatically adds vendor prefixes -- [cssnano](https://cssnano.co): Minification and purge +- [cssnano](https://cssnano.github.io/cssnano): Minification and purge ## Leveraging Layouts For Multiple Styles diff --git a/lychee.toml b/lychee.toml index 602a20f60f..697f7aab92 100644 --- a/lychee.toml +++ b/lychee.toml @@ -9,7 +9,6 @@ max_retries = 6 # Explicitly exclude some URLs exclude = [ "https://twitter.nuxt.dev/", - "https://cssnano.co/", "https://github.com/nuxt/translations/discussions/4", "https://stackoverflow.com/help/minimal-reproducible-example", # single-quotes are required for regexp diff --git a/packages/schema/src/config/postcss.ts b/packages/schema/src/config/postcss.ts index a1be5bcec3..4843f8464a 100644 --- a/packages/schema/src/config/postcss.ts +++ b/packages/schema/src/config/postcss.ts @@ -15,7 +15,7 @@ export default defineUntypedSchema({ autoprefixer: {}, /** - * https://cssnano.co/docs/config-file/#configuration-options + * https://cssnano.github.io/cssnano/docs/config-file/#configuration-options */ cssnano: { $resolve: async (val, get) => { From 9e86ffdd0557955748632008db1ce231c039ba99 Mon Sep 17 00:00:00 2001 From: Sultanov Mirjamol <9625526+cljamal@users.noreply.github.com> Date: Thu, 7 Mar 2024 01:59:44 +0500 Subject: [PATCH 205/470] docs: add warning about latest `vue-tsc` (#26083) --- docs/2.guide/1.concepts/8.typescript.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/2.guide/1.concepts/8.typescript.md b/docs/2.guide/1.concepts/8.typescript.md index e2718dc55f..afc7ae5a05 100644 --- a/docs/2.guide/1.concepts/8.typescript.md +++ b/docs/2.guide/1.concepts/8.typescript.md @@ -9,22 +9,26 @@ By default, Nuxt doesn't check types when you run [`nuxi dev`](/docs/api/command To enable type-checking at build or development time, install `vue-tsc` and `typescript` as development dependency: +::alert{type="warning"} +You may experience issues with the latest `vue-tsc` and `vite-plugin-checker`, used internally when type checking. For now, you may need to stay on v1 of `vue-tsc`, and follow these upstream issues for updates: [fi3ework/vite-plugin-checker#306](https://github.com/fi3ework/vite-plugin-checker/issues/306) and [vuejs/language-tools#3969](https://github.com/vuejs/language-tools/issues/3969). +:: + ::code-group ```bash [yarn] - yarn add --dev vue-tsc typescript + yarn add --dev vue-tsc@^1 typescript ``` ```bash [npm] - npm install --save-dev vue-tsc typescript + npm install --save-dev vue-tsc@^1 typescript ``` ```bash [pnpm] - pnpm add -D vue-tsc typescript + pnpm add -D vue-tsc@^1 typescript ``` ```bash [bun] - bun add -D vue-tsc typescript + bun add -D vue-tsc@^1 typescript ``` :: From a249782f6f3a942cc37f6764154c07d4c35f4858 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 22:27:00 +0000 Subject: [PATCH 206/470] chore(deps): update dependency unplugin to ^1.8.3 (main) (#26117) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 25 +++++++++++++------------ 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 2bde9e7c9f..a8361d4c67 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -107,7 +107,7 @@ "unctx": "^2.3.1", "unenv": "^1.9.0", "unimport": "^3.7.1", - "unplugin": "^1.8.2", + "unplugin": "^1.8.3", "unplugin-vue-router": "^0.7.0", "unstorage": "^1.10.1", "untyped": "^1.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index d4ab443c19..70be543f7c 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -61,7 +61,7 @@ "strip-literal": "^2.0.0", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.8.2", + "unplugin": "^1.8.3", "vite": "^5.1.5", "vite-node": "^1.3.1", "vite-plugin-checker": "^0.6.4", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 1431cf598f..4638c2a8e6 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -58,7 +58,7 @@ "time-fix-plugin": "^2.0.7", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.8.2", + "unplugin": "^1.8.3", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5f78efe907..7a78b1d3cb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -390,8 +390,8 @@ importers: specifier: ^3.7.1 version: 3.7.1(rollup@4.12.1) unplugin: - specifier: ^1.8.2 - version: 1.8.2 + specifier: ^1.8.3 + version: 1.8.3 unplugin-vue-router: specifier: ^0.7.0 version: 0.7.0(rollup@4.12.1)(vue-router@4.3.0)(vue@3.4.21) @@ -638,8 +638,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.8.2 - version: 1.8.2 + specifier: ^1.8.3 + version: 1.8.3 vite: specifier: 5.1.5 version: 5.1.5(@types/node@20.11.25) @@ -774,8 +774,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.8.2 - version: 1.8.2 + specifier: ^1.8.3 + version: 1.8.3 url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) @@ -2326,7 +2326,7 @@ packages: std-env: 3.7.0 ufo: 1.4.0 unenv: 1.9.0 - unplugin: 1.8.2 + unplugin: 1.8.3 vite: 5.1.5(@types/node@20.11.25) vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) @@ -10660,7 +10660,7 @@ packages: pkg-types: 1.0.3 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.8.2 + unplugin: 1.8.3 transitivePeerDependencies: - rollup @@ -10740,7 +10740,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.8.2 + unplugin: 1.8.3 vue-router: 4.3.0(vue@3.4.21) yaml: 2.3.4 transitivePeerDependencies: @@ -10756,8 +10756,9 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - /unplugin@1.8.2: - resolution: {integrity: sha512-fgldo8hwP8dV94ne3rwQqlZkZWdcqH4K48bXax+N0MrBapfvoTbIQt9L2Vj/DzZAbWI/+kd2b9ZDsB7QZgz/hw==} + /unplugin@1.8.3: + resolution: {integrity: sha512-ZlLteXGDcyJgsbN2g4sZ3Dw6fpX1O5rjgeaA5MmQhhA2YxnTxsh43f8nDQgFOzcir0iv8GYMjtCV8MtyNnrhEg==} + engines: {node: '>=14.0.0'} dependencies: acorn: 8.11.3 chokidar: 3.6.0 @@ -10853,7 +10854,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - unplugin: 1.8.2 + unplugin: 1.8.3 /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} From 7551e440e06d68fefa10c487ab499748145780e2 Mon Sep 17 00:00:00 2001 From: Antoine Zanardi <antoine.zanardi@epitech.eu> Date: Thu, 7 Mar 2024 00:37:20 +0100 Subject: [PATCH 207/470] docs: improve readme readability (#26118) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sébastien Chopin <seb@nuxtlabs.com> Co-authored-by: Sébastien Chopin <seb@nuxt.com> --- README.md | 52 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 1289880ae0..5481321e39 100644 --- a/README.md +++ b/README.md @@ -13,16 +13,32 @@ Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js. It provides a number of features that make it easy to build fast, SEO-friendly, and scalable web applications, including: -- Server-side rendering, Static Site Generation or Hybrid Rendering -- Automatic routing with code-splitting -- State management -- SEO Optimization -- Auto imports -- Extensible with [180+ modules](https://nuxt.com/modules) +- Server-side rendering, Static Site Generation, Hybrid Rendering and Edge-Side Rendering +- Automatic routing with code-splitting and pre-fetching +- Data fetching and state management +- SEO Optimization and Meta tags definition +- Auto imports of components, composables and utils +- TypeScript with zero configuration +- Go fullstack with our server/ directory +- Extensible with [200+ modules](https://nuxt.com/modules) - Deployment to a variety of [hosting platforms](https://nuxt.com/deploy) - ...[and much more](https://nuxt.com) 🚀 -## Getting Started +### Table of Contents + +- 🚀 [Getting Started](#getting-started) +- 💻 [ Vue Development](#vue-development) +- 📖 [Documentation](#documentation) +- 🧩 [Modules](#modules) +- ❤️ [Contribute](#contribute) +- 🏠 [Local Development](#local-development) +- ⛰️ [Nuxt 2](#nuxt-2) +- 🔗 [Follow us](#follow-us) +- ⚖️ [License](#license) + +--- + +## <a name="getting-started">🚀 Getting Started</a> Use the following command to create a new starter project. This will create a starter project with all the necessary files and dependencies: @@ -30,9 +46,10 @@ Use the following command to create a new starter project. This will create a st npx nuxi@latest init <my-project> ``` -Discover also [nuxt.new](https://nuxt.new): Open a Nuxt starter on CodeSandbox, StackBlitz or locally to get up and running in a few seconds. +> [!TIP] +> Discover also [nuxt.new](https://nuxt.new): Open a Nuxt starter on CodeSandbox, StackBlitz or locally to get up and running in a few seconds. -## Vue Development +## <a name="vue-development">💻 Vue Development</a> Simple, intuitive and powerful, Nuxt lets you write Vue components in a way that makes sense. Every repetitive task is automated, so you can focus on writing your full-stack Vue application with confidence. @@ -54,7 +71,7 @@ useSeoMeta({ </div> </template> -<style> +<style scoped> #app { background-color: #020420; color: #00DC82; @@ -62,15 +79,15 @@ useSeoMeta({ </style> ``` -## Documentation +## <a name="documentation">📖 Documentation</a> We highly recommend you take a look at the [Nuxt documentation](https://nuxt.com/docs) to level up. It’s a great resource for learning more about the framework. It covers everything from getting started to advanced topics. -## Modules +## <a name="modules">🧩 Modules</a> Discover our [list of modules](https://nuxt.com/modules) to supercharge your Nuxt project, created by the Nuxt team and community. -## Contribute +## <a name="contribute">❤️ Contribute</a> We invite you to contribute and help improve Nuxt 💚 @@ -79,21 +96,20 @@ Here are a few ways you can get involved: - **Suggestions:** Have ideas to enhance Nuxt? We'd love to hear them! Check out the [contribution guide](https://nuxt.com/docs/community/contribution#creating-an-issue) to share your suggestions. - **Questions:** If you have questions or need assistance, the [getting help guide](https://nuxt.com/docs/community/getting-help) provides resources to help you out. -## Local Development +## <a name="local-development">🏠 Local Development</a> Follow the docs to [Set Up Your Local Development Environment](https://nuxt.com/docs/community/framework-contribution#setup) to contribute to the framework and documentation. -## Nuxt 2 +## <a name="nuxt-2">⛰️ Nuxt 2</a> You can find the code for Nuxt 2 on the [`2.x` branch](https://github.com/nuxt/nuxt/tree/2.x) and the documentation at [v2.nuxt.com](https://v2.nuxt.com). -## Follow us +## <a name="follow-us">🔗 Follow us</a> <p valign="center"> <a href="https://chat.nuxt.dev"><img width="20px" src="./.github/assets/discord.svg" alt="Discord"></a>  <a href="https://twitter.nuxt.dev"><img width="20px" src="./.github/assets/twitter.svg" alt="Twitter"></a>  <a href="https://github.nuxt.dev"><img width="20px" src="./.github/assets/github.svg" alt="GitHub"></a> </p> -## License +## <a name="license">⚖️ License</a> [MIT](./LICENSE) - From e9082ad28e484dc3f7b98f907b4090deee5a4337 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 7 Mar 2024 01:17:40 +0000 Subject: [PATCH 208/470] fix(nuxt): handle external redirects from `routeRules` (#26120) --- packages/nuxt/src/app/middleware/manifest-route-rule.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/nuxt/src/app/middleware/manifest-route-rule.ts b/packages/nuxt/src/app/middleware/manifest-route-rule.ts index 30f51c993b..ef3d2e1d37 100644 --- a/packages/nuxt/src/app/middleware/manifest-route-rule.ts +++ b/packages/nuxt/src/app/middleware/manifest-route-rule.ts @@ -1,3 +1,4 @@ +import { hasProtocol } from 'ufo' import { defineNuxtRouteMiddleware } from '../composables/router' import { getRouteRules } from '../composables/manifest' @@ -5,6 +6,10 @@ export default defineNuxtRouteMiddleware(async (to) => { if (import.meta.server || import.meta.test) { return } const rules = await getRouteRules(to.path) if (rules.redirect) { + if (hasProtocol(rules.redirect, { acceptRelative: true })) { + window.location.href = rules.redirect + return false + } return rules.redirect } }) From 8f7724133f8f8d723ba16cde08e1efb0dfc619e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Fri, 8 Mar 2024 08:19:46 +0100 Subject: [PATCH 209/470] chore: update .npmrc (#26135) --- .npmrc | 1 - 1 file changed, 1 deletion(-) diff --git a/.npmrc b/.npmrc index e2ad808f8d..8fb0b90fee 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1,2 @@ shamefully-hoist=true -strict-peer-dependencies=false shell-emulator=true From a9af9e02887d97fd262e4861c7781e7780bb66f5 Mon Sep 17 00:00:00 2001 From: Ryota Watanabe <43837308+wattanx@users.noreply.github.com> Date: Fri, 8 Mar 2024 16:21:56 +0900 Subject: [PATCH 210/470] docs: added bridge `macros.pageMeta` and `typescript.esbuild` option (#26136) --- docs/6.bridge/10.configuration.md | 10 ++++++++++ docs/6.bridge/4.plugins-and-middleware.md | 19 ++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/docs/6.bridge/10.configuration.md b/docs/6.bridge/10.configuration.md index 1adf1fc48d..da0fd85432 100644 --- a/docs/6.bridge/10.configuration.md +++ b/docs/6.bridge/10.configuration.md @@ -22,6 +22,16 @@ export default defineNuxtConfig({ // Enable Nuxt 3 compatible useHead // meta: true, + // Enable definePageMeta macro + // macros: { + // pageMeta: true + // }, + + // Enable transpiling TypeScript with esbuild + // typescript: { + // esbuild: true + // }, + // -- Default features -- // Use legacy server instead of Nitro diff --git a/docs/6.bridge/4.plugins-and-middleware.md b/docs/6.bridge/4.plugins-and-middleware.md index c379b3f801..2250b8bad5 100644 --- a/docs/6.bridge/4.plugins-and-middleware.md +++ b/docs/6.bridge/4.plugins-and-middleware.md @@ -42,7 +42,24 @@ export default defineNuxtRouteMiddleware((to) => { Use of `defineNuxtRouteMiddleware` is not supported outside of the middleware directory. :: -::note +## definePageMeta + You can also use [`definePageMeta`](https://nuxt.com/docs/api/utils/define-page-meta) in Nuxt Bridge. + +You can be enabled with the `macros.pageMeta` option in your configuration file + +```ts [nuxt.config.ts] +import { defineNuxtConfig } from '@nuxt/bridge' + +export default defineNuxtConfig({ + bridge: { + macros: { + pageMeta: true + } + } +}) +``` + +::note But only for `middleware` and `layout`. :: From cd3cf0b41a1a18b5b96791e25f53a6c385a90e9b Mon Sep 17 00:00:00 2001 From: k-karen <40630915+k-karen@users.noreply.github.com> Date: Fri, 8 Mar 2024 16:24:24 +0900 Subject: [PATCH 211/470] docs: fix bracket escape on `definePageMeta` page (#26139) --- docs/3.api/3.utils/define-page-meta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.api/3.utils/define-page-meta.md b/docs/3.api/3.utils/define-page-meta.md index 074229ae36..c70da355a3 100644 --- a/docs/3.api/3.utils/define-page-meta.md +++ b/docs/3.api/3.utils/define-page-meta.md @@ -200,7 +200,7 @@ The two routes "/test-category" and "/1234-post" match both `[postId]-[postSlug] To make sure that we are only matching digits (`\d+`) for `postId` in the `[postId]-[postSlug]` route, we can add the following to the `[postId]-[postSlug].vue` page template: -```vue [pages/[postId]-[postSlug].vue] +```vue [pages/[postId\\]-[postSlug\\].vue] <script setup lang="ts"> definePageMeta({ path: '/:postId(\\d+)-:postSlug' From 47cdd7dd07596823a26926d527b3ef4a23cd7cc1 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 8 Mar 2024 09:46:40 +0000 Subject: [PATCH 212/470] fix(nuxt): use flat cache directory for prerender data --- packages/nuxt/src/core/runtime/nitro/cache-driver.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/nuxt/src/core/runtime/nitro/cache-driver.ts b/packages/nuxt/src/core/runtime/nitro/cache-driver.ts index 92920a4b4b..dfd5d701a8 100644 --- a/packages/nuxt/src/core/runtime/nitro/cache-driver.ts +++ b/packages/nuxt/src/core/runtime/nitro/cache-driver.ts @@ -2,8 +2,7 @@ import { defineDriver } from 'unstorage' import fsDriver from 'unstorage/drivers/fs-lite' import lruCache from 'unstorage/drivers/lru-cache' -// Ensure we don't try to write/read from directory index for `/` paths -const normalizeFsKey = (item: string) => item.indexOf(':') === -1 ? `${item}:index` : item +const normalizeFsKey = (item: string) => item.replaceAll(':', '_') export default defineDriver((opts: { base: string }) => { const fs = fsDriver({ base: opts.base }) From 5c284ffda89257cc1ae1cb01b90bb74097442c28 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 09:49:20 +0000 Subject: [PATCH 213/470] chore(deps): update all non-major dependencies (main) (#26124) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- packages/schema/package.json | 4 +-- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 66 +++++++++++++++++------------------ 4 files changed, 38 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index a044ca2c26..67ed7eeba9 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "devalue": "4.3.2", "eslint": "8.57.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "48.2.0", + "eslint-plugin-jsdoc": "48.2.1", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-unicorn": "51.0.1", "execa": "8.0.1", @@ -88,7 +88,7 @@ "vue": "3.4.21", "vue-eslint-parser": "9.4.2", "vue-router": "4.3.0", - "vue-tsc": "2.0.5" + "vue-tsc": "2.0.6" }, "packageManager": "pnpm@8.15.4", "engines": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 1231b820f2..3ca7892d0d 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,9 +42,9 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", - "@vue/language-core": "2.0.5", + "@vue/language-core": "2.0.6", "c12": "1.10.0", - "esbuild-loader": "4.0.3", + "esbuild-loader": "4.1.0", "h3": "1.11.1", "ignore": "5.3.1", "nitropack": "2.9.1", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 4638c2a8e6..6c8e6c5a51 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -32,7 +32,7 @@ "css-minimizer-webpack-plugin": "^6.0.0", "cssnano": "^6.1.0", "defu": "^6.1.4", - "esbuild-loader": "^4.0.3", + "esbuild-loader": "^4.1.0", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "file-loader": "^6.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a78b1d3cb..a9593752ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,8 +71,8 @@ importers: specifier: 2.29.1 version: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0) eslint-plugin-jsdoc: - specifier: 48.2.0 - version: 48.2.0(eslint@8.57.0) + specifier: 48.2.1 + version: 48.2.1(eslint@8.57.0) eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 @@ -152,8 +152,8 @@ importers: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) vue-tsc: - specifier: 2.0.5 - version: 2.0.5(typescript@5.4.2) + specifier: 2.0.6 + version: 2.0.6(typescript@5.4.2) packages/kit: dependencies: @@ -497,14 +497,14 @@ importers: specifier: 3.4.21 version: 3.4.21 '@vue/language-core': - specifier: 2.0.5 - version: 2.0.5(typescript@5.4.2) + specifier: 2.0.6 + version: 2.0.6(typescript@5.4.2) c12: specifier: 1.10.0 version: 1.10.0 esbuild-loader: - specifier: 4.0.3 - version: 4.0.3(webpack@5.90.3) + specifier: 4.1.0 + version: 4.1.0(webpack@5.90.3) h3: specifier: 1.11.1 version: 1.11.1 @@ -648,7 +648,7 @@ importers: version: 1.3.1(@types/node@20.11.25) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5)(vue-tsc@2.0.5) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5)(vue-tsc@2.0.6) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -696,8 +696,8 @@ importers: specifier: ^6.1.4 version: 6.1.4 esbuild-loader: - specifier: ^4.0.3 - version: 4.0.3(webpack@5.90.3) + specifier: ^4.1.0 + version: 4.1.0(webpack@5.90.3) escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -3448,10 +3448,10 @@ packages: '@volar/source-map': 1.11.1 dev: true - /@volar/language-core@2.1.1: - resolution: {integrity: sha512-oVbZcj97+5zlowkHMSJMt3aaAFuFyhXeXoOEHcqGECxFvw1TPCNnMM9vxhqNpoiNeWKHvggoq9WCk/HzJHtP8A==} + /@volar/language-core@2.1.2: + resolution: {integrity: sha512-5qsDp0Gf6fE09UWCeK7bkVn6NxMwC9OqFWQkMMkeej8h8XjyABPdRygC2RCrqDrfVdGijqlMQeXs6yRS+vfZYA==} dependencies: - '@volar/source-map': 2.1.1 + '@volar/source-map': 2.1.2 /@volar/source-map@1.11.1: resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} @@ -3459,15 +3459,15 @@ packages: muggle-string: 0.3.1 dev: true - /@volar/source-map@2.1.1: - resolution: {integrity: sha512-OOtxrEWB2eZ+tnCy5JwDkcCPGlN3+ioNNzkywXE9k4XA7p4cN36frR7QPAOksvd7RXKUGHzSjq6XrYnTPa4z4Q==} + /@volar/source-map@2.1.2: + resolution: {integrity: sha512-yFJqsuLm1OaWrsz9E3yd3bJcYIlHqdZ8MbmIoZLrAzMYQDcoF26/INIhgziEXSdyHc8xd7rd/tJdSnUyh0gH4Q==} dependencies: muggle-string: 0.4.1 - /@volar/typescript@2.1.1: - resolution: {integrity: sha512-5K41AWvFZCMMKZCx8bbFvbkyiKHr0s9k8P0M1FVXLX/9HYHzK5C9B8cX4uhATSehAytFIRnR4fTXVQtWp/Yzag==} + /@volar/typescript@2.1.2: + resolution: {integrity: sha512-lhTancZqamvaLvoz0u/uth8dpudENNt2LFZOWCw9JZiX14xRFhdhfzmphiCRb7am9E6qAJSbdS/gMt1utXAoHQ==} dependencies: - '@volar/language-core': 2.1.1 + '@volar/language-core': 2.1.2 path-browserify: 1.0.1 /@vue-macros/common@1.10.1(rollup@4.12.1)(vue@3.4.21): @@ -3568,15 +3568,15 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.5(typescript@5.4.2): - resolution: {integrity: sha512-knGXuQqhDSO7QJr8LFklsiWa23N2ikehkdVxtc9UKgnyqsnusughS2Tkg7VN8Hqed35X0B52Z+OGI5OrT/8uxQ==} + /@vue/language-core@2.0.6(typescript@5.4.2): + resolution: {integrity: sha512-UzqU12tzf9XLqRO3TiWPwRNpP4fyUzE6MAfOQWQNZ4jy6a30ARRUpmODDKq6O8C4goMc2AlPqTmjOHPjHkilSg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 2.1.1 + '@volar/language-core': 2.1.2 '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 computeds: 0.0.1 @@ -5291,12 +5291,12 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-loader@4.0.3(webpack@5.90.3): - resolution: {integrity: sha512-YpaSRisj7TSg6maKKKG9OJGGm0BZ7EXeov8J8cXEYdugjlAJ0wL7aj2JactoQvPJ113v2Ar204pdJWrZsAQc8Q==} + /esbuild-loader@4.1.0(webpack@5.90.3): + resolution: {integrity: sha512-543TtIvqbqouEMlOHg4xKoDQkmdImlwIpyAIgpUtDPvMuklU/c2k+Qt2O3VeDBgAwozxmlEbjOzV+F8CZ0g+Bw==} peerDependencies: webpack: ^4.40.0 || ^5.0.0 dependencies: - esbuild: 0.19.11 + esbuild: 0.20.1 get-tsconfig: 4.7.2 loader-utils: 2.0.4 webpack: 5.90.3 @@ -5485,8 +5485,8 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@48.2.0(eslint@8.57.0): - resolution: {integrity: sha512-O2B1XLBJnUCRkggFzUQ+PBYJDit8iAgXdlu8ucolqGrbmOWPvttZQZX8d1sC0MbqDMSLs8SHSQxaNPRY1RQREg==} + /eslint-plugin-jsdoc@48.2.1(eslint@8.57.0): + resolution: {integrity: sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -11003,7 +11003,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5)(vue-tsc@2.0.5): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5)(vue-tsc@2.0.6): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11052,7 +11052,7 @@ packages: vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.5(typescript@5.4.2) + vue-tsc: 2.0.6(typescript@5.4.2) dev: false /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.1)(vite@5.1.5): @@ -11477,14 +11477,14 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.5(typescript@5.4.2): - resolution: {integrity: sha512-e8WCgOVTrbmC04XPnI+IpaMTFYKaTm5s/MXFcvxO1l9kxzn+9FpGNVrBSlQE8VpTJaJg4kaBK1nj3NC20VJzjw==} + /vue-tsc@2.0.6(typescript@5.4.2): + resolution: {integrity: sha512-kK50W4XqQL34vHRkxlRWLicrT6+F9xfgCgJ4KSmCHcytKzc1u3c94XXgI+CjmhOSxyw0krpExF7Obo7y4+0dVQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 2.1.1 - '@vue/language-core': 2.0.5(typescript@5.4.2) + '@volar/typescript': 2.1.2 + '@vue/language-core': 2.0.6(typescript@5.4.2) semver: 7.6.0 typescript: 5.4.2 From 6407cea6203fc3cfd887866e8e41cc0ea9797cea Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 8 Mar 2024 17:03:31 +0000 Subject: [PATCH 214/470] fix(nuxt): watch custom `cookieRef` values deeply (#26151) --- packages/nuxt/src/app/composables/cookie.ts | 23 +++++++++------ test/nuxt/composables.test.ts | 31 +++++++++++++++++++-- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/packages/nuxt/src/app/composables/cookie.ts b/packages/nuxt/src/app/composables/cookie.ts index 09015f8544..9c074a97fa 100644 --- a/packages/nuxt/src/app/composables/cookie.ts +++ b/packages/nuxt/src/app/composables/cookie.ts @@ -55,7 +55,7 @@ export function useCookie<T = string | null | undefined> (name: string, _opts?: // use a custom ref to expire the cookie on client side otherwise use basic ref const cookie = import.meta.client && delay && !hasExpired - ? cookieRef<T | undefined>(cookieValue, delay) + ? cookieRef<T | undefined>(cookieValue, delay, opts.watch && opts.watch !== 'shallow') : ref<T | undefined>(cookieValue) if (import.meta.dev && hasExpired) { @@ -123,9 +123,9 @@ export function useCookie<T = string | null | undefined> (name: string, _opts?: return cookie as CookieRef<T> } /** @since 3.10.0 */ -export function refreshCookie(name: string) { +export function refreshCookie (name: string) { if (store || typeof BroadcastChannel === 'undefined') return - + new BroadcastChannel(`nuxt:cookies:${name}`)?.postMessage({ refresh: true }) } @@ -174,14 +174,21 @@ function writeServerCookie (event: H3Event, name: string, value: any, opts: Cook const MAX_TIMEOUT_DELAY = 2_147_483_647 // custom ref that will update the value to undefined if the cookie expires -function cookieRef<T> (value: T | undefined, delay: number) { +function cookieRef<T> (value: T | undefined, delay: number, shouldWatch: boolean) { let timeout: NodeJS.Timeout + let unsubscribe: (() => void) | undefined let elapsed = 0 + const internalRef = shouldWatch ? ref(value) : { value } if (getCurrentScope()) { - onScopeDispose(() => { clearTimeout(timeout) }) + onScopeDispose(() => { + unsubscribe?.() + clearTimeout(timeout) + }) } return customRef((track, trigger) => { + if (shouldWatch) { unsubscribe = watch(internalRef, trigger) } + function createExpirationTimeout () { clearTimeout(timeout) const timeRemaining = delay - elapsed @@ -190,7 +197,7 @@ function cookieRef<T> (value: T | undefined, delay: number) { elapsed += timeoutLength if (elapsed < delay) { return createExpirationTimeout() } - value = undefined + internalRef.value = undefined trigger() }, timeoutLength) } @@ -198,12 +205,12 @@ function cookieRef<T> (value: T | undefined, delay: number) { return { get () { track() - return value + return internalRef.value }, set (newValue) { createExpirationTimeout() - value = newValue + internalRef.value = newValue trigger() } } diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index 8104a1340b..d0b6e68bcd 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -97,6 +97,7 @@ describe('composables', () => { 'useRequestFetch', 'isPrerendered', 'useRequestHeaders', + 'useCookie', 'clearNuxtState', 'useState', 'useRequestURL', @@ -121,7 +122,6 @@ describe('composables', () => { 'preloadRouteComponents', 'reloadNuxtApp', 'refreshCookie', - 'useCookie', 'useFetch', 'useHead', 'useLazyFetch', @@ -628,6 +628,33 @@ describe('defineNuxtComponent', () => { it.todo('should support Options API head') }) +describe('useCookie', () => { + it('should watch custom cookie refs', () => { + const user = useCookie('userInfo', { + default: () => ({ score: -1 }), + maxAge: 60 * 60, + }) + const computedVal = computed(() => user.value.score) + expect(computedVal.value).toBe(-1) + user.value.score++ + expect(computedVal.value).toBe(0) + }) + + it('should not watch custom cookie refs when shallow', () => { + for (const value of ['shallow', false] as const) { + const user = useCookie('shallowUserInfo', { + default: () => ({ score: -1 }), + maxAge: 60 * 60, + watch: value + }) + const computedVal = computed(() => user.value.score) + expect(computedVal.value).toBe(-1) + user.value.score++ + expect(computedVal.value).toBe(-1) + } + }) +}) + describe('callOnce', () => { it('should only call composable once', async () => { const fn = vi.fn() @@ -643,7 +670,7 @@ describe('callOnce', () => { await Promise.all([execute(), execute(), execute()]) expect(fn).toHaveBeenCalledTimes(1) - const fnSync = vi.fn().mockImplementation(() => { }) + const fnSync = vi.fn().mockImplementation(() => {}) const executeSync = () => callOnce(fnSync) await Promise.all([executeSync(), executeSync(), executeSync()]) expect(fnSync).toHaveBeenCalledTimes(1) From b7516a13929c66ea56cffa5443dbebf13c2b58f7 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 8 Mar 2024 17:03:38 +0000 Subject: [PATCH 215/470] fix(nuxt): access prerender cache synchronously (#26146) --- packages/nuxt/src/app/composables/asyncData.ts | 6 +++--- packages/nuxt/src/app/nuxt.ts | 2 +- packages/nuxt/src/core/nitro.ts | 4 +++- packages/nuxt/src/core/runtime/nitro/renderer.ts | 13 +++++++------ 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 79a7813ba9..f5c2c18a16 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -214,9 +214,9 @@ export function useAsyncData< const nuxtApp = useNuxtApp() // When prerendering, share payload data automatically between requests - const handler = import.meta.client || !import.meta.prerender || !nuxtApp.ssrContext?._sharedPrerenderCache ? _handler : async () => { - const value = await nuxtApp.ssrContext!._sharedPrerenderCache!.get(key) - if (value) { return value as ResT } + const handler = import.meta.client || !import.meta.prerender || !nuxtApp.ssrContext?._sharedPrerenderCache ? _handler : () => { + const value = nuxtApp.ssrContext!._sharedPrerenderCache!.get(key) + if (value) { return value as Promise<ResT> } const promise = nuxtApp.runWithContext(_handler) nuxtApp.ssrContext!._sharedPrerenderCache!.set(key, promise) diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index ce515d6a8b..8c069985ba 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -73,7 +73,7 @@ export interface NuxtSSRContext extends SSRContext { _payloadReducers: Record<string, (data: any) => any> /** @internal */ _sharedPrerenderCache?: { - get<T = unknown> (key: string): Promise<T> + get<T = unknown> (key: string): Promise<T> | undefined set<T> (key: string, value: Promise<T>): Promise<void> } } diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 9bb9fddfa9..e2a1ee456a 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -393,10 +393,12 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { } }) + const cacheDir = resolve(nuxt.options.buildDir, 'cache/nitro/prerender') + await fsp.rm(cacheDir, { recursive: true, force: true }).catch(() => {}) nitro.options._config.storage = defu(nitro.options._config.storage, { 'internal:nuxt:prerender': { driver: pathToFileURL(await resolvePath(join(distDir, 'core/runtime/nitro/cache-driver'))).href, - base: resolve(nuxt.options.buildDir, 'cache/nitro/prerender') + base: cacheDir } }) diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 3d262a1e3d..e1fabfb458 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -185,16 +185,17 @@ const payloadCache = import.meta.prerender ? useStorage('internal:nuxt:prerender const islandCache = import.meta.prerender ? useStorage('internal:nuxt:prerender:island') : null const islandPropCache = import.meta.prerender ? useStorage('internal:nuxt:prerender:island-props') : null const sharedPrerenderPromises = import.meta.prerender && process.env.NUXT_SHARED_DATA ? new Map<string, Promise<any>>() : null +const sharedPrerenderKeys = new Set<string>() const sharedPrerenderCache = import.meta.prerender && process.env.NUXT_SHARED_DATA ? { - get <T = unknown>(key: string): Promise<T> { - if (sharedPrerenderPromises!.has(key)) { - return sharedPrerenderPromises!.get(key)! + get <T = unknown>(key: string): Promise<T> | undefined { + if (sharedPrerenderKeys.has(key)) { + return sharedPrerenderPromises!.get(key) ?? useStorage('internal:nuxt:prerender:shared').getItem(key) as Promise<T> } - return useStorage('internal:nuxt:prerender:shared').getItem(key) as Promise<T> }, - async set <T>(key: string, value: Promise<T>) { + async set <T>(key: string, value: Promise<T>): Promise<void> { + sharedPrerenderKeys.add(key) sharedPrerenderPromises!.set(key, value) - return useStorage('internal:nuxt:prerender:shared').setItem(key, await value as any) + useStorage('internal:nuxt:prerender:shared').setItem(key, await value as any) // free up memory after the promise is resolved .finally(() => sharedPrerenderPromises!.delete(key)) }, From 4023f7c824969fb31ca980e46da9f605569e38a6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 17:03:58 +0000 Subject: [PATCH 216/470] chore(deps): update devdependency happy-dom to v13.7.0 (main) (#26148) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 48 ++++++++++++++++++++++++------------------------ 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 67ed7eeba9..e14232e455 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.6.2", + "happy-dom": "13.7.0", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9593752ec..92a30c620f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.6.2 - version: 13.6.2 + specifier: 13.7.0 + version: 13.7.0 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) + version: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -235,7 +235,7 @@ importers: version: 5.1.5(@types/node@20.11.25) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) + version: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) webpack: specifier: 5.90.3 version: 5.90.3 @@ -434,7 +434,7 @@ importers: version: 5.1.5(@types/node@20.11.24) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.24)(happy-dom@13.6.2) + version: 1.3.1(@types/node@20.11.24)(happy-dom@13.7.0) packages/schema: dependencies: @@ -871,7 +871,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.25)(happy-dom@13.6.2) + version: 1.0.2(@types/node@20.11.25)(happy-dom@13.7.0) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -1272,7 +1272,7 @@ packages: dependencies: '@codspeed/core': 3.1.0 vite: 5.1.5(@types/node@20.11.25) - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) transitivePeerDependencies: - debug dev: true @@ -2263,7 +2263,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2313,7 +2313,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.6.2 + happy-dom: 13.7.0 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2328,8 +2328,8 @@ packages: unenv: 1.9.0 unplugin: 1.8.3 vite: 5.1.5(@types/node@20.11.25) - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3360,7 +3360,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.6.2) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) transitivePeerDependencies: - supports-color dev: true @@ -6229,8 +6229,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.6.2: - resolution: {integrity: sha512-Ku+wDqcF/KwFA0dI+xIMZd9Jn020RXjuSil/Vz7gu2yhDC3FsDYZ55qqV9k+SGC4opwb4acisXqVSRxUJMlPbQ==} + /happy-dom@13.7.0: + resolution: {integrity: sha512-E02c+vzhvZvmyh60GjUi8zZF7HMKBe+ZD5LfIOu6AAbwkI2IU3vBh897joHaGFuQLG8/griTk0X7J/QgHV5WuQ==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11169,10 +11169,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.6.2)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11189,7 +11189,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.25)(happy-dom@13.6.2): + /vitest@1.0.2(@types/node@20.11.25)(happy-dom@13.7.0): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11225,7 +11225,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.6.2 + happy-dom: 13.7.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11247,7 +11247,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.24)(happy-dom@13.6.2): + /vitest@1.3.1(@types/node@20.11.24)(happy-dom@13.7.0): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11282,7 +11282,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.6.2 + happy-dom: 13.7.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11304,7 +11304,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.25)(happy-dom@13.6.2): + /vitest@1.3.1(@types/node@20.11.25)(happy-dom@13.7.0): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11339,7 +11339,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.6.2 + happy-dom: 13.7.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 From 0cc7f298f9194da195583f9e2b4b74edd33ee9f5 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 8 Mar 2024 19:22:46 +0000 Subject: [PATCH 217/470] feat(nuxt): support async transforms for data composables (#26154) --- docs/3.api/2.composables/use-async-data.md | 2 +- docs/3.api/2.composables/use-fetch.md | 2 +- packages/nuxt/src/app/composables/asyncData.ts | 6 +++--- test/fixtures/basic-types/types.ts | 10 ++++++++++ 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/3.api/2.composables/use-async-data.md b/docs/3.api/2.composables/use-async-data.md index 43b2bc4e24..8ef849235f 100644 --- a/docs/3.api/2.composables/use-async-data.md +++ b/docs/3.api/2.composables/use-async-data.md @@ -119,7 +119,7 @@ type AsyncDataOptions<DataT> = { deep?: boolean dedupe?: 'cancel' | 'defer' default?: () => DataT | Ref<DataT> | null - transform?: (input: DataT) => DataT + transform?: (input: DataT) => DataT | Promise<DataT> pick?: string[] watch?: WatchSource[] getCachedData?: (key: string) => DataT diff --git a/docs/3.api/2.composables/use-fetch.md b/docs/3.api/2.composables/use-fetch.md index 96bfa3850e..029f2e1778 100644 --- a/docs/3.api/2.composables/use-fetch.md +++ b/docs/3.api/2.composables/use-fetch.md @@ -148,7 +148,7 @@ type UseFetchOptions<DataT> = { deep?: boolean dedupe?: 'cancel' | 'defer' default?: () => DataT - transform?: (input: DataT) => DataT + transform?: (input: DataT) => DataT | Promise<DataT> pick?: string[] watch?: WatchSource[] | false } diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index f5c2c18a16..208b3ea2c1 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -12,7 +12,7 @@ import { asyncDataDefaults } from '#build/nuxt.config.mjs' export type AsyncDataRequestStatus = 'idle' | 'pending' | 'success' | 'error' -export type _Transform<Input = any, Output = any> = (input: Input) => Output +export type _Transform<Input = any, Output = any> = (input: Input) => Output | Promise<Output> export type PickFrom<T, K extends Array<string>> = T extends Array<any> ? T @@ -283,13 +283,13 @@ export function useAsyncData< reject(err) } }) - .then((_result) => { + .then(async (_result) => { // If this request is cancelled, resolve to the latest request. if ((promise as any).cancelled) { return nuxtApp._asyncDataPromises[key] } let result = _result as unknown as DataT if (options.transform) { - result = options.transform(_result) + result = await options.transform(_result) } if (options.pick) { result = pick(result as any, options.pick) as DataT diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index 9a95361b21..492df3549c 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -418,6 +418,16 @@ describe('composables', () => { expectTypeOf(useLazyAsyncData<string>(() => $fetch('/test'), { default: () => 'test', transform: () => 'transformed' }).data).toEqualTypeOf<Ref<string>>() }) + it('supports asynchronous transform', () => { + const { data } = useAsyncData('test', () => $fetch('/test') as Promise<{ foo: 'bar' }>, { + async transform (data) { + await Promise.resolve() + return data.foo + } + }) + expectTypeOf(data).toEqualTypeOf<Ref<'bar' | null>>() + }) + it('infer request url string literal from server/api routes', () => { // request can accept dynamic string type const dynamicStringUrl = 'https://example.com/api' From f0fd15bcf76da94115b8fcfe9d1314fbf0829d26 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 21:02:55 +0000 Subject: [PATCH 218/470] chore(deps): update dependency unplugin to ^1.9.0 (main) (#26156) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 24 ++++++++++++------------ 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index a8361d4c67..01ac53fa59 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -107,7 +107,7 @@ "unctx": "^2.3.1", "unenv": "^1.9.0", "unimport": "^3.7.1", - "unplugin": "^1.8.3", + "unplugin": "^1.9.0", "unplugin-vue-router": "^0.7.0", "unstorage": "^1.10.1", "untyped": "^1.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 70be543f7c..86a55762f2 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -61,7 +61,7 @@ "strip-literal": "^2.0.0", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.8.3", + "unplugin": "^1.9.0", "vite": "^5.1.5", "vite-node": "^1.3.1", "vite-plugin-checker": "^0.6.4", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 6c8e6c5a51..62f79426c8 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -58,7 +58,7 @@ "time-fix-plugin": "^2.0.7", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.8.3", + "unplugin": "^1.9.0", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 92a30c620f..42d1bb75b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -390,8 +390,8 @@ importers: specifier: ^3.7.1 version: 3.7.1(rollup@4.12.1) unplugin: - specifier: ^1.8.3 - version: 1.8.3 + specifier: ^1.9.0 + version: 1.9.0 unplugin-vue-router: specifier: ^0.7.0 version: 0.7.0(rollup@4.12.1)(vue-router@4.3.0)(vue@3.4.21) @@ -638,8 +638,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.8.3 - version: 1.8.3 + specifier: ^1.9.0 + version: 1.9.0 vite: specifier: 5.1.5 version: 5.1.5(@types/node@20.11.25) @@ -774,8 +774,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.8.3 - version: 1.8.3 + specifier: ^1.9.0 + version: 1.9.0 url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) @@ -2326,7 +2326,7 @@ packages: std-env: 3.7.0 ufo: 1.4.0 unenv: 1.9.0 - unplugin: 1.8.3 + unplugin: 1.9.0 vite: 5.1.5(@types/node@20.11.25) vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) @@ -10660,7 +10660,7 @@ packages: pkg-types: 1.0.3 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.8.3 + unplugin: 1.9.0 transitivePeerDependencies: - rollup @@ -10740,7 +10740,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.8.3 + unplugin: 1.9.0 vue-router: 4.3.0(vue@3.4.21) yaml: 2.3.4 transitivePeerDependencies: @@ -10756,8 +10756,8 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - /unplugin@1.8.3: - resolution: {integrity: sha512-ZlLteXGDcyJgsbN2g4sZ3Dw6fpX1O5rjgeaA5MmQhhA2YxnTxsh43f8nDQgFOzcir0iv8GYMjtCV8MtyNnrhEg==} + /unplugin@1.9.0: + resolution: {integrity: sha512-14PslvMY3gNbXnQtNIRB566Q057L5Fe7f5LDEamxVi0QQVxoz5hrveBwwZLcKyHtZ09ysmipxRRj5Lv+BGz2Iw==} engines: {node: '>=14.0.0'} dependencies: acorn: 8.11.3 @@ -10854,7 +10854,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - unplugin: 1.8.3 + unplugin: 1.9.0 /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} From dd1cdbc052eb3daf7a9a9b29f6c3effdb6a30e4a Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 8 Mar 2024 22:58:37 +0000 Subject: [PATCH 219/470] fix(nuxt): provide typescript aliases for core packages (#26158) --- .../nuxt/src/app/components/nuxt-island.ts | 3 +-- packages/nuxt/src/app/nuxt.ts | 3 +-- packages/nuxt/src/app/types.ts | 3 +++ packages/nuxt/src/core/nuxt.ts | 17 ++++++++++++++++- packages/nuxt/src/core/templates.ts | 18 +++++++----------- packages/nuxt/types.d.mts | 2 +- packages/nuxt/types.d.ts | 2 +- test/basic.test.ts | 3 ++- 8 files changed, 32 insertions(+), 19 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 80e64a6ea8..65a2a9ddc9 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -9,8 +9,7 @@ import { joinURL, withQuery } from 'ufo' import type { FetchResponse } from 'ofetch' import { join } from 'pathe' -// eslint-disable-next-line import/no-restricted-paths -import type { NuxtIslandResponse } from '../../core/runtime/nitro/renderer' +import type { NuxtIslandResponse } from '../types' import { useNuxtApp, useRuntimeConfig } from '../nuxt' import { prerenderRoutes, useRequestEvent } from '../composables/ssr' import { getFragmentHTML } from './utils' diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 8c069985ba..4ba36f4186 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -11,8 +11,7 @@ import type { AppConfig, AppConfigInput, RuntimeConfig } from 'nuxt/schema' import type { RenderResponse } from 'nitropack' import type { MergeHead, VueHeadClient } from '@unhead/vue' -// eslint-disable-next-line import/no-restricted-paths -import type { NuxtIslandContext } from '../core/runtime/nitro/renderer' +import type { NuxtIslandContext } from '../app/types' import type { RouteMiddleware } from '../app/composables/router' import type { NuxtError } from '../app/composables/error' import type { AsyncDataRequestStatus } from '../app/composables/asyncData' diff --git a/packages/nuxt/src/app/types.ts b/packages/nuxt/src/app/types.ts index 0ec9c30f44..2a7df92c5e 100644 --- a/packages/nuxt/src/app/types.ts +++ b/packages/nuxt/src/app/types.ts @@ -4,3 +4,6 @@ export type { PageMeta } from '../pages/runtime/index' export interface NuxtAppLiterals { [key: string]: string } + +// eslint-disable-next-line import/no-restricted-paths +export type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from '../core/runtime/nitro/renderer' diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index adc2aac1fa..7195fc9575 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -1,8 +1,9 @@ -import { join, normalize, relative, resolve } from 'pathe' +import { dirname, join, normalize, relative, resolve } from 'pathe' import { createDebugger, createHooks } from 'hookable' import type { LoadNuxtOptions } from '@nuxt/kit' import { addBuildPlugin, addComponent, addPlugin, addRouteMiddleware, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' import type { Nuxt, NuxtHooks, NuxtOptions } from 'nuxt/schema' +import { resolvePackageJSON } from 'pkg-types' import escapeRE from 'escape-string-regexp' import fse from 'fs-extra' @@ -61,6 +62,17 @@ async function initNuxt (nuxt: Nuxt) { nuxtCtx.set(nuxt) nuxt.hook('close', () => nuxtCtx.unset()) + const coreTypePackages = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema'] + const paths = Object.fromEntries(await Promise.all(coreTypePackages.map(async pkg => { + const path = await resolvePath(pkg).then(r => resolvePackageJSON(r)) + return [pkg, [dirname(path)]] + }))) + + // Set nitro resolutions for types that might be obscured with shamefully-hoist=false + nuxt.options.nitro.typescript = defu(nuxt.options.nitro.typescript, { + tsConfig: { compilerOptions: { paths } } + }) + // Add nuxt types nuxt.hook('prepare:types', (opts) => { opts.references.push({ types: 'nuxt' }) @@ -73,6 +85,9 @@ async function initNuxt (nuxt: Nuxt) { opts.references.push({ path: resolve(nuxt.options.buildDir, 'types/schema.d.ts') }) opts.references.push({ path: resolve(nuxt.options.buildDir, 'types/app.config.d.ts') }) + // Set Nuxt resolutions for types that might be obscured with shamefully-hoist=false + opts.tsConfig.compilerOptions = defu(opts.tsConfig.compilerOptions, { paths }) + for (const layer of nuxt.options._layers) { const declaration = join(layer.cwd, 'index.d.ts') if (fse.existsSync(declaration)) { diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 5a820ac2b1..c43964e363 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -8,7 +8,6 @@ import { hash } from 'ohash' import { camelCase } from 'scule' import { filename } from 'pathe/utils' import type { NuxtTemplate } from 'nuxt/schema' -import { tryResolveModule } from '@nuxt/kit' import { annotatePlugins, checkForCircularDependencies } from './app' @@ -223,14 +222,13 @@ export const middlewareTemplate: NuxtTemplate = { export const nitroSchemaTemplate: NuxtTemplate = { filename: 'types/nitro-nuxt.d.ts', - async getContents ({ nuxt }) { - const localH3 = await tryResolveModule('h3', nuxt.options.modulesDir) || 'h3' + getContents () { return /* typescript */` /// <reference path="./schema.d.ts" /> import type { RuntimeConfig } from 'nuxt/schema' -import type { H3Event } from '${localH3}' -import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from 'nuxt/dist/core/runtime/nitro/renderer' +import type { H3Event } from 'h3' +import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from 'nuxt/app' declare module 'nitropack' { interface NitroRuntimeConfigApp { @@ -264,11 +262,10 @@ export const useRuntimeConfig = () => window?.__NUXT__?.config || {} export const appConfigDeclarationTemplate: NuxtTemplate = { filename: 'types/app.config.d.ts', - async getContents ({ app, nuxt }) { - const localDefu = await tryResolveModule('defu', nuxt.options.modulesDir) || 'defu' + getContents ({ app, nuxt }) { return ` import type { CustomAppConfig } from 'nuxt/schema' -import type { Defu } from '${localDefu}' +import type { Defu } from 'defu' ${app.configs.map((id: string, index: number) => `import ${`cfg${index}`} from ${JSON.stringify(id.replace(/(?<=\w)\.\w+$/g, ''))}`).join('\n')} declare const inlineConfig = ${JSON.stringify(nuxt.options.appConfig, null, 2)} @@ -302,11 +299,10 @@ declare module '@nuxt/schema' { export const appConfigTemplate: NuxtTemplate = { filename: 'app.config.mjs', write: true, - async getContents ({ app, nuxt }) { - const localDefu = await tryResolveModule('defu', nuxt.options.modulesDir) || 'defu' + getContents ({ app, nuxt }) { return ` import { updateAppConfig } from '#app/config' -import { defuFn } from '${localDefu}' +import { defuFn } from 'defu' const inlineConfig = ${JSON.stringify(nuxt.options.appConfig, null, 2)} diff --git a/packages/nuxt/types.d.mts b/packages/nuxt/types.d.mts index 210e33bd5c..a2d0de646c 100644 --- a/packages/nuxt/types.d.mts +++ b/packages/nuxt/types.d.mts @@ -4,7 +4,7 @@ export * from './dist/index.js' import type { DefineNuxtConfig } from 'nuxt/config' import type { RuntimeConfig, SchemaDefinition } from 'nuxt/schema' import type { H3Event } from 'h3' -import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/core/runtime/nitro/renderer.js' +import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/app/types.js' declare global { const defineNuxtConfig: DefineNuxtConfig diff --git a/packages/nuxt/types.d.ts b/packages/nuxt/types.d.ts index 04663194d6..47afddd4ad 100644 --- a/packages/nuxt/types.d.ts +++ b/packages/nuxt/types.d.ts @@ -4,7 +4,7 @@ export * from './dist/index' import type { DefineNuxtConfig } from 'nuxt/config' import type { RuntimeConfig, SchemaDefinition } from 'nuxt/schema' import type { H3Event } from 'h3' -import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/core/runtime/nitro/renderer' +import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/app/types' declare global { const defineNuxtConfig: DefineNuxtConfig diff --git a/test/basic.test.ts b/test/basic.test.ts index c865cfd5b8..b9a8f55c10 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -7,9 +7,10 @@ import { join, normalize } from 'pathe' import { $fetch, createPage, fetch, isDev, setup, startServer, url, useTestContext } from '@nuxt/test-utils/e2e' import { $fetchComponent } from '@nuxt/test-utils/experimental' -import type { NuxtIslandResponse } from '../packages/nuxt/src/core/runtime/nitro/renderer' import { expectNoClientErrors, expectWithPolling, gotoPath, isRenderingJson, parseData, parsePayload, renderPage } from './utils' +import type { NuxtIslandResponse } from '#app' + const isWebpack = process.env.TEST_BUILDER === 'webpack' const isTestingAppManifest = process.env.TEST_MANIFEST !== 'manifest-off' From e1b3c5e482b0b58aea0362f74a69ef06b31b0e57 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 23:03:01 +0000 Subject: [PATCH 220/470] chore(deps): update all non-major dependencies (main) (#26157) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 4 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 135 ++++++++++++++++++++++------------ test/nuxt/composables.test.ts | 2 +- 6 files changed, 92 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index e14232e455..3391dd0862 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "happy-dom": "13.7.0", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", - "nitropack": "2.9.1", + "nitropack": "2.9.2", "nuxi": "3.10.1", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", diff --git a/packages/kit/package.json b/packages/kit/package.json index ecbeced876..762ff5a4de 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -50,7 +50,7 @@ "@types/lodash-es": "4.17.12", "@types/semver": "7.5.8", "lodash-es": "4.17.21", - "nitropack": "2.9.1", + "nitropack": "2.9.2", "unbuild": "latest", "vite": "5.1.5", "vitest": "1.3.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 01ac53fa59..1dfd3c5a6c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -89,7 +89,7 @@ "knitwork": "^1.0.0", "magic-string": "^0.30.8", "mlly": "^1.6.1", - "nitropack": "^2.9.1", + "nitropack": "^2.9.2", "nuxi": "^3.10.1", "nypm": "^0.3.8", "ofetch": "^1.3.3", @@ -97,7 +97,7 @@ "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "radix3": "^1.1.0", + "radix3": "^1.1.1", "scule": "^1.3.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 3ca7892d0d..399d2182d1 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -47,7 +47,7 @@ "esbuild-loader": "4.1.0", "h3": "1.11.1", "ignore": "5.3.1", - "nitropack": "2.9.1", + "nitropack": "2.9.2", "ofetch": "1.3.3", "unbuild": "latest", "unctx": "2.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 42d1bb75b1..dd67a88eb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -101,8 +101,8 @@ importers: specifier: 0.39.0 version: 0.39.0 nitropack: - specifier: 2.9.1 - version: 2.9.1 + specifier: 2.9.2 + version: 2.9.2 nuxi: specifier: 3.10.1 version: 3.10.1 @@ -225,8 +225,8 @@ importers: specifier: 4.17.21 version: 4.17.21 nitropack: - specifier: 2.9.1 - version: 2.9.1 + specifier: 2.9.2 + version: 2.9.2 unbuild: specifier: latest version: 2.0.0(typescript@5.4.2) @@ -336,8 +336,8 @@ importers: specifier: ^1.6.1 version: 1.6.1 nitropack: - specifier: ^2.9.1 - version: 2.9.1 + specifier: ^2.9.2 + version: 2.9.2 nuxi: specifier: ^3.10.1 version: 3.10.1 @@ -360,8 +360,8 @@ importers: specifier: ^1.0.3 version: 1.0.3 radix3: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.1.1 + version: 1.1.1 scule: specifier: ^1.3.0 version: 1.3.0 @@ -512,8 +512,8 @@ importers: specifier: 5.3.1 version: 5.3.1 nitropack: - specifier: 2.9.1 - version: 2.9.1 + specifier: 2.9.2 + version: 2.9.2 ofetch: specifier: 1.3.3 version: 1.3.3 @@ -2321,7 +2321,7 @@ packages: pathe: 1.1.2 perfect-debounce: 1.0.0 playwright-core: 1.42.1 - radix3: 1.1.0 + radix3: 1.1.1 scule: 1.3.0 std-env: 3.7.0 ufo: 1.4.0 @@ -3729,6 +3729,12 @@ packages: /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + /acorn-import-assertions@1.9.0(acorn@8.11.3): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: @@ -3894,28 +3900,28 @@ packages: /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - /archiver-utils@4.0.1: - resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} - engines: {node: '>= 12.0.0'} + /archiver-utils@5.0.1: + resolution: {integrity: sha512-MMAoLdMvT/nckofX1tCLrf7uJce4jTNkiT6smA2u57AOImc1nce7mR3EDujxL5yv6/MnILuQH4sAsPtDS8kTvg==} + engines: {node: '>= 14'} dependencies: - glob: 8.1.0 + glob: 10.3.10 graceful-fs: 4.2.11 lazystream: 1.0.1 lodash: 4.17.21 normalize-path: 3.0.0 readable-stream: 3.6.2 - /archiver@6.0.1: - resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} - engines: {node: '>= 12.0.0'} + /archiver@7.0.0: + resolution: {integrity: sha512-R9HM9egs8FfktSqUqyjlKmvF4U+CWNqm/2tlROV+lOFg79MLdT67ae1l3hU47pGy8twSXxHoiefMCh43w0BriQ==} + engines: {node: '>= 14'} dependencies: - archiver-utils: 4.0.1 + archiver-utils: 5.0.1 async: 3.2.4 - buffer-crc32: 0.2.13 - readable-stream: 3.6.2 + buffer-crc32: 1.0.0 + readable-stream: 4.5.2 readdir-glob: 1.1.3 tar-stream: 3.1.6 - zip-stream: 5.0.1 + zip-stream: 6.0.0 /are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} @@ -4115,6 +4121,9 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /big-integer@1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} engines: {node: '>=0.6'} @@ -4171,12 +4180,19 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + /buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -4516,14 +4532,14 @@ packages: /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - /compress-commons@5.0.1: - resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} - engines: {node: '>= 12.0.0'} + /compress-commons@6.0.1: + resolution: {integrity: sha512-l7occIJn8YwlCEbWUCrG6gPms9qnJTCZSaznCa5HaV+yJMH4kM8BDc7q9NyoQuoiB2O6jKgTcTeY462qw6MyHw==} + engines: {node: '>= 14'} dependencies: crc-32: 1.2.2 - crc32-stream: 5.0.0 + crc32-stream: 6.0.0 normalize-path: 3.0.0 - readable-stream: 3.6.2 + readable-stream: 4.5.2 /computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} @@ -4611,12 +4627,12 @@ packages: engines: {node: '>=0.8'} hasBin: true - /crc32-stream@5.0.0: - resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} - engines: {node: '>= 12.0.0'} + /crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} dependencies: crc-32: 1.2.2 - readable-stream: 3.6.2 + readable-stream: 4.5.2 /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -4816,8 +4832,8 @@ packages: resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} dev: false - /db0@0.1.3: - resolution: {integrity: sha512-g8mXmj+t5MRXiA1ARjhfLd6Acy98VLVd8VL5LOBZ49P4A7qzoGgt6pC/gDWuP4zS3BiqSnKXTjTQXviMsD/sxA==} + /db0@0.1.4: + resolution: {integrity: sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==} peerDependencies: '@libsql/client': ^0.5.2 better-sqlite3: ^9.4.3 @@ -5663,6 +5679,10 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -6222,7 +6242,7 @@ packages: destr: 2.0.3 iron-webcrypto: 1.0.0 ohash: 1.1.3 - radix3: 1.1.0 + radix3: 1.1.1 ufo: 1.4.0 uncrypto: 0.1.3 unenv: 1.9.0 @@ -6493,6 +6513,9 @@ packages: postcss: 8.4.35 dev: false + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + /ignore-walk@6.0.3: resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -8030,8 +8053,8 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nitropack@2.9.1: - resolution: {integrity: sha512-qgz2VKJoiFvEtC6JnFlaqVx5hirD/oonb6SIM6kQODeDjEHVaiOViZxg7pnAGq13Zu2vNHhaJe6Sf49AEG3J+A==} + /nitropack@2.9.2: + resolution: {integrity: sha512-0anZb+7xChw3sErT05Hc/usroBxDHD/6TwKgHIXjZioYZ7c3wKtCl1xwb/59RugyW5AdqF34u7GdmRzqPUIa5Q==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -8052,7 +8075,7 @@ packages: '@rollup/pluginutils': 5.1.0(rollup@4.12.1) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 - archiver: 6.0.1 + archiver: 7.0.0 c12: 1.10.0 chalk: 5.3.0 chokidar: 3.6.0 @@ -8061,7 +8084,7 @@ packages: cookie-es: 1.0.0 croner: 8.0.1 crossws: 0.2.4 - db0: 0.1.3 + db0: 0.1.4 defu: 6.1.4 destr: 2.0.3 dot-prop: 8.0.2 @@ -8091,7 +8114,7 @@ packages: perfect-debounce: 1.0.0 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - radix3: 1.1.0 + radix3: 1.1.1 rollup: 4.12.1 rollup-plugin-visualizer: 5.12.0(rollup@4.12.1) scule: 1.3.0 @@ -9167,6 +9190,10 @@ packages: /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + /promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -9332,8 +9359,8 @@ packages: /queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - /radix3@1.1.0: - resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} + /radix3@1.1.1: + resolution: {integrity: sha512-yUUd5VTiFtcMEx0qFUxGAv5gbMc1un4RvEO1JZdP7ZUl/RHygZK6PknIKntmQRZxnMY3ZXD2ISaw1ij8GYW1yg==} /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -9421,6 +9448,16 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + /readdir-glob@1.1.3: resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: @@ -11840,13 +11877,13 @@ packages: /zhead@2.2.4: resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} - /zip-stream@5.0.1: - resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} - engines: {node: '>= 12.0.0'} + /zip-stream@6.0.0: + resolution: {integrity: sha512-X0WFquRRDtL9HR9hc1OrabOP/VKJEX7gAr2geayt3b7dLgXgSXI6ucC4CphLQP/aQt2GyHIYgmXxtC+dVdghAQ==} + engines: {node: '>= 14'} dependencies: - archiver-utils: 4.0.1 - compress-commons: 5.0.1 - readable-stream: 3.6.2 + archiver-utils: 5.0.1 + compress-commons: 6.0.1 + readable-stream: 4.5.2 /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index d0b6e68bcd..c9f9c9198f 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -547,7 +547,7 @@ describe.skipIf(process.env.TEST_MANIFEST === 'manifest-off')('app manifests', ( }) it('isPrerendered', async () => { expect(await isPrerendered('/specific-prerendered')).toBeTruthy() - expect(await isPrerendered('/prerendered/test')).toBeTruthy() + expect(await isPrerendered('/prerendered/test')).toBeFalsy() expect(await isPrerendered('/test')).toBeFalsy() expect(await isPrerendered('/pre/test')).toBeFalsy() expect(await isPrerendered('/pre/thing')).toBeTruthy() From 63bfaac120c0bc51190b1c1b3abe9fd6af660767 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 9 Mar 2024 06:07:39 +0000 Subject: [PATCH 221/470] fix(nuxt): handle errors resolving package paths --- packages/nuxt/src/core/nuxt.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 7195fc9575..a0746c0022 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -2,6 +2,7 @@ import { dirname, join, normalize, relative, resolve } from 'pathe' import { createDebugger, createHooks } from 'hookable' import type { LoadNuxtOptions } from '@nuxt/kit' import { addBuildPlugin, addComponent, addPlugin, addRouteMiddleware, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' +import { resolvePath as _resolvePath } from 'mlly' import type { Nuxt, NuxtHooks, NuxtOptions } from 'nuxt/schema' import { resolvePackageJSON } from 'pkg-types' @@ -64,9 +65,10 @@ async function initNuxt (nuxt: Nuxt) { const coreTypePackages = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema'] const paths = Object.fromEntries(await Promise.all(coreTypePackages.map(async pkg => { - const path = await resolvePath(pkg).then(r => resolvePackageJSON(r)) + const path = await _resolvePath(pkg, { url: nuxt.options.modulesDir }).then(r => resolvePackageJSON(r)).catch(() => null) + if (!path) { return } return [pkg, [dirname(path)]] - }))) + })).then((r) => r.filter(Boolean) as [string, [string]][])) // Set nitro resolutions for types that might be obscured with shamefully-hoist=false nuxt.options.nitro.typescript = defu(nuxt.options.nitro.typescript, { From 3782ac0a2c15e7b619257e9260717617a1ad37d8 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 9 Mar 2024 06:30:02 +0000 Subject: [PATCH 222/470] fix(kit): handle errors resolving module path --- packages/kit/src/module/install.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/module/install.ts b/packages/kit/src/module/install.ts index 47bf32937a..fc3d97bd66 100644 --- a/packages/kit/src/module/install.ts +++ b/packages/kit/src/module/install.ts @@ -74,9 +74,9 @@ export async function loadNuxtModuleInstance (nuxtModule: string | NuxtModule, n const paths = [join(nuxtModule, 'nuxt'), join(nuxtModule, 'module'), nuxtModule] let error: unknown for (const path of paths) { - const src = await resolvePath(path) - // Prefer ESM resolution if possible try { + const src = await resolvePath(path) + // Prefer ESM resolution if possible nuxtModule = await importModule(src, nuxt.options.modulesDir).catch(() => null) ?? requireModule(src, { paths: nuxt.options.modulesDir }) // nuxt-module-builder generates a module.json with metadata including the version From 7252b56d527349404aee754f0dcdb869a816bba3 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 9 Mar 2024 06:48:15 +0000 Subject: [PATCH 223/470] chore: add back stylistic rules and lint project --- .eslintrc | 56 ++++++++++++++ nuxt.config.ts | 4 +- package.json | 1 + packages/kit/src/internal/template.ts | 2 +- packages/kit/src/logger.test.ts | 47 ++++++------ packages/kit/src/logger.ts | 2 +- packages/kit/test/generate-types.spec.ts | 4 +- packages/kit/test/load-nuxt-config.bench.ts | 2 +- packages/nuxt/src/app/compat/interval.ts | 20 ++--- .../nuxt/src/app/components/client-only.ts | 2 +- .../nuxt/src/app/components/nuxt-island.ts | 4 +- packages/nuxt/src/app/components/nuxt-link.ts | 48 ++++++------ .../app/components/nuxt-loading-indicator.ts | 4 +- .../components/nuxt-teleport-island-slot.ts | 4 +- .../nuxt/src/app/composables/asyncData.ts | 12 +-- .../nuxt/src/app/composables/component.ts | 2 +- packages/nuxt/src/app/composables/cookie.ts | 4 +- packages/nuxt/src/app/composables/error.ts | 6 +- packages/nuxt/src/app/composables/fetch.ts | 4 +- packages/nuxt/src/app/composables/preview.ts | 6 +- packages/nuxt/src/app/composables/router.ts | 6 +- packages/nuxt/src/app/entry.ts | 5 +- packages/nuxt/src/app/nuxt.ts | 12 +-- .../nuxt/src/components/islandsTransform.ts | 2 +- packages/nuxt/src/components/module.ts | 14 ++-- .../components/runtime/client-component.ts | 4 +- .../components/runtime/server-component.ts | 4 +- packages/nuxt/src/core/nitro.ts | 2 +- packages/nuxt/src/core/nuxt.ts | 4 +- packages/nuxt/src/core/plugins/unctx.ts | 2 +- .../src/core/runtime/nitro/cache-driver.ts | 2 +- packages/nuxt/src/core/runtime/nitro/error.ts | 16 ++-- .../nuxt/src/core/runtime/nitro/renderer.ts | 72 +++++++++--------- packages/nuxt/src/core/templates.ts | 2 +- packages/nuxt/src/head/runtime/components.ts | 2 +- packages/nuxt/src/pages/module.ts | 13 ++-- .../nuxt/src/pages/runtime/composables.ts | 2 +- packages/nuxt/src/pages/runtime/page.ts | 3 +- .../runtime/plugins/check-if-page-unused.ts | 6 +- packages/nuxt/src/pages/utils.ts | 10 +-- packages/nuxt/test/app.test.ts | 2 +- packages/nuxt/test/devonly.test.ts | 4 +- packages/nuxt/test/islandTransform.test.ts | 8 +- packages/nuxt/test/load-nuxt.test.ts | 2 +- packages/nuxt/test/pages.test.ts | 17 ++--- packages/nuxt/types.d.ts | 4 +- packages/schema/src/config/app.ts | 4 +- packages/schema/src/config/experimental.ts | 6 +- packages/schema/src/config/vite.ts | 2 +- packages/schema/src/config/webpack.ts | 2 +- packages/schema/src/types/nuxt.ts | 1 + packages/vite/src/client.ts | 16 ++-- packages/vite/src/server.ts | 12 +-- packages/vite/src/vite.ts | 2 +- packages/webpack/src/configs/client.ts | 10 +-- packages/webpack/src/presets/base.ts | 2 +- pnpm-lock.yaml | 76 ++++++++++++++++++- scripts/update-changelog.ts | 2 +- test/basic.test.ts | 36 ++++----- test/bundle.test.ts | 10 +-- test/fixtures/basic-types/nuxt.config.ts | 2 +- test/fixtures/basic-types/types.ts | 6 +- .../basic/modules/import-components/index.ts | 14 ++-- .../import-components/runtime/components.ts | 4 +- .../modules/lazy-import-components/index.ts | 8 +- .../runtime/components.ts | 2 +- test/fixtures/basic/modules/subpath/module.ts | 2 +- test/fixtures/basic/nuxt.config.ts | 6 +- .../pages/client-only-page/index.client.vue | 2 +- test/fixtures/basic/pages/inline-only-css.vue | 1 - test/fixtures/basic/pages/islands.vue | 2 +- test/fixtures/basic/pages/node-compat.vue | 2 +- test/fixtures/basic/pages/use-id.vue | 1 - test/fixtures/basic/server/api/error.ts | 2 +- test/hmr.test.ts | 6 +- test/nuxt/composables.test.ts | 24 +++--- test/nuxt/nuxt-island.test.ts | 7 +- test/nuxt/plugin.test.ts | 12 +-- 78 files changed, 435 insertions(+), 303 deletions(-) diff --git a/.eslintrc b/.eslintrc index 513682b8ec..a72cf012da 100644 --- a/.eslintrc +++ b/.eslintrc @@ -12,11 +12,67 @@ }, "plugins": ["jsdoc", "import", "unicorn", "no-only-tests"], "extends": [ + "standard", "plugin:jsdoc/recommended", "@nuxt/eslint-config", "plugin:import/typescript" ], "rules": { + // Imports should come first + "import/first": "error", + // Other import rules + "import/no-mutable-exports": "error", + // Allow unresolved imports + "import/no-unresolved": "off", + // Allow paren-less arrow functions only when there's no braces + "arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }], + // Allow async-await + "generator-star-spacing": "off", + // Prefer const over let + "prefer-const": ["error", { "destructuring": "any", "ignoreReadBeforeAssign": false }], + // No single if in an "else" block + "no-lonely-if": "error", + // Force curly braces for control flow, + // including if blocks with a single statement + "curly": ["error", "all" + ], + // No async function without await + "require-await": "error", + // Force dot notation when possible + "dot-notation": "error", + + "no-var": "error", + // Force object shorthand where possible + "object-shorthand": "error", + // No useless destructuring/importing/exporting renames + "no-useless-rename": "error", + /**********************/ + /* Unicorn Rules */ + /**********************/ + // Pass error message when throwing errors + "unicorn/error-message": "error", + // Uppercase regex escapes + "unicorn/escape-case": "error", + // Array.isArray instead of instanceof + "unicorn/no-array-instanceof": "error", + // Prevent deprecated `new Buffer()` + "unicorn/no-new-buffer": "error", + // Keep regex literals safe! + "unicorn/no-unsafe-regex": "off", + // Lowercase number formatting for octal, hex, binary (0x12 instead of 0X12) + "unicorn/number-literal-case": "error", + // ** instead of Math.pow() + "unicorn/prefer-exponentiation-operator": "error", + // includes over indexOf when checking for existence + "unicorn/prefer-includes": "error", + // String methods startsWith/endsWith instead of more complicated stuff + "unicorn/prefer-starts-ends-with": "error", + // textContent instead of innerText + "unicorn/prefer-text-content": "error", + // Enforce throwing type error when throwing error while checking typeof + "unicorn/prefer-type-error": "error", + // Use new when throwing error + "unicorn/throw-new-error": "error", "sort-imports": [ "error", { diff --git a/nuxt.config.ts b/nuxt.config.ts index 447512fab7..cae1734649 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -9,8 +9,8 @@ export default defineNuxtConfig({ function () { addPluginTemplate({ filename: 'plugins/my-plugin.mjs', - getContents: () => `export default defineNuxtPlugin({ name: 'my-plugin' })` + getContents: () => 'export default defineNuxtPlugin({ name: \'my-plugin\' })' }) } - ], + ] }) diff --git a/package.json b/package.json index 3391dd0862..f187a88f07 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "consola": "3.2.3", "devalue": "4.3.2", "eslint": "8.57.0", + "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-jsdoc": "48.2.1", "eslint-plugin-no-only-tests": "3.1.0", diff --git a/packages/kit/src/internal/template.ts b/packages/kit/src/internal/template.ts index 389e457d1c..1831e6a854 100644 --- a/packages/kit/src/internal/template.ts +++ b/packages/kit/src/internal/template.ts @@ -9,7 +9,7 @@ import { toArray } from '../utils' /** @deprecated */ // TODO: Remove support for compiling ejs templates in v4 -export async function compileTemplate <T>(template: NuxtTemplate<T>, ctx: any) { +export async function compileTemplate <T> (template: NuxtTemplate<T>, ctx: any) { const data = { ...ctx, options: template.options } if (template.src) { try { diff --git a/packages/kit/src/logger.test.ts b/packages/kit/src/logger.test.ts index a3cc49541d..44aa6ed3cd 100644 --- a/packages/kit/src/logger.test.ts +++ b/packages/kit/src/logger.test.ts @@ -3,13 +3,13 @@ import { describe, expect, it, vi } from 'vitest' import { consola } from 'consola' import { logger, useLogger } from './logger' -vi.mock("consola", () => { - const logger = {} as any; +vi.mock('consola', () => { + const logger = {} as any - logger.create = vi.fn(() => ({...logger})); - logger.withTag = vi.fn(() => ({...logger})); - - return { consola: logger }; + logger.create = vi.fn(() => ({ ...logger })) + logger.withTag = vi.fn(() => ({ ...logger })) + + return { consola: logger } }) describe('logger', () => { @@ -20,29 +20,28 @@ describe('logger', () => { describe('useLogger', () => { it('should expose consola when not passing a tag', () => { - expect(useLogger()).toBe(consola); - }); + expect(useLogger()).toBe(consola) + }) it('should create a new instance when passing a tag', () => { - const logger = vi.mocked(consola); - - const instance = useLogger("tag"); + const logger = vi.mocked(consola) - expect(instance).toEqual(logger); - expect(instance).not.toBe(logger); - expect(logger.create).toBeCalledWith({}); - expect(logger.withTag).toBeCalledWith("tag"); - }); + const instance = useLogger('tag') + + expect(instance).toEqual(logger) + expect(instance).not.toBe(logger) + expect(logger.create).toBeCalledWith({}) + expect(logger.withTag).toBeCalledWith('tag') + }) it('should create a new instance when passing a tag and options', () => { - const logger = vi.mocked(consola); - - const instance = useLogger("tag", { level: 0 }); + const logger = vi.mocked(consola) - expect(instance).toEqual(logger); - expect(instance).not.toBe(logger); - expect(logger.create).toBeCalledWith({ level: 0 }); - expect(logger.withTag).toBeCalledWith("tag"); - }); + const instance = useLogger('tag', { level: 0 }) + expect(instance).toEqual(logger) + expect(instance).not.toBe(logger) + expect(logger.create).toBeCalledWith({ level: 0 }) + expect(logger.withTag).toBeCalledWith('tag') + }) }) diff --git a/packages/kit/src/logger.ts b/packages/kit/src/logger.ts index be95003480..8572b11555 100644 --- a/packages/kit/src/logger.ts +++ b/packages/kit/src/logger.ts @@ -1,5 +1,5 @@ import { consola } from 'consola' -import type { ConsolaOptions } from 'consola'; +import type { ConsolaOptions } from 'consola' export const logger = consola diff --git a/packages/kit/test/generate-types.spec.ts b/packages/kit/test/generate-types.spec.ts index ea6cc10f47..35646fb197 100644 --- a/packages/kit/test/generate-types.spec.ts +++ b/packages/kit/test/generate-types.spec.ts @@ -22,9 +22,9 @@ const mockNuxt = { modules: [], _layers: [{ config: { srcDir: '/my-app' } }], _installedModules: [], - _modules: [], + _modules: [] }, - callHook: () => {}, + callHook: () => {} } satisfies DeepPartial<Nuxt> as unknown as Nuxt const mockNuxtWithOptions = (options: NuxtConfig) => defu({ options }, mockNuxt) as Nuxt diff --git a/packages/kit/test/load-nuxt-config.bench.ts b/packages/kit/test/load-nuxt-config.bench.ts index ee8ff33eeb..bcee6a730b 100644 --- a/packages/kit/test/load-nuxt-config.bench.ts +++ b/packages/kit/test/load-nuxt-config.bench.ts @@ -9,7 +9,7 @@ const fixtures = { 'basic test fixture': 'test/fixtures/basic', 'basic test fixture (types)': 'test/fixtures/basic-types', 'minimal test fixture': 'test/fixtures/minimal', - 'minimal test fixture (types)': 'test/fixtures/minimal-types', + 'minimal test fixture (types)': 'test/fixtures/minimal-types' } describe('loadNuxtConfig', () => { diff --git a/packages/nuxt/src/app/compat/interval.ts b/packages/nuxt/src/app/compat/interval.ts index 74adf6c39c..4251c9f9a2 100644 --- a/packages/nuxt/src/app/compat/interval.ts +++ b/packages/nuxt/src/app/compat/interval.ts @@ -2,13 +2,15 @@ import { createError } from '../composables/error' const intervalError = '[nuxt] `setInterval` should not be used on the server. Consider wrapping it with an `onNuxtReady`, `onBeforeMount` or `onMounted` lifecycle hook, or ensure you only call it in the browser by checking `import.meta.client`.' -export const setInterval = import.meta.client ? window.setInterval : () => { - if (import.meta.dev) { - throw createError({ - statusCode: 500, - message: intervalError - }) - } +export const setInterval = import.meta.client + ? window.setInterval + : () => { + if (import.meta.dev) { + throw createError({ + statusCode: 500, + message: intervalError + }) + } - console.error(intervalError) -} + console.error(intervalError) + } diff --git a/packages/nuxt/src/app/components/client-only.ts b/packages/nuxt/src/app/components/client-only.ts index a526347122..ec002d460d 100644 --- a/packages/nuxt/src/app/components/client-only.ts +++ b/packages/nuxt/src/app/components/client-only.ts @@ -33,7 +33,7 @@ export default defineComponent({ const cache = new WeakMap() -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export function createClientOnly<T extends ComponentOptions> (component: T) { if (cache.has(component)) { return cache.get(component) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 65a2a9ddc9..6fb9e97409 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -213,7 +213,7 @@ export default defineComponent({ } expose({ - refresh: () => fetchComponent(true), + refresh: () => fetchComponent(true) }) if (import.meta.hot) { @@ -264,7 +264,7 @@ export default defineComponent({ const { html, slots } = info let replaced = html.replaceAll('data-island-uid', `data-island-uid="${uid.value}"`) for (const slot in slots) { - replaced = replaced.replaceAll(`data-island-slot="${slot}">`, (full) => full + slots[slot]) + replaced = replaced.replaceAll(`data-island-slot="${slot}">`, full => full + slots[slot]) } teleports.push(createVNode(Teleport, { to: `uid=${uid.value};client=${id}` }, { default: () => [createStaticVNode(replaced, 1)] diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index e3ecfd29a9..7ced9e8724 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -22,29 +22,6 @@ const firstNonUndefined = <T> (...args: (T | undefined)[]) => args.find(arg => a const NuxtLinkDevKeySymbol: InjectionKey<boolean> = Symbol('nuxt-link-dev-key') -/** - * Create a NuxtLink component with given options as defaults. - * @see https://nuxt.com/docs/api/components/nuxt-link - */ -export interface NuxtLinkOptions extends - Pick<RouterLinkProps, 'activeClass' | 'exactActiveClass'>, - Pick<NuxtLinkProps, 'prefetchedClass'> { - /** - * The name of the component. - * @default "NuxtLink" - */ - componentName?: string - /** - * A default `rel` attribute value applied on external links. Defaults to `"noopener noreferrer"`. Set it to `""` to disable. - */ - externalRelAttribute?: string | null - /** - * An option to either add or remove trailing slashes in the `href`. - * If unset or not matching the valid values `append` or `remove`, it will be ignored. - */ - trailingSlash?: 'append' | 'remove' -} - /** * <NuxtLink> is a drop-in replacement for both Vue Router's <RouterLink> component and HTML's <a> tag. * @see https://nuxt.com/docs/api/components/nuxt-link @@ -88,7 +65,30 @@ export interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> { noPrefetch?: boolean } - /*@__NO_SIDE_EFFECTS__*/ +/** + * Create a NuxtLink component with given options as defaults. + * @see https://nuxt.com/docs/api/components/nuxt-link + */ +export interface NuxtLinkOptions extends + Pick<RouterLinkProps, 'activeClass' | 'exactActiveClass'>, + Pick<NuxtLinkProps, 'prefetchedClass'> { + /** + * The name of the component. + * @default "NuxtLink" + */ + componentName?: string + /** + * A default `rel` attribute value applied on external links. Defaults to `"noopener noreferrer"`. Set it to `""` to disable. + */ + externalRelAttribute?: string | null + /** + * An option to either add or remove trailing slashes in the `href`. + * If unset or not matching the valid values `append` or `remove`, it will be ignored. + */ + trailingSlash?: 'append' | 'remove' +} + +/* @__NO_SIDE_EFFECTS__ */ export function defineNuxtLink (options: NuxtLinkOptions) { const componentName = options.componentName || 'NuxtLink' diff --git a/packages/nuxt/src/app/components/nuxt-loading-indicator.ts b/packages/nuxt/src/app/components/nuxt-loading-indicator.ts index 1020be8164..2ccc49767c 100644 --- a/packages/nuxt/src/app/components/nuxt-loading-indicator.ts +++ b/packages/nuxt/src/app/components/nuxt-loading-indicator.ts @@ -23,13 +23,13 @@ export default defineComponent({ estimatedProgress: { type: Function as unknown as () => (duration: number, elapsed: number) => number, required: false - }, + } }, setup (props, { slots, expose }) { const { progress, isLoading, start, finish, clear } = useLoadingIndicator({ duration: props.duration, throttle: props.throttle, - estimatedProgress: props.estimatedProgress, + estimatedProgress: props.estimatedProgress }) expose({ diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts index 7fb7287c45..fd3d52002a 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts @@ -40,7 +40,7 @@ export default defineComponent({ vnodes.push(h('div', { style: 'display: contents;', 'data-island-uid': '', - 'data-island-slot': props.name, + 'data-island-slot': props.name }, { // Teleport in slot to not be hydrated client-side with the staticVNode default: () => [createVNode(Teleport, { to: `island-slot=${componentName};${props.name}` }, slots.default?.())] @@ -49,7 +49,7 @@ export default defineComponent({ vnodes.push(h('div', { style: 'display: contents;', 'data-island-uid': '', - 'data-island-slot': props.name, + 'data-island-slot': props.name })) } diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 208b3ea2c1..7028b3fadb 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -214,14 +214,16 @@ export function useAsyncData< const nuxtApp = useNuxtApp() // When prerendering, share payload data automatically between requests - const handler = import.meta.client || !import.meta.prerender || !nuxtApp.ssrContext?._sharedPrerenderCache ? _handler : () => { - const value = nuxtApp.ssrContext!._sharedPrerenderCache!.get(key) - if (value) { return value as Promise<ResT> } + const handler = import.meta.client || !import.meta.prerender || !nuxtApp.ssrContext?._sharedPrerenderCache + ? _handler + : () => { + const value = nuxtApp.ssrContext!._sharedPrerenderCache!.get(key) + if (value) { return value as Promise<ResT> } - const promise = nuxtApp.runWithContext(_handler) + const promise = nuxtApp.runWithContext(_handler) nuxtApp.ssrContext!._sharedPrerenderCache!.set(key, promise) return promise - } + } // Used to get default values const getDefault = () => null diff --git a/packages/nuxt/src/app/composables/component.ts b/packages/nuxt/src/app/composables/component.ts index e23436decf..d124c38efa 100644 --- a/packages/nuxt/src/app/composables/component.ts +++ b/packages/nuxt/src/app/composables/component.ts @@ -28,7 +28,7 @@ async function runLegacyAsyncData (res: Record<string, any> | Promise<Record<str } /** @since 3.0.0 */ -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export const defineNuxtComponent: typeof defineComponent = function defineNuxtComponent (...args: any[]): any { const [options, key] = args diff --git a/packages/nuxt/src/app/composables/cookie.ts b/packages/nuxt/src/app/composables/cookie.ts index 9c074a97fa..9293e217e8 100644 --- a/packages/nuxt/src/app/composables/cookie.ts +++ b/packages/nuxt/src/app/composables/cookie.ts @@ -92,7 +92,7 @@ export function useCookie<T = string | null | undefined> (name: string, _opts?: if (store) { store.onchange = (event) => { const cookie = event.changed.find((c: any) => c.name === name) - if (cookie) handleChange({ value: cookie.value }) + if (cookie) { handleChange({ value: cookie.value }) } } } else if (channel) { channel.onmessage = ({ data }) => handleChange(data) @@ -124,7 +124,7 @@ export function useCookie<T = string | null | undefined> (name: string, _opts?: } /** @since 3.10.0 */ export function refreshCookie (name: string) { - if (store || typeof BroadcastChannel === 'undefined') return + if (store || typeof BroadcastChannel === 'undefined') { return } new BroadcastChannel(`nuxt:cookies:${name}`)?.postMessage({ refresh: true }) } diff --git a/packages/nuxt/src/app/composables/error.ts b/packages/nuxt/src/app/composables/error.ts index 80ab8a83a0..dc4dd8e6a2 100644 --- a/packages/nuxt/src/app/composables/error.ts +++ b/packages/nuxt/src/app/composables/error.ts @@ -52,10 +52,8 @@ export const clearError = async (options: { redirect?: string } = {}) => { /** @since 3.0.0 */ export const isNuxtError = <DataT = unknown>( - error?: string | object -): error is NuxtError<DataT> => ( - !!error && typeof error === 'object' && NUXT_ERROR_SIGNATURE in error -) + error?: string | object +): error is NuxtError<DataT> => !!error && typeof error === 'object' && NUXT_ERROR_SIGNATURE in error /** @since 3.0.0 */ export const createError = <DataT = unknown>( diff --git a/packages/nuxt/src/app/composables/fetch.ts b/packages/nuxt/src/app/composables/fetch.ts index 10e4d27fae..f907e6d2ae 100644 --- a/packages/nuxt/src/app/composables/fetch.ts +++ b/packages/nuxt/src/app/composables/fetch.ts @@ -243,10 +243,10 @@ export function useLazyFetch< autoKey) } -function generateOptionSegments <_ResT, DataT, DefaultT>(opts: UseFetchOptions<_ResT, DataT, any, DefaultT, any, any>) { +function generateOptionSegments <_ResT, DataT, DefaultT> (opts: UseFetchOptions<_ResT, DataT, any, DefaultT, any, any>) { const segments: Array<string | undefined | Record<string, string>> = [ toValue(opts.method as MaybeRef<string | undefined> | undefined)?.toUpperCase() || 'GET', - toValue(opts.baseURL), + toValue(opts.baseURL) ] for (const _obj of [opts.params || opts.query]) { const obj = toValue(_obj) diff --git a/packages/nuxt/src/app/composables/preview.ts b/packages/nuxt/src/app/composables/preview.ts index af2c3f33cb..697ddaad5d 100644 --- a/packages/nuxt/src/app/composables/preview.ts +++ b/packages/nuxt/src/app/composables/preview.ts @@ -29,7 +29,7 @@ export function usePreviewMode<S extends EnteredState> (options: PreviewModeOpti if (preview.value._initialized) { return { enabled: toRef(preview.value, 'enabled'), - state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']), + state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']) } } @@ -56,7 +56,7 @@ export function usePreviewMode<S extends EnteredState> (options: PreviewModeOpti if (import.meta.client && !unregisterRefreshHook) { refreshNuxtData() - unregisterRefreshHook = useRouter().afterEach((() => refreshNuxtData())) + unregisterRefreshHook = useRouter().afterEach(() => refreshNuxtData()) } } else if (unregisterRefreshHook) { unregisterRefreshHook() @@ -67,7 +67,7 @@ export function usePreviewMode<S extends EnteredState> (options: PreviewModeOpti return { enabled: toRef(preview.value, 'enabled'), - state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']), + state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']) } } diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index 83501f96f3..a0c033d73d 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -48,7 +48,7 @@ export interface RouteMiddleware { } /** @since 3.0.0 */ -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export function defineNuxtRouteMiddleware (middleware: RouteMiddleware) { return middleware } @@ -214,8 +214,8 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na return options?.replace ? router.replace(to) : router.push(to) } -/** - * This will abort navigation within a Nuxt route middleware handler. +/** + * This will abort navigation within a Nuxt route middleware handler. * @since 3.0.0 */ export const abortNavigation = (err?: string | Partial<NuxtError>) => { diff --git a/packages/nuxt/src/app/entry.ts b/packages/nuxt/src/app/entry.ts index 72d889fb2c..e4a7fad6c5 100644 --- a/packages/nuxt/src/app/entry.ts +++ b/packages/nuxt/src/app/entry.ts @@ -61,7 +61,7 @@ if (import.meta.client) { const nuxt = createNuxtApp({ vueApp }) - async function handleVueError(error: any) { + async function handleVueError (error: any) { await nuxt.callHook('app:error', error) nuxt.payload.error = nuxt.payload.error || createError(error as any) } @@ -85,8 +85,7 @@ if (import.meta.client) { } // If the errorHandler is not overridden by the user, we unset it - if (vueApp.config.errorHandler === handleVueError) - vueApp.config.errorHandler = undefined + if (vueApp.config.errorHandler === handleVueError) { vueApp.config.errorHandler = undefined } return vueApp } diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 4ba36f4186..4071bfc8b2 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -21,7 +21,7 @@ import type { ViewTransition } from './plugins/view-transitions.client' import type { NuxtAppLiterals } from '#app' -const nuxtAppCtx = /*@__PURE__*/ getContext<NuxtApp>('nuxt-app', { +const nuxtAppCtx = /* @__PURE__ */ getContext<NuxtApp>('nuxt-app', { asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server }) @@ -406,7 +406,7 @@ export async function applyPlugins (nuxtApp: NuxtApp, plugins: Array<Plugin & Ob if (errors.length) { throw errors[0] } } -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export function defineNuxtPlugin<T extends Record<string, unknown>> (plugin: Plugin<T> | ObjectPlugin<T>): Plugin<T> & ObjectPlugin<T> { if (typeof plugin === 'function') { return plugin } @@ -415,7 +415,7 @@ export function defineNuxtPlugin<T extends Record<string, unknown>> (plugin: Plu return Object.assign(plugin.setup || (() => {}), plugin, { [NuxtPluginIndicator]: true, _name } as const) } -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export const definePayloadPlugin = defineNuxtPlugin export function isNuxtPlugin (plugin: unknown) { @@ -438,7 +438,7 @@ export function callWithNuxt<T extends (...args: any[]) => any> (nuxt: NuxtApp | } } -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ /** * Returns the current Nuxt instance. * @@ -455,7 +455,7 @@ export function tryUseNuxtApp (): NuxtApp | null { return nuxtAppInstance || null } -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ /** * Returns the current Nuxt instance. * @@ -475,7 +475,7 @@ export function useNuxtApp (): NuxtApp { return nuxtAppInstance } -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export function useRuntimeConfig (_event?: H3Event<EventHandlerRequest>): RuntimeConfig { return useNuxtApp().$config } diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index 6692277a9c..5d4f452508 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -83,7 +83,7 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran if (children.length) { const attrString = Object.entries(attributes).map(([name, value]) => name ? `${name}="${value}" ` : value).join(' ') const slice = code.slice(startingIndex + loc[0].end, startingIndex + loc[1].start).replaceAll(/:?key="[^"]"/g, '') - s.overwrite(startingIndex + loc[0].start, startingIndex + loc[1].end, `<slot ${attrString} /><template #fallback>${attributes["v-for"] ? wrapWithVForDiv(slice, attributes['v-for']) : slice}</template>`) + s.overwrite(startingIndex + loc[0].start, startingIndex + loc[1].end, `<slot ${attrString} /><template #fallback>${attributes['v-for'] ? wrapWithVForDiv(slice, attributes['v-for']) : slice}</template>`) } const slotName = attributes.name ?? 'default' diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index bcc6fb259b..7be0c98d61 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -231,20 +231,20 @@ export default defineNuxtModule<ComponentsOptions>({ if (isClient && selectiveClient) { fs.writeFileSync(join(nuxt.options.buildDir, 'components-chunk.mjs'), 'export const paths = {}') - if(!nuxt.options.dev) { + if (!nuxt.options.dev) { config.plugins.push(componentsChunkPlugin.vite({ getComponents, buildDir: nuxt.options.buildDir })) } else { - fs.writeFileSync(join(nuxt.options.buildDir, 'components-chunk.mjs'),`export const paths = ${JSON.stringify( + fs.writeFileSync(join(nuxt.options.buildDir, 'components-chunk.mjs'), `export const paths = ${JSON.stringify( getComponents().filter(c => c.mode === 'client' || c.mode === 'all').reduce((acc, c) => { - if(c.filePath.endsWith('.vue') || c.filePath.endsWith('.js') || c.filePath.endsWith('.ts')) return Object.assign(acc, {[c.pascalName]: `/@fs/${c.filePath}`}) - const filePath = fs.existsSync( `${c.filePath}.vue`) ? `${c.filePath}.vue` : fs.existsSync( `${c.filePath}.js`) ? `${c.filePath}.js` : `${c.filePath}.ts` - return Object.assign(acc, {[c.pascalName]: `/@fs/${filePath}`}) + if (c.filePath.endsWith('.vue') || c.filePath.endsWith('.js') || c.filePath.endsWith('.ts')) { return Object.assign(acc, { [c.pascalName]: `/@fs/${c.filePath}` }) } + const filePath = fs.existsSync(`${c.filePath}.vue`) ? `${c.filePath}.vue` : fs.existsSync(`${c.filePath}.js`) ? `${c.filePath}.js` : `${c.filePath}.ts` + return Object.assign(acc, { [c.pascalName]: `/@fs/${filePath}` }) }, {} as Record<string, string>) )}`) - } + } } if (isServer) { @@ -254,7 +254,7 @@ export default defineNuxtModule<ComponentsOptions>({ isDev: nuxt.options.dev, selectiveClient })) - } + } } if (!isServer && nuxt.options.experimental.componentIslands) { config.plugins.push({ diff --git a/packages/nuxt/src/components/runtime/client-component.ts b/packages/nuxt/src/components/runtime/client-component.ts index c7b68e6660..97558c8946 100644 --- a/packages/nuxt/src/components/runtime/client-component.ts +++ b/packages/nuxt/src/components/runtime/client-component.ts @@ -1,8 +1,8 @@ import { defineAsyncComponent, defineComponent, h } from 'vue' import type { AsyncComponentLoader } from 'vue' -import { default as ClientOnly } from '#app/components/client-only' +import ClientOnly from '#app/components/client-only' -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export const createClientPage = (loader: AsyncComponentLoader) => { const page = defineAsyncComponent(loader) diff --git a/packages/nuxt/src/components/runtime/server-component.ts b/packages/nuxt/src/components/runtime/server-component.ts index d34176b9fd..4b52e46a00 100644 --- a/packages/nuxt/src/components/runtime/server-component.ts +++ b/packages/nuxt/src/components/runtime/server-component.ts @@ -3,7 +3,7 @@ import NuxtIsland from '#app/components/nuxt-island' import { useRoute } from '#app/composables/router' import { isPrerendered } from '#app/composables/payload' -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export const createServerComponent = (name: string) => { return defineComponent({ name, @@ -32,7 +32,7 @@ export const createServerComponent = (name: string) => { }) } -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ export const createIslandPage = (name: string) => { return defineComponent({ name, diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index e2a1ee456a..114ac24338 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -227,7 +227,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { output: {}, plugins: [] }, - logLevel: logLevelMapReverse[nuxt.options.logLevel], + logLevel: logLevelMapReverse[nuxt.options.logLevel] } satisfies NitroConfig) // Resolve user-provided paths diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index a0746c0022..0ea6c659fd 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -64,11 +64,11 @@ async function initNuxt (nuxt: Nuxt) { nuxt.hook('close', () => nuxtCtx.unset()) const coreTypePackages = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema'] - const paths = Object.fromEntries(await Promise.all(coreTypePackages.map(async pkg => { + const paths = Object.fromEntries(await Promise.all(coreTypePackages.map(async (pkg) => { const path = await _resolvePath(pkg, { url: nuxt.options.modulesDir }).then(r => resolvePackageJSON(r)).catch(() => null) if (!path) { return } return [pkg, [dirname(path)]] - })).then((r) => r.filter(Boolean) as [string, [string]][])) + })).then(r => r.filter(Boolean) as [string, [string]][])) // Set nitro resolutions for types that might be obscured with shamefully-hoist=false nuxt.options.nitro.typescript = defu(nuxt.options.nitro.typescript, { diff --git a/packages/nuxt/src/core/plugins/unctx.ts b/packages/nuxt/src/core/plugins/unctx.ts index c6ef9eb054..5a0ebe782a 100644 --- a/packages/nuxt/src/core/plugins/unctx.ts +++ b/packages/nuxt/src/core/plugins/unctx.ts @@ -17,7 +17,7 @@ export const UnctxTransformPlugin = createUnplugin((options: UnctxTransformPlugi name: 'unctx:transform', enforce: 'post', transformInclude (id) { - return isVue(id, { type: ['template', 'script']}) || isJS(id) + return isVue(id, { type: ['template', 'script'] }) || isJS(id) }, transform (code) { // TODO: needed for webpack - update transform in unctx/unplugin? diff --git a/packages/nuxt/src/core/runtime/nitro/cache-driver.ts b/packages/nuxt/src/core/runtime/nitro/cache-driver.ts index dfd5d701a8..b76153a859 100644 --- a/packages/nuxt/src/core/runtime/nitro/cache-driver.ts +++ b/packages/nuxt/src/core/runtime/nitro/cache-driver.ts @@ -21,6 +21,6 @@ export default defineDriver((opts: { base: string }) => { }, async getItem (key, opts) { return await lru.getItem(key, opts) || await fs.getItem(normalizeFsKey(key), opts) - }, + } } }) diff --git a/packages/nuxt/src/core/runtime/nitro/error.ts b/packages/nuxt/src/core/runtime/nitro/error.ts index c4d0a13612..ebb7addc8f 100644 --- a/packages/nuxt/src/core/runtime/nitro/error.ts +++ b/packages/nuxt/src/core/runtime/nitro/error.ts @@ -54,13 +54,15 @@ export default <NitroErrorHandler> async function errorhandler (error: H3Error, const isRenderingError = event.path.startsWith('/__nuxt_error') || !!reqHeaders['x-nuxt-error'] // HTML response (via SSR) - const res = isRenderingError ? null : await useNitroApp().localFetch( - withQuery(joinURL(useRuntimeConfig(event).app.baseURL, '/__nuxt_error'), errorObject), - { - headers: { ...reqHeaders, 'x-nuxt-error': 'true' }, - redirect: 'manual' - } - ).catch(() => null) + const res = isRenderingError + ? null + : await useNitroApp().localFetch( + withQuery(joinURL(useRuntimeConfig(event).app.baseURL, '/__nuxt_error'), errorObject), + { + headers: { ...reqHeaders, 'x-nuxt-error': 'true' }, + redirect: 'manual' + } + ).catch(() => null) // Fallback to static rendered error page if (!res) { diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index e1fabfb458..128a302423 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -53,6 +53,18 @@ export interface NuxtRenderHTMLContext { bodyAppend: string[] } +export interface NuxtIslandSlotResponse { + props: Array<unknown> + fallback?: string +} + +export interface NuxtIslandClientResponse { + html: string + props: unknown + chunk: string + slots?: Record<string, string> +} + export interface NuxtIslandContext { id?: string name: string @@ -62,17 +74,6 @@ export interface NuxtIslandContext { components: Record<string, Omit<NuxtIslandClientResponse, 'html'>> } -export interface NuxtIslandSlotResponse { - props: Array<unknown> - fallback?: string -} -export interface NuxtIslandClientResponse { - html: string - props: unknown - chunk: string - slots?: Record<string, string> -} - export interface NuxtIslandResponse { id?: string html: string @@ -186,20 +187,22 @@ const islandCache = import.meta.prerender ? useStorage('internal:nuxt:prerender: const islandPropCache = import.meta.prerender ? useStorage('internal:nuxt:prerender:island-props') : null const sharedPrerenderPromises = import.meta.prerender && process.env.NUXT_SHARED_DATA ? new Map<string, Promise<any>>() : null const sharedPrerenderKeys = new Set<string>() -const sharedPrerenderCache = import.meta.prerender && process.env.NUXT_SHARED_DATA ? { - get <T = unknown>(key: string): Promise<T> | undefined { - if (sharedPrerenderKeys.has(key)) { - return sharedPrerenderPromises!.get(key) ?? useStorage('internal:nuxt:prerender:shared').getItem(key) as Promise<T> +const sharedPrerenderCache = import.meta.prerender && process.env.NUXT_SHARED_DATA + ? { + get<T = unknown> (key: string): Promise<T> | undefined { + if (sharedPrerenderKeys.has(key)) { + return sharedPrerenderPromises!.get(key) ?? useStorage('internal:nuxt:prerender:shared').getItem(key) as Promise<T> + } + }, + async set<T> (key: string, value: Promise<T>): Promise<void> { + sharedPrerenderKeys.add(key) + sharedPrerenderPromises!.set(key, value) + useStorage('internal:nuxt:prerender:shared').setItem(key, await value as any) + // free up memory after the promise is resolved + .finally(() => sharedPrerenderPromises!.delete(key)) + } } - }, - async set <T>(key: string, value: Promise<T>): Promise<void> { - sharedPrerenderKeys.add(key) - sharedPrerenderPromises!.set(key, value) - useStorage('internal:nuxt:prerender:shared').setItem(key, await value as any) - // free up memory after the promise is resolved - .finally(() => sharedPrerenderPromises!.delete(key)) - }, -} : null + : null async function getIslandContext (event: H3Event): Promise<NuxtIslandContext> { // TODO: Strict validation for url @@ -221,7 +224,7 @@ async function getIslandContext (event: H3Event): Promise<NuxtIslandContext> { name: componentName, props: destr(context.props) || {}, slots: {}, - components: {}, + components: {} } return ctx @@ -302,8 +305,8 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse payload: (ssrError ? { error: ssrError } : {}) as NuxtPayload, _payloadReducers: {}, modules: new Set(), - set _registeredComponents(value) { this.modules = value }, - get _registeredComponents() { return this.modules }, + set _registeredComponents (value) { this.modules = value }, + get _registeredComponents () { return this.modules }, islandContext } @@ -327,7 +330,6 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse writeEarlyHints(event, link) } - if (process.env.NUXT_INLINE_STYLES && !isRenderingIsland) { for (const id of await getEntryIds()) { ssrContext.modules!.add(id) @@ -537,16 +539,16 @@ function joinTags (tags: string[]) { } function joinAttrs (chunks: string[]) { - if (chunks.length === 0) return '' + if (chunks.length === 0) { return '' } return ' ' + chunks.join(' ') } function renderHTMLDocument (html: NuxtRenderHTMLContext) { - return '<!DOCTYPE html>' - + `<html${joinAttrs(html.htmlAttrs)}>` - + `<head>${joinTags(html.head)}</head>` - + `<body${joinAttrs(html.bodyAttrs)}>${joinTags(html.bodyPrepend)}${joinTags(html.body)}${joinTags(html.bodyAppend)}</body>` - + '</html>' + return '<!DOCTYPE html>' + + `<html${joinAttrs(html.htmlAttrs)}>` + + `<head>${joinTags(html.head)}</head>` + + `<body${joinAttrs(html.bodyAttrs)}>${joinTags(html.bodyPrepend)}${joinTags(html.body)}${joinTags(html.bodyAppend)}</body>` + + '</html>' } async function renderInlineStyles (usedModules: Set<string> | string[]): Promise<Style[]> { @@ -639,7 +641,7 @@ function getSlotIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse[ for (const slot in ssrContext.islandContext.slots) { response[slot] = { ...ssrContext.islandContext.slots[slot], - fallback: ssrContext.teleports?.[`island-fallback=${slot}`], + fallback: ssrContext.teleports?.[`island-fallback=${slot}`] } } return response diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index c43964e363..bbf9c0e7c5 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -48,7 +48,7 @@ export const errorComponentTemplate: NuxtTemplate = { // TODO: Use an alias export const testComponentWrapperTemplate: NuxtTemplate = { filename: 'test-component-wrapper.mjs', - getContents: (ctx) => genExport(resolve(ctx.nuxt.options.appDir, 'components/test-component-wrapper'), ['default']) + getContents: ctx => genExport(resolve(ctx.nuxt.options.appDir, 'components/test-component-wrapper'), ['default']) } export const cssTemplate: NuxtTemplate = { diff --git a/packages/nuxt/src/head/runtime/components.ts b/packages/nuxt/src/head/runtime/components.ts index 3969a082a6..f2bbfe2261 100644 --- a/packages/nuxt/src/head/runtime/components.ts +++ b/packages/nuxt/src/head/runtime/components.ts @@ -17,7 +17,7 @@ const removeUndefinedProps = (props: Props) => { for (const key in props) { const value = props[key] if (value !== undefined) { - filteredProps[key] = value; + filteredProps[key] = value } } return filteredProps diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index d62b732b7a..f48a61f1f6 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -354,14 +354,14 @@ export default defineNuxtModule({ if (nuxt.options.experimental.appManifest) { // Add all redirect paths as valid routes to router; we will handle these in a client-side middleware // when the app manifest is enabled. - nuxt.hook('pages:extend', routes => { + nuxt.hook('pages:extend', (routes) => { const nitro = useNitro() for (const path in nitro.options.routeRules) { const rule = nitro.options.routeRules[path] if (!rule.redirect) { continue } routes.push({ path: path.replace(/\/[^/]*\*\*/, '/:pathMatch(.*)'), - file: resolve(runtimeDir, 'component-stub'), + file: resolve(runtimeDir, 'component-stub') }) } }) @@ -400,7 +400,7 @@ export default defineNuxtModule({ const sourceFiles = nuxt.apps.default?.pages?.length ? getSources(nuxt.apps.default.pages) : [] for (const key in manifest) { - if (manifest[key].src && Object.values(nuxt.apps).some(app => app.pages?.some(page => page.mode === 'server' && page.file === join(nuxt.options.srcDir, manifest[key].src!) ))) { + if (manifest[key].src && Object.values(nuxt.apps).some(app => app.pages?.some(page => page.mode === 'server' && page.file === join(nuxt.options.srcDir, manifest[key].src!)))) { delete manifest[key] continue } @@ -415,7 +415,7 @@ export default defineNuxtModule({ addTemplate({ filename: 'routes.mjs', getContents ({ app }) { - if (!app.pages) return 'export default []' + if (!app.pages) { return 'export default []' } const { routes, imports } = normalizeRoutes(app.pages, new Set(), nuxt.options.experimental.scanPageMeta) return [...imports, `export default ${routes}`].join('\n') } @@ -490,7 +490,6 @@ export default defineNuxtModule({ } }) - // add page meta types if enabled if (nuxt.options.experimental.viewTransition) { addTypeTemplate({ @@ -502,9 +501,9 @@ export default defineNuxtModule({ 'import type { ComputedRef, MaybeRef } from \'vue\'', `declare module ${genString(composablesFile)} {`, ' interface PageMeta {', - ` viewTransition?: boolean | 'always'`, + ' viewTransition?: boolean | \'always\'', ' }', - '}', + '}' ].join('\n') } }) diff --git a/packages/nuxt/src/pages/runtime/composables.ts b/packages/nuxt/src/pages/runtime/composables.ts index dd3603b827..d81b305512 100644 --- a/packages/nuxt/src/pages/runtime/composables.ts +++ b/packages/nuxt/src/pages/runtime/composables.ts @@ -78,6 +78,6 @@ export const definePageMeta = (meta: PageMeta): void => { * For more control, such as if you are using a custom `path` or `alias` set in the page's `definePageMeta`, you * should set `routeRules` directly within your `nuxt.config`. */ -/*@__NO_SIDE_EFFECTS__*/ +/* @__NO_SIDE_EFFECTS__ */ // eslint-disable-next-line @typescript-eslint/no-unused-vars export const defineRouteRules = (rules: NitroRouteConfig): void => {} diff --git a/packages/nuxt/src/pages/runtime/page.ts b/packages/nuxt/src/pages/runtime/page.ts index 5e3cf7758c..aafaeb8e89 100644 --- a/packages/nuxt/src/pages/runtime/page.ts +++ b/packages/nuxt/src/pages/runtime/page.ts @@ -4,9 +4,8 @@ import { RouterView } from '#vue-router' import { defu } from 'defu' import type { RouteLocationNormalized, RouteLocationNormalizedLoaded } from '#vue-router' -import { toArray } from './utils' +import { generateRouteKey, toArray, wrapInKeepAlive } from './utils' import type { RouterViewSlotProps } from './utils' -import { generateRouteKey, wrapInKeepAlive } from './utils' import { RouteProvider } from '#app/components/route-provider' import { useNuxtApp } from '#app/nuxt' import { useRouter } from '#app/composables/router' diff --git a/packages/nuxt/src/pages/runtime/plugins/check-if-page-unused.ts b/packages/nuxt/src/pages/runtime/plugins/check-if-page-unused.ts index a347ff11cb..57ae91fe6e 100644 --- a/packages/nuxt/src/pages/runtime/plugins/check-if-page-unused.ts +++ b/packages/nuxt/src/pages/runtime/plugins/check-if-page-unused.ts @@ -11,9 +11,9 @@ export default defineNuxtPlugin({ function checkIfPageUnused () { if (!error.value && !nuxtApp._isNuxtPageUsed) { console.warn( - '[nuxt] Your project has pages but the `<NuxtPage />` component has not been used.' - + ' You might be using the `<RouterView />` component instead, which will not work correctly in Nuxt.' - + ' You can set `pages: false` in `nuxt.config` if you do not wish to use the Nuxt `vue-router` integration.' + '[nuxt] Your project has pages but the `<NuxtPage />` component has not been used.' + + ' You might be using the `<RouterView />` component instead, which will not work correctly in Nuxt.' + + ' You can set `pages: false` in `nuxt.config` if you do not wish to use the Nuxt `vue-router` integration.' ) } } diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 3a33b5aa57..af3386e70e 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -84,7 +84,7 @@ export async function generateRoutesFromFiles (files: ScannedFile[], options: Ge name: '', path: '', file: file.absolutePath, - children: [], + children: [] } // Array where routes should be added, useful when adding child routes @@ -399,7 +399,7 @@ function prepareRoutes (routes: NuxtPage[], parent?: NuxtPage, names = new Set<s } function serializeRouteValue (value: any, skipSerialisation = false) { - if (skipSerialisation || value === undefined) return undefined + if (skipSerialisation || value === undefined) { return undefined } return JSON.stringify(value) } @@ -425,7 +425,7 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set<string> = name: serializeRouteValue(page.name), meta: serializeRouteValue(metaFiltered, skipMeta), alias: serializeRouteValue(toArray(page.alias), skipAlias), - redirect: serializeRouteValue(page.redirect), + redirect: serializeRouteValue(page.redirect) } for (const key of ['path', 'name', 'meta', 'alias', 'redirect'] satisfies NormalizedRouteKeys) { @@ -487,13 +487,13 @@ async function createClientPage(loader) { // skip and retain fallback if marked dynamic // set to extracted value or fallback if none extracted for (const key of ['name', 'path'] satisfies NormalizedRouteKeys) { - if (markedDynamic.has(key)) continue + if (markedDynamic.has(key)) { continue } metaRoute[key] = route[key] ?? metaRoute[key] } // set to extracted value or delete if none extracted for (const key of ['meta', 'alias', 'redirect'] satisfies NormalizedRouteKeys) { - if (markedDynamic.has(key)) continue + if (markedDynamic.has(key)) { continue } if (route[key] == null) { delete metaRoute[key] diff --git a/packages/nuxt/test/app.test.ts b/packages/nuxt/test/app.test.ts index cb9075b6c5..47bbdbc28a 100644 --- a/packages/nuxt/test/app.test.ts +++ b/packages/nuxt/test/app.test.ts @@ -87,7 +87,7 @@ describe('resolveApp', () => { 'middleware/other.ts', 'layouts/index.vue', 'layouts/default/index.vue', - 'layouts/other.vue', + 'layouts/other.vue' ]) // Middleware are not resolved in a nested manner expect(app.middleware.filter(m => m.path.startsWith('<rootDir>'))).toMatchInlineSnapshot(` diff --git a/packages/nuxt/test/devonly.test.ts b/packages/nuxt/test/devonly.test.ts index 1bb497fdc4..b49b6ec273 100644 --- a/packages/nuxt/test/devonly.test.ts +++ b/packages/nuxt/test/devonly.test.ts @@ -57,7 +57,7 @@ describe('test devonly transform ', () => { expect(result).not.toContain('LazyDevOnly') }) - it('should not remove class -> nuxt#24491', async () => { + it('should not remove class -> nuxt#24491', async () => { const source = `<template> <DevOnly> <div class="red">This is red.</div> @@ -68,7 +68,7 @@ describe('test devonly transform ', () => { </template> ` - const result = await viteTransform(source, 'some id') + const result = await viteTransform(source, 'some id') expect(result).toMatchInlineSnapshot(` "<template> diff --git a/packages/nuxt/test/islandTransform.test.ts b/packages/nuxt/test/islandTransform.test.ts index 354a09f0e6..821e1877d8 100644 --- a/packages/nuxt/test/islandTransform.test.ts +++ b/packages/nuxt/test/islandTransform.test.ts @@ -58,7 +58,7 @@ describe('islandTransform - server and island components', () => { const someData = 'some data' </script>` - , 'hello.server.vue') + , 'hello.server.vue') expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` "<template> @@ -94,7 +94,7 @@ describe('islandTransform - server and island components', () => { const someData = 'some data' </script>` - , 'hello.server.vue') + , 'hello.server.vue') expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` "<template> @@ -145,7 +145,7 @@ describe('islandTransform - server and island components', () => { const message = "Hello World"; </script> ` - , 'hello.server.vue') + , 'hello.server.vue') expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` "<template> @@ -351,7 +351,7 @@ describe('islandTransform - server and island components', () => { " `) - expect(result).toContain(`import NuxtTeleportIslandComponent from '#app/components/nuxt-teleport-island-component'`) + expect(result).toContain('import NuxtTeleportIslandComponent from \'#app/components/nuxt-teleport-island-component\'') }) }) diff --git a/packages/nuxt/test/load-nuxt.test.ts b/packages/nuxt/test/load-nuxt.test.ts index e1ce3d950a..5d5e93a036 100644 --- a/packages/nuxt/test/load-nuxt.test.ts +++ b/packages/nuxt/test/load-nuxt.test.ts @@ -14,7 +14,7 @@ describe('loadNuxt', () => { ready: true, overrides: { hooks: { - ready() { + ready () { hookRan = true } } diff --git a/packages/nuxt/test/pages.test.ts b/packages/nuxt/test/pages.test.ts index 1c77fdab76..ca36e05b32 100644 --- a/packages/nuxt/test/pages.test.ts +++ b/packages/nuxt/test/pages.test.ts @@ -11,10 +11,10 @@ describe('pages:generateRoutesFromFiles', () => { vi.mock('knitwork', async (original) => { return { ...(await original<typeof import('knitwork')>()), - 'genArrayFromRaw': (val: any) => val, - 'genSafeVariableName': (..._args: string[]) => { + genArrayFromRaw: (val: any) => val, + genSafeVariableName: (..._args: string[]) => { return 'mock' - }, + } } }) @@ -471,7 +471,7 @@ describe('pages:generateRoutesFromFiles', () => { name: 'index', path: '/' } - ], + ] }, { description: 'should use fallbacks when normalized with `overrideMeta: true`', @@ -527,7 +527,7 @@ describe('pages:generateRoutesFromFiles', () => { alias: ['sweet-home'], redirect: '/', children: [], - meta: { [DYNAMIC_META_KEY]: new Set(['meta']) }, + meta: { [DYNAMIC_META_KEY]: new Set(['meta']) } } ] }, @@ -538,7 +538,7 @@ describe('pages:generateRoutesFromFiles', () => { name: 'home', path: '/', alias: ['sweet-home'], - meta: { hello: 'world' }, + meta: { hello: 'world' } } ] }, @@ -550,10 +550,10 @@ describe('pages:generateRoutesFromFiles', () => { path: '/', alias: ['pushed-route-alias'], meta: { someMetaData: true }, - file: `${pagesDir}/route-file.vue`, + file: `${pagesDir}/route-file.vue` } ] - }, + } ] const normalizedResults: Record<string, any> = {} @@ -561,7 +561,6 @@ describe('pages:generateRoutesFromFiles', () => { for (const test of tests) { it(test.description, async () => { - let result if (test.files) { const vfs = Object.fromEntries( diff --git a/packages/nuxt/types.d.ts b/packages/nuxt/types.d.ts index 47afddd4ad..7f9075ad82 100644 --- a/packages/nuxt/types.d.ts +++ b/packages/nuxt/types.d.ts @@ -1,11 +1,11 @@ /// <reference types="nitropack" /> -export * from './dist/index' - import type { DefineNuxtConfig } from 'nuxt/config' import type { RuntimeConfig, SchemaDefinition } from 'nuxt/schema' import type { H3Event } from 'h3' import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/app/types' +export * from './dist/index' + declare global { const defineNuxtConfig: DefineNuxtConfig const defineNuxtSchema: (schema: SchemaDefinition) => SchemaDefinition diff --git a/packages/schema/src/config/app.ts b/packages/schema/src/config/app.ts index 3496e5b4d4..676415be7a 100644 --- a/packages/schema/src/config/app.ts +++ b/packages/schema/src/config/app.ts @@ -27,7 +27,7 @@ export default defineUntypedSchema({ * @see [Vue RFC#502](https://github.com/vuejs/rfcs/discussions/502) * @type {boolean} */ - propsDestructure: false, + propsDestructure: false }, /** @@ -157,7 +157,7 @@ export default defineUntypedSchema({ */ viewTransition: { $resolve: async (val, get) => val ?? await (get('experimental') as Promise<Record<string, any>>).then( - (e) => e?.viewTransition + e => e?.viewTransition ) ?? false }, diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 5c969b7066..4c2fbda9cf 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -27,7 +27,7 @@ export default defineUntypedSchema({ } return true } - }, + } }, /** * Some features of Nuxt are available on an opt-in basis, or can be disabled based on your needs. @@ -61,7 +61,7 @@ export default defineUntypedSchema({ // TODO: remove in v3.10 return val ?? await (get('experimental') as Promise<Record<string, any>>).then((e: Record<string, any>) => e?.noScripts) ?? false } - }, + } }, experimental: { /** @@ -335,6 +335,6 @@ export default defineUntypedSchema({ * ``` * @type {boolean} */ - clientNodeCompat: false, + clientNodeCompat: false } }) diff --git a/packages/schema/src/config/vite.ts b/packages/schema/src/config/vite.ts index f53fcb027a..072adf3dba 100644 --- a/packages/schema/src/config/vite.ts +++ b/packages/schema/src/config/vite.ts @@ -70,7 +70,7 @@ export default defineUntypedSchema({ exclude: { $resolve: async (val: string[] | undefined, get) => [ ...val || [], - ...(await get('build.transpile') as Array<string | RegExp | ((ctx: { isClient?: boolean; isServer?: boolean; isDev: boolean }) => string | RegExp | false)>).filter((i) => typeof i === 'string'), + ...(await get('build.transpile') as Array<string | RegExp | ((ctx: { isClient?: boolean; isServer?: boolean; isDev: boolean }) => string | RegExp | false)>).filter(i => typeof i === 'string'), 'vue-demi' ] } diff --git a/packages/schema/src/config/webpack.ts b/packages/schema/src/config/webpack.ts index 252cef5542..ab24ac603c 100644 --- a/packages/schema/src/config/webpack.ts +++ b/packages/schema/src/config/webpack.ts @@ -206,7 +206,7 @@ export default defineUntypedSchema({ embed: 'src' }, compilerOptions: { $resolve: async (val, get) => val ?? (await get('vue.compilerOptions')) }, - propsDestructure: { $resolve: async (val, get) => val ?? Boolean(await get('vue.propsDestructure')) }, + propsDestructure: { $resolve: async (val, get) => val ?? Boolean(await get('vue.propsDestructure')) } }, css: { diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index 0f9b6bec7a..144be97179 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -36,6 +36,7 @@ export interface NuxtTemplate<Options = TemplateDefaultOptions> { /** The resolved path to the source file to be template */ src?: string /** Provided compile option instead of src */ + // eslint-disable-next-line no-use-before-define getContents?: (data: { nuxt: Nuxt, app: NuxtApp, options: Options }) => string | Promise<string> /** Write to filesystem */ write?: boolean diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index 2006913a02..6f408c962a 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -20,12 +20,14 @@ import { viteNodePlugin } from './vite-node' import { createViteLogger } from './utils/logger' export async function buildClient (ctx: ViteBuildContext) { - const nodeCompat = ctx.nuxt.options.experimental.clientNodeCompat ? { - alias: env(nodeless).alias, - define: { - global: 'globalThis', - } - } : { alias: {}, define: {} } + const nodeCompat = ctx.nuxt.options.experimental.clientNodeCompat + ? { + alias: env(nodeless).alias, + define: { + global: 'globalThis' + } + } + : { alias: {}, define: {} } const clientConfig: ViteConfig = vite.mergeConfig(ctx.config, vite.mergeConfig({ configFile: false, @@ -67,7 +69,7 @@ export async function buildClient (ctx: ViteBuildContext) { ...nodeCompat.alias, ...ctx.config.resolve?.alias, '#build/plugins': resolve(ctx.nuxt.options.buildDir, 'plugins/client'), - '#internal/nitro': resolve(ctx.nuxt.options.buildDir, 'nitro.client.mjs'), + '#internal/nitro': resolve(ctx.nuxt.options.buildDir, 'nitro.client.mjs') }, dedupe: [ 'vue' diff --git a/packages/vite/src/server.ts b/packages/vite/src/server.ts index cd76fcb9f6..77f10215fa 100644 --- a/packages/vite/src/server.ts +++ b/packages/vite/src/server.ts @@ -44,11 +44,11 @@ export async function buildServer (ctx: ViteBuildContext) { 'import.meta.server': true, 'import.meta.client': false, 'import.meta.browser': false, - 'window': 'undefined', - 'document': 'undefined', - 'navigator': 'undefined', - 'location': 'undefined', - 'XMLHttpRequest': 'undefined' + window: 'undefined', + document: 'undefined', + navigator: 'undefined', + location: 'undefined', + XMLHttpRequest: 'undefined' }, optimizeDeps: { entries: ctx.nuxt.options.ssr ? [ctx.entry] : [] @@ -99,7 +99,7 @@ export async function buildServer (ctx: ViteBuildContext) { // https://github.com/vitest-dev/vitest/issues/229#issuecomment-1002685027 preTransformRequests: false, hmr: false - }, + } } satisfies vite.InlineConfig, ctx.nuxt.options.vite.$server || {})) if (!ctx.nuxt.options.dev) { diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts index 2856152561..a72fdb34ad 100644 --- a/packages/vite/src/vite.ts +++ b/packages/vite/src/vite.ts @@ -158,7 +158,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { // Trigger vite to optimize dependencies imported within a layer, just as if they were imported in final project await this.resolve(source, join(nuxt.options.srcDir, 'index.html'), { skipSelf: true }).catch(() => null) } - }, + } }) } } diff --git a/packages/webpack/src/configs/client.ts b/packages/webpack/src/configs/client.ts index 7380882d14..c78c1ab28e 100644 --- a/packages/webpack/src/configs/client.ts +++ b/packages/webpack/src/configs/client.ts @@ -22,7 +22,7 @@ export function client (ctx: WebpackConfigContext) { clientDevtool, clientPerformance, clientHMR, - clientNodeCompat, + clientNodeCompat ]) } @@ -50,21 +50,21 @@ function clientPerformance (ctx: WebpackConfigContext) { } } -function clientNodeCompat(ctx: WebpackConfigContext) { +function clientNodeCompat (ctx: WebpackConfigContext) { if (!ctx.nuxt.options.experimental.clientNodeCompat) { return } - ctx.config.plugins!.push(new webpack.DefinePlugin({ global: 'globalThis', })) + ctx.config.plugins!.push(new webpack.DefinePlugin({ global: 'globalThis' })) ctx.config.resolve = ctx.config.resolve || {} ctx.config.resolve.fallback = { ...env(nodeless).alias, - ...ctx.config.resolve.fallback, + ...ctx.config.resolve.fallback } // https://github.com/webpack/webpack/issues/13290#issuecomment-1188760779 ctx.config.plugins!.unshift(new webpack.NormalModuleReplacementPlugin(/node:/, (resource) => { - resource.request = resource.request.replace(/^node:/, ''); + resource.request = resource.request.replace(/^node:/, '') })) } diff --git a/packages/webpack/src/presets/base.ts b/packages/webpack/src/presets/base.ts index 1d35e1bbc9..50caa81b52 100644 --- a/packages/webpack/src/presets/base.ts +++ b/packages/webpack/src/presets/base.ts @@ -217,7 +217,7 @@ function getEnv (ctx: WebpackConfigContext) { const _env: Record<string, string | boolean> = { 'process.env.NODE_ENV': JSON.stringify(ctx.config.mode), __NUXT_VERSION__: JSON.stringify(ctx.nuxt._version), - __NUXT_ASYNC_CONTEXT__: ctx.options.experimental.asyncContext, + __NUXT_ASYNC_CONTEXT__: ctx.options.experimental.asyncContext, 'process.env.VUE_ENV': JSON.stringify(ctx.name), 'process.dev': ctx.options.dev, 'process.test': isTest, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd67a88eb3..7c0e364759 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,6 +67,9 @@ importers: eslint: specifier: 8.57.0 version: 8.57.0 + eslint-config-standard: + specifier: ^17.1.0 + version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0) eslint-plugin-import: specifier: 2.29.1 version: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0) @@ -4201,7 +4204,6 @@ packages: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.6.0 - dev: false /bundle-name@3.0.0: resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} @@ -5427,6 +5429,30 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + /eslint-compat-utils@0.1.2(eslint@8.57.0): + resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0): + resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: ^8.0.1 + eslint-plugin-import: ^2.25.2 + eslint-plugin-n: '^15.0.0 || ^16.0.0 ' + eslint-plugin-promise: ^6.0.0 + dependencies: + eslint: 8.57.0 + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0) + eslint-plugin-n: 16.6.2(eslint@8.57.0) + eslint-plugin-promise: 6.1.1(eslint@8.57.0) + dev: true + /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: @@ -5466,6 +5492,18 @@ packages: - supports-color dev: true + /eslint-plugin-es-x@7.5.0(eslint@8.57.0): + resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.9.1 + eslint: 8.57.0 + eslint-compat-utils: 0.1.2(eslint@8.57.0) + dev: true + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} @@ -5521,11 +5559,40 @@ packages: - supports-color dev: true + /eslint-plugin-n@16.6.2(eslint@8.57.0): + resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + builtins: 5.0.1 + eslint: 8.57.0 + eslint-plugin-es-x: 7.5.0(eslint@8.57.0) + get-tsconfig: 4.7.2 + globals: 13.24.0 + ignore: 5.3.1 + is-builtin-module: 3.2.1 + is-core-module: 2.13.1 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 7.6.0 + dev: true + /eslint-plugin-no-only-tests@3.1.0: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} dev: true + /eslint-plugin-promise@6.1.1(eslint@8.57.0): + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.57.0 + dev: true + /eslint-plugin-unicorn@51.0.1(eslint@8.57.0): resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} engines: {node: '>=16'} @@ -6168,6 +6235,13 @@ packages: dependencies: type-fest: 0.20.2 + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} diff --git a/scripts/update-changelog.ts b/scripts/update-changelog.ts index 48531531e8..f544a966cc 100644 --- a/scripts/update-changelog.ts +++ b/scripts/update-changelog.ts @@ -45,7 +45,7 @@ async function main () { .replace(/^## v.*?\n/, '') .replace(`...${releaseBranch}`, `...v${newVersion}`) .replace(/### ❤️ Contributors[\s\S]*$/, ''), - `### ❤️ Contributors`, + '### ❤️ Contributors', contributors.map(c => `- ${c.name} (@${c.username})`).join('\n') ].join('\n') diff --git a/test/basic.test.ts b/test/basic.test.ts index b9a8f55c10..dfa565aae0 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -363,7 +363,7 @@ describe('pages', () => { // don't expect any errors or warning on client-side navigation const { page: page2, consoleLogs: consoleLogs2 } = await renderPage('/') await page2.locator('#to-client-only-components').click() - await page2.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/client-only-components`) + await page2.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/client-only-components') expect(consoleLogs2.some(log => log.type === 'error' || log.type === 'warning')).toBeFalsy() await page2.close() }) @@ -485,14 +485,14 @@ describe('pages', () => { }" `) - expect(await clientInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot(`"false"`) + expect(await clientInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot('"false"') // Then go to non client only page await clientInitialPage.click('a') - await new Promise((r) => setTimeout(r, 50)) // little delay to finish transition + await new Promise(resolve => setTimeout(resolve, 50)) // little delay to finish transition // that page should be client rendered - expect(await clientInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot(`"false"`) + expect(await clientInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot('"false"') // and not contain any errors or warnings expect(errors.length).toBe(0) @@ -509,7 +509,7 @@ describe('pages', () => { }) // Now non client only page should be sever rendered - expect(await normalInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot(`"true"`) + expect(await normalInitialPage.locator('#server-rendered').textContent()).toMatchInlineSnapshot('"true"') // Go to client only page await normalInitialPage.click('a') @@ -563,7 +563,7 @@ describe('nuxt composables', () => { expect(text).toContain('baz') await page.getByText('Change cookie').click() expect(await extractCookie()).toEqual({ foo: 'bar' }) - await page.evaluate(() => document.cookie = `browser-object-default=${encodeURIComponent('{"foo":"foobar"}')}`) + await page.evaluate(() => { document.cookie = `browser-object-default=${encodeURIComponent('{"foo":"foobar"}')}` }) await page.getByText('Refresh cookie').click() text = await page.innerText('pre') expect(text).toContain('foobar') @@ -639,7 +639,7 @@ describe('rich payloads', () => { 'BigInt ref:', 'Reactive: true', 'Ref: true', - 'Recursive objects: true', + 'Recursive objects: true' ]) { expect(html).toContain(test) } @@ -731,13 +731,13 @@ describe('nuxt links', () => { await page.locator('#big-page-2').scrollIntoViewIfNeeded() expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) await page.locator('#big-page-2').click() - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/big-page-2`) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/big-page-2') expect(await page.evaluate(() => window.scrollY)).toBe(0) await page.locator('#big-page-1').scrollIntoViewIfNeeded() expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) await page.locator('#big-page-1').click() - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/big-page-1`) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/big-page-1') expect(await page.evaluate(() => window.scrollY)).toBe(0) await page.close() }, @@ -754,18 +754,18 @@ describe('nuxt links', () => { height: 1000 } }) - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/nested/foo/test`) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') await page.locator('#user-test').scrollIntoViewIfNeeded() expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) await page.locator('#user-test').click() - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/nested/foo/user-test`) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/user-test') expect(await page.evaluate(() => window.scrollY)).toBe(0) await page.locator('#test').scrollIntoViewIfNeeded() expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) await page.locator('#test').click() - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, `/nested/foo/test`) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') expect(await page.evaluate(() => window.scrollY)).toBe(0) await page.close() }, @@ -879,7 +879,7 @@ describe('navigate', () => { const res = await fetch('/navigate-some-path/', { redirect: 'manual', headers: { 'trailing-slash': 'true' } }) expect(res.headers.get('location')).toEqual('/navigate-some-path') expect(res.status).toEqual(307) - expect(await res.text()).toMatchInlineSnapshot(`"<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=/navigate-some-path"></head></html>"`) + expect(await res.text()).toMatchInlineSnapshot('"<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=/navigate-some-path"></head></html>"') }) it('should not overwrite headers', async () => { @@ -1729,9 +1729,9 @@ describe('server components/islands', () => { const text = (await page.innerText('pre')).replaceAll(/ data-island-uid="([^"]*)"/g, '').replace(/data-island-component="([^"]*)"/g, (_, content) => `data-island-component="${content.split('-')[0]}"`) if (isWebpack) { - expect(text).toMatchInlineSnapshot(`" End page <pre></pre><section id="fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><section id="no-fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><div> ServerWithClient.server.vue : <p>count: 0</p> This component should not be preloaded <div><!--[--><div>a</div><div>b</div><div>c</div><!--]--></div> This is not interactive <div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><div class="interactive-component-wrapper" style="border:solid 1px red;"> The component bellow is not a slot but declared as interactive <div class="sugar-counter" nuxt-client=""> Sugar Counter 12 x 1 = 12 <button> Inc </button></div></div></div>"`) + expect(text).toMatchInlineSnapshot('" End page <pre></pre><section id="fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><section id="no-fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><div> ServerWithClient.server.vue : <p>count: 0</p> This component should not be preloaded <div><!--[--><div>a</div><div>b</div><div>c</div><!--]--></div> This is not interactive <div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><div class="interactive-component-wrapper" style="border:solid 1px red;"> The component bellow is not a slot but declared as interactive <div class="sugar-counter" nuxt-client=""> Sugar Counter 12 x 1 = 12 <button> Inc </button></div></div></div>"') } else { - expect(text).toMatchInlineSnapshot(`" End page <pre></pre><section id="fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><section id="no-fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><div> ServerWithClient.server.vue : <p>count: 0</p> This component should not be preloaded <div><!--[--><div>a</div><div>b</div><div>c</div><!--]--></div> This is not interactive <div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><div class="interactive-component-wrapper" style="border:solid 1px red;"> The component bellow is not a slot but declared as interactive <!--[--><div style="display: contents;" data-island-component="Counter"></div><!--teleport start--><!--teleport end--><!--]--></div></div>"`) + expect(text).toMatchInlineSnapshot('" End page <pre></pre><section id="fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><section id="no-fallback"><div> This is a .server (20ms) async component that was very long ... <div id="async-server-component-count">42</div><div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><!--[--><div style="display: contents;" data-island-slot="default"><!--teleport start--><!--teleport end--></div><!--]--></div></section><div> ServerWithClient.server.vue : <p>count: 0</p> This component should not be preloaded <div><!--[--><div>a</div><div>b</div><div>c</div><!--]--></div> This is not interactive <div class="sugar-counter"> Sugar Counter 12 x 1 = 12 <button> Inc </button></div><div class="interactive-component-wrapper" style="border:solid 1px red;"> The component bellow is not a slot but declared as interactive <!--[--><div style="display: contents;" data-island-component="Counter"></div><!--teleport start--><!--teleport end--><!--]--></div></div>"') } expect(text).toContain('async component that was very long') @@ -1847,7 +1847,7 @@ describe.skipIf(isDev())('dynamic paths', () => { await startServer({ env: { NUXT_APP_BUILD_ASSETS_DIR: '/_other/', - NUXT_APP_BASE_URL: '/foo/', + NUXT_APP_BASE_URL: '/foo/' } }) @@ -1889,7 +1889,7 @@ describe.skipIf(isDev())('dynamic paths', () => { await startServer({ env: { NUXT_APP_BUILD_ASSETS_DIR: '/_other/', - NUXT_APP_BASE_URL: '/foo/', + NUXT_APP_BASE_URL: '/foo/' } }) const { headers } = await fetch('/foo/navigate-to/', { redirect: 'manual' }) @@ -2444,7 +2444,7 @@ describe('keepalive', () => { 'keepalive-in-nuxtpage-2', 'keepalive-in-nuxtpage', 'not-keepalive', - 'keepalive-in-nuxtpage-2', + 'keepalive-in-nuxtpage-2' ] for (const slug of slugs) { diff --git a/test/bundle.test.ts b/test/bundle.test.ts index cbdf86d4e1..9a26f20e1f 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot(`"105k"`) + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"105k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -32,10 +32,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(`"205k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"205k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1335k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1335k"') const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -72,10 +72,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(`"524k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"524k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"78.0k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"78.0k"') 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 a22ee55a97..64719eea3b 100644 --- a/test/fixtures/basic-types/nuxt.config.ts +++ b/test/fixtures/basic-types/nuxt.config.ts @@ -3,7 +3,7 @@ import { addTypeTemplate } from 'nuxt/kit' export default defineNuxtConfig({ experimental: { typedPages: true, - appManifest: true, + appManifest: true }, future: { typescriptBundlerResolution: process.env.MODULE_RESOLUTION === 'bundler' diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index 492df3549c..4cd0dbe9d0 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -331,7 +331,7 @@ describe('head', () => { }) it('types head for defineNuxtComponent', () => { defineNuxtComponent({ - head(nuxtApp) { + head (nuxtApp) { expectTypeOf(nuxtApp).not.toBeAny() return { title: 'Site Title' @@ -341,9 +341,9 @@ describe('head', () => { defineNuxtComponent({ // @ts-expect-error wrong return type for head function - head() { + head () { return { - 'test': true + test: true } } }) diff --git a/test/fixtures/basic/modules/import-components/index.ts b/test/fixtures/basic/modules/import-components/index.ts index 532afe20c4..a5601c9ae2 100644 --- a/test/fixtures/basic/modules/import-components/index.ts +++ b/test/fixtures/basic/modules/import-components/index.ts @@ -10,40 +10,40 @@ export default defineNuxtModule({ addComponent({ name: 'DCompClient', filePath: resolve('./runtime/components'), - mode: 'client', + mode: 'client' }) addComponent({ name: 'DCompServer', filePath: resolve('./runtime/components'), - mode: 'server', + mode: 'server' }) addComponent({ name: 'DCompAll', filePath: resolve('./runtime/components'), - mode: 'all', + mode: 'all' }) addComponent({ name: 'NCompClient', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'client', + mode: 'client' }) addComponent({ name: 'NCompServer', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'server', + mode: 'server' }) addComponent({ name: 'NCompAll', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'all', + mode: 'all' }) - }, + } }) diff --git a/test/fixtures/basic/modules/import-components/runtime/components.ts b/test/fixtures/basic/modules/import-components/runtime/components.ts index 96f456c19f..ee3c525f7e 100644 --- a/test/fixtures/basic/modules/import-components/runtime/components.ts +++ b/test/fixtures/basic/modules/import-components/runtime/components.ts @@ -3,11 +3,11 @@ import { defineComponent, h } from 'vue' export default defineComponent({ name: 'DComp', props: { message: String }, - render: (props: any) => h('h1', props.message), + render: (props: any) => h('h1', props.message) }) export const NComp = defineComponent({ name: 'NComp', props: { message: String }, - render: (props: any) => h('h1', props.message), + render: (props: any) => h('h1', props.message) }) diff --git a/test/fixtures/basic/modules/lazy-import-components/index.ts b/test/fixtures/basic/modules/lazy-import-components/index.ts index df24bac101..f6bb471b64 100644 --- a/test/fixtures/basic/modules/lazy-import-components/index.ts +++ b/test/fixtures/basic/modules/lazy-import-components/index.ts @@ -11,21 +11,21 @@ export default defineNuxtModule({ name: 'NCompClient', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'client', + mode: 'client' }) addComponent({ name: 'NCompServer', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'server', + mode: 'server' }) addComponent({ name: 'NCompAll', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'all', + mode: 'all' }) - }, + } }) diff --git a/test/fixtures/basic/modules/lazy-import-components/runtime/components.ts b/test/fixtures/basic/modules/lazy-import-components/runtime/components.ts index e9781e56e5..1f1938bff2 100644 --- a/test/fixtures/basic/modules/lazy-import-components/runtime/components.ts +++ b/test/fixtures/basic/modules/lazy-import-components/runtime/components.ts @@ -3,5 +3,5 @@ import { defineComponent, h } from 'vue' export const NComp = defineComponent({ name: 'NComp', props: { message: String }, - render: (props: any) => h('h1', props.message), + render: (props: any) => h('h1', props.message) }) diff --git a/test/fixtures/basic/modules/subpath/module.ts b/test/fixtures/basic/modules/subpath/module.ts index d1f975bc92..c4cf35dd6e 100644 --- a/test/fixtures/basic/modules/subpath/module.ts +++ b/test/fixtures/basic/modules/subpath/module.ts @@ -1,5 +1,5 @@ import { defineNuxtModule } from 'nuxt/kit' export default defineNuxtModule({ - meta: { name: 'subpath' }, + meta: { name: 'subpath' } }) diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index 46dd69a46c..adc14302ad 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -101,10 +101,10 @@ export default defineNuxtConfig({ addBuildPlugin(plugin) }, function (_options, nuxt) { - nuxt.hook('pages:extend', pages => { + nuxt.hook('pages:extend', (pages) => { pages.push({ path: '/manual-redirect', - redirect: '/', + redirect: '/' }) }) }, @@ -201,7 +201,7 @@ export default defineNuxtConfig({ } }, features: { - inlineStyles: id => !!id && !id.includes('assets.vue'), + inlineStyles: id => !!id && !id.includes('assets.vue') }, experimental: { typedPages: true, diff --git a/test/fixtures/basic/pages/client-only-page/index.client.vue b/test/fixtures/basic/pages/client-only-page/index.client.vue index 2cad091fab..1e91f5adc2 100644 --- a/test/fixtures/basic/pages/client-only-page/index.client.vue +++ b/test/fixtures/basic/pages/client-only-page/index.client.vue @@ -3,7 +3,7 @@ const state = useState('test', () => { let hasAccessToWindow = null as null | boolean try { - hasAccessToWindow = Object.keys(window).at(0) ? true : false + hasAccessToWindow = !!Object.keys(window).at(0) } catch { hasAccessToWindow = null } diff --git a/test/fixtures/basic/pages/inline-only-css.vue b/test/fixtures/basic/pages/inline-only-css.vue index 44f8a78700..21b4da2af9 100644 --- a/test/fixtures/basic/pages/inline-only-css.vue +++ b/test/fixtures/basic/pages/inline-only-css.vue @@ -5,4 +5,3 @@ import css from '~/assets/inline-only.css?inline' <template> <pre>{{ css }}</pre> </template> - diff --git a/test/fixtures/basic/pages/islands.vue b/test/fixtures/basic/pages/islands.vue index 1bb6483518..ab335a9d3b 100644 --- a/test/fixtures/basic/pages/islands.vue +++ b/test/fixtures/basic/pages/islands.vue @@ -20,7 +20,7 @@ const count = ref(0) name="PureComponent" :props="islandProps" /> - <div id="wrapped-client-only"> + <div id="wrapped-client-only"> <ClientOnly> <NuxtIsland name="PureComponent" diff --git a/test/fixtures/basic/pages/node-compat.vue b/test/fixtures/basic/pages/node-compat.vue index d6b5dfc28f..f6716b9c7f 100644 --- a/test/fixtures/basic/pages/node-compat.vue +++ b/test/fixtures/basic/pages/node-compat.vue @@ -3,7 +3,7 @@ import { Buffer } from 'node:buffer' import process from 'node:process' const base64 = atob(Buffer.from('Nuxt is Awesome!', 'utf8').toString('base64')) -const cwd = typeof process.cwd == 'function' && "[available]" +const cwd = typeof process.cwd === 'function' && '[available]' </script> <template> diff --git a/test/fixtures/basic/pages/use-id.vue b/test/fixtures/basic/pages/use-id.vue index 0d4fe8ca96..f5982b577b 100644 --- a/test/fixtures/basic/pages/use-id.vue +++ b/test/fixtures/basic/pages/use-id.vue @@ -12,4 +12,3 @@ const id = useId() <ComponentWithIds /> </form> </template> - diff --git a/test/fixtures/basic/server/api/error.ts b/test/fixtures/basic/server/api/error.ts index d83567557b..645178f78c 100644 --- a/test/fixtures/basic/server/api/error.ts +++ b/test/fixtures/basic/server/api/error.ts @@ -1,3 +1,3 @@ -export default defineEventHandler(async () => { +export default defineEventHandler(() => { throw createError({ statusCode: 400 }) }) diff --git a/test/hmr.test.ts b/test/hmr.test.ts index 3a282c6b82..ec3e50807a 100644 --- a/test/hmr.test.ts +++ b/test/hmr.test.ts @@ -120,21 +120,21 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) { // initial state await expectWithPolling( resolveHmrId, - 0, + 0 ) // first edit await triggerHmr() await expectWithPolling( resolveHmrId, - 1, + 1 ) // just in-case await triggerHmr() await expectWithPolling( resolveHmrId, - 2, + 2 ) // ensure no errors diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index c9f9c9198f..c08113f62f 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -42,7 +42,7 @@ registerEndpoint('/_nuxt/builds/meta/override.json', defineEventHandler(() => ({ }, prerendered: ['/specific-prerendered'] }))) -registerEndpoint('/api/test', defineEventHandler((event) => ({ +registerEndpoint('/api/test', defineEventHandler(event => ({ method: event.method, headers: Object.fromEntries(event.headers.entries()) }))) @@ -106,7 +106,7 @@ describe('composables', () => { 'navigateTo', 'abortNavigation', 'setPageLayout', - 'defineNuxtComponent', + 'defineNuxtComponent' ] const skippedComposables: string[] = [ 'addRouteMiddleware', @@ -248,7 +248,7 @@ describe('useAsyncData', () => { expect(data.value).toMatchInlineSnapshot('"default"') }) - it('should execute the promise function once when dedupe option is "defer" for multiple calls', async () => { + it('should execute the promise function once when dedupe option is "defer" for multiple calls', () => { const promiseFn = vi.fn(() => Promise.resolve('test')) useAsyncData('dedupedKey', promiseFn, { dedupe: 'defer' }) useAsyncData('dedupedKey', promiseFn, { dedupe: 'defer' }) @@ -257,7 +257,7 @@ describe('useAsyncData', () => { expect(promiseFn).toHaveBeenCalledTimes(1) }) - it('should execute the promise function multiple times when dedupe option is not specified for multiple calls', async () => { + it('should execute the promise function multiple times when dedupe option is not specified for multiple calls', () => { const promiseFn = vi.fn(() => Promise.resolve('test')) useAsyncData('dedupedKey', promiseFn) useAsyncData('dedupedKey', promiseFn) @@ -266,7 +266,7 @@ describe('useAsyncData', () => { expect(promiseFn).toHaveBeenCalledTimes(3) }) - it('should execute the promise function as per dedupe option when different dedupe options are used for multiple calls', async () => { + it('should execute the promise function as per dedupe option when different dedupe options are used for multiple calls', () => { const promiseFn = vi.fn(() => Promise.resolve('test')) useAsyncData('dedupedKey', promiseFn, { dedupe: 'defer' }) useAsyncData('dedupedKey', promiseFn) @@ -556,13 +556,13 @@ describe.skipIf(process.env.TEST_MANIFEST === 'manifest-off')('app manifests', ( describe('routing utilities: `navigateTo`', () => { it('navigateTo should disallow navigation to external URLs by default', () => { - expect(() => navigateTo('https://test.com')).toThrowErrorMatchingInlineSnapshot(`[Error: Navigating to an external URL is not allowed by default. Use \`navigateTo(url, { external: true })\`.]`) + expect(() => navigateTo('https://test.com')).toThrowErrorMatchingInlineSnapshot('[Error: Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.]') expect(() => navigateTo('https://test.com', { external: true })).not.toThrow() }) it('navigateTo should disallow navigation to data/script URLs', () => { const urls = [ ['data:alert("hi")', 'data'], - ['\0data:alert("hi")', 'data'], + ['\0data:alert("hi")', 'data'] ] for (const [url, protocol] of urls) { expect(() => navigateTo(url, { external: true })).toThrowError(`Cannot navigate to a URL with '${protocol}:' protocol.`) @@ -571,7 +571,7 @@ describe('routing utilities: `navigateTo`', () => { }) describe('routing utilities: `useRoute`', () => { - it('should show provide a mock route', async () => { + it('should show provide a mock route', () => { expect(useRoute()).toMatchObject({ fullPath: '/', hash: '', @@ -582,7 +582,7 @@ describe('routing utilities: `useRoute`', () => { params: {}, path: '/', query: {}, - redirectedFrom: undefined, + redirectedFrom: undefined }) }) }) @@ -590,7 +590,7 @@ describe('routing utilities: `useRoute`', () => { describe('routing utilities: `abortNavigation`', () => { it('should throw an error if one is provided', () => { const error = useError() - expect(() => abortNavigation({ message: 'Page not found' })).toThrowErrorMatchingInlineSnapshot(`[Error: Page not found]`) + expect(() => abortNavigation({ message: 'Page not found' })).toThrowErrorMatchingInlineSnapshot('[Error: Page not found]') expect(error.value).toBeFalsy() }) it('should block navigation if no error is provided', () => { @@ -607,7 +607,7 @@ describe('routing utilities: `setPageLayout`', () => { route.meta.layout = undefined }) - it('should not set layout directly if run within middleware', async () => { + it('should not set layout directly if run within middleware', () => { const route = useRoute() const nuxtApp = useNuxtApp() nuxtApp._processingMiddleware = true @@ -632,7 +632,7 @@ describe('useCookie', () => { it('should watch custom cookie refs', () => { const user = useCookie('userInfo', { default: () => ({ score: -1 }), - maxAge: 60 * 60, + maxAge: 60 * 60 }) const computedVal = computed(() => user.value.score) expect(computedVal.value).toBe(-1) diff --git a/test/nuxt/nuxt-island.test.ts b/test/nuxt/nuxt-island.test.ts index 7187dff6d6..0329468a8b 100644 --- a/test/nuxt/nuxt-island.test.ts +++ b/test/nuxt/nuxt-island.test.ts @@ -135,7 +135,6 @@ describe('runtime server component', () => { }) }) - describe('client components', () => { it('expect swapping nuxt-client should not trigger errors #25289', async () => { const mockPath = '/nuxt-client.js' @@ -198,7 +197,7 @@ describe('client components', () => { // @ts-expect-error mock vi.mocked(fetch).mockImplementation(() => ({ id: '123', - html: `<div data-island-uid>hello<div><div>fallback</div></div></div>`, + html: '<div data-island-uid>hello<div><div>fallback</div></div></div>', state: {}, head: { link: [], @@ -267,7 +266,7 @@ describe('client components', () => { default: { name: 'ClientWithSlot', setup (_, { slots }) { - return () => h('div', { class: "client-component" }, slots.default()) + return () => h('div', { class: 'client-component' }, slots.default()) } } })) @@ -300,7 +299,7 @@ describe('client components', () => { vi.stubGlobal('fetch', stubFetch) const wrapper = await mountSuspended(NuxtIsland, { props: { - name: 'NuxtClientWithSlot', + name: 'NuxtClientWithSlot' }, attachTo: 'body' }) diff --git a/test/nuxt/plugin.test.ts b/test/nuxt/plugin.test.ts index 3426da520c..f30b284a9c 100644 --- a/test/nuxt/plugin.test.ts +++ b/test/nuxt/plugin.test.ts @@ -206,7 +206,7 @@ describe('plugin dependsOn', () => { pluginFactory('A', ['B'], sequence), pluginFactory('B', ['C'], sequence), pluginFactory('C', ['D'], sequence), - pluginFactory('D', [], sequence), + pluginFactory('D', [], sequence) ] await applyPlugins(nuxtApp, plugins) @@ -251,7 +251,7 @@ describe('plugin dependsOn', () => { const plugins = [ pluginFactory('A', undefined, sequence, false), pluginFactory('B', ['A', 'C'], sequence, false), - pluginFactory('C', undefined, sequence, false), + pluginFactory('C', undefined, sequence, false) ] await applyPlugins(nuxtApp, plugins) @@ -261,7 +261,7 @@ describe('plugin dependsOn', () => { 'start C', 'end C', 'start B', - 'end B', + 'end B' ]) }) @@ -269,8 +269,8 @@ describe('plugin dependsOn', () => { const nuxtApp = useNuxtApp() const sequence: string[] = [] const plugins = [ - pluginFactory('B', undefined, sequence,), - pluginFactory('C', ['A', 'B'], sequence,), + pluginFactory('B', undefined, sequence), + pluginFactory('C', ['A', 'B'], sequence) ] await applyPlugins(nuxtApp, plugins) @@ -278,7 +278,7 @@ describe('plugin dependsOn', () => { 'start B', 'end B', 'start C', - 'end C', + 'end C' ]) }) }) From 264bf98339db8530989dd1ce54339410c18e691d Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 9 Mar 2024 06:56:21 +0000 Subject: [PATCH 224/470] fix(nuxt): clone paths to prevent shared object --- packages/nuxt/src/core/nuxt.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 0ea6c659fd..1706349cb4 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -72,7 +72,7 @@ async function initNuxt (nuxt: Nuxt) { // Set nitro resolutions for types that might be obscured with shamefully-hoist=false nuxt.options.nitro.typescript = defu(nuxt.options.nitro.typescript, { - tsConfig: { compilerOptions: { paths } } + tsConfig: { compilerOptions: { paths: { ...paths } } } }) // Add nuxt types @@ -88,7 +88,7 @@ async function initNuxt (nuxt: Nuxt) { opts.references.push({ path: resolve(nuxt.options.buildDir, 'types/app.config.d.ts') }) // Set Nuxt resolutions for types that might be obscured with shamefully-hoist=false - opts.tsConfig.compilerOptions = defu(opts.tsConfig.compilerOptions, { paths }) + opts.tsConfig.compilerOptions = defu(opts.tsConfig.compilerOptions, { paths: { ...paths } }) for (const layer of nuxt.options._layers) { const declaration = join(layer.cwd, 'index.d.ts') From 91ee43f90a7bcdf3cfd5d7eec14ea173b922e3a5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Mar 2024 08:57:54 +0100 Subject: [PATCH 225/470] chore(deps): update all non-major dependencies to ^1.8.12 (main) (#26159) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/nuxt/package.json | 6 ++-- packages/schema/package.json | 2 +- pnpm-lock.yaml | 62 ++++++++++++++++++------------------ 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 1dfd3c5a6c..9742d23fd8 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.8.11", - "@unhead/ssr": "^1.8.11", - "@unhead/vue": "^1.8.11", + "@unhead/dom": "^1.8.12", + "@unhead/ssr": "^1.8.12", + "@unhead/vue": "^1.8.12", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 399d2182d1..a9d76cd351 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.8.11", + "@unhead/schema": "1.8.12", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7c0e364759..ae87ecb451 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -270,14 +270,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.11.24 '@unhead/dom': - specifier: ^1.8.11 - version: 1.8.11 + specifier: ^1.8.12 + version: 1.8.12 '@unhead/ssr': - specifier: ^1.8.11 - version: 1.8.11 + specifier: ^1.8.12 + version: 1.8.12 '@unhead/vue': - specifier: ^1.8.11 - version: 1.8.11(vue@3.4.21) + specifier: ^1.8.12 + version: 1.8.12(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -488,8 +488,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.8.11 - version: 1.8.11 + specifier: 1.8.12 + version: 1.8.12 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.1.5)(vue@3.4.21) @@ -3261,41 +3261,41 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.8.11: - resolution: {integrity: sha512-B5Bae4Y+6/2oDlfNJwEuf1kApyM4pmZ01VReWcVDYAdZpkD7eZZoVZnF945MluaMb6SMvGIXejcSUXTH/BOWaQ==} + /@unhead/dom@1.8.12: + resolution: {integrity: sha512-1A94VyVX/yxBXmZR1mvxvmhhbgF72dUDcmsmoyXOiobd3Zt2rJLu19Ih8jy35CDR4oUAWzK+o6HO1vWzY4wGAQ==} dependencies: - '@unhead/schema': 1.8.11 - '@unhead/shared': 1.8.11 + '@unhead/schema': 1.8.12 + '@unhead/shared': 1.8.12 dev: false - /@unhead/schema@1.8.11: - resolution: {integrity: sha512-Aok9sZcVznJxjBRF/v2LKaeoqgYU/9kuyknYhf3M13byrdp3dLD6qcUvnLC98PrPVy7CMfOov4kXHoI/DRY5MQ==} + /@unhead/schema@1.8.12: + resolution: {integrity: sha512-sUkjvRGaAN0NCvZtB7VtyC5pUdYQAutHtmKbEK79nfPfb2Z7kFT1nysIno13ivybeq98l4Ge1o4crVuTwGHhTw==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.8.11: - resolution: {integrity: sha512-Mz3pAJUq160mPXYFNUalfyEDQ0a6eRIbMlJFQ7HNy8shM+4kbeKgInoaa2EaFF8zRrhYvuLJZhyLk5kFINSmBg==} + /@unhead/shared@1.8.12: + resolution: {integrity: sha512-3pP1cYSH22UeCvvVyAVkh7Nfo2GwWDuO/h/31I2eVl5oVvmb0vZx7Ff47RlfKDMkfN7ddKaRwkLaYAR+hNNWsQ==} dependencies: - '@unhead/schema': 1.8.11 + '@unhead/schema': 1.8.12 dev: false - /@unhead/ssr@1.8.11: - resolution: {integrity: sha512-5LI+uzcNu2FQp2IOoRQSaWWPDBQNXIuOvcZfxUDKzj0GMdqHRaugPdf44Jje7SmG7RsPhOR9DHKDtuCJ65zcaw==} + /@unhead/ssr@1.8.12: + resolution: {integrity: sha512-e1pcp5HU6QgQChxx4YrMA+Lq/fw783vKtbbbnh0XCcHhwvuw2wr55Ah27KEwm+CGKHkuAhmz75ZKBJy1GZcu2Q==} dependencies: - '@unhead/schema': 1.8.11 - '@unhead/shared': 1.8.11 + '@unhead/schema': 1.8.12 + '@unhead/shared': 1.8.12 dev: false - /@unhead/vue@1.8.11(vue@3.4.21): - resolution: {integrity: sha512-yEpQaBYQsqld3m6lexMP+Vf0+j2UdY/QIO98b7v2XBm200ruZmRvI4IJDMrI8cODVwSnwQWHDLF2upXlNeQ4Qg==} + /@unhead/vue@1.8.12(vue@3.4.21): + resolution: {integrity: sha512-26D+3SIfJwTx1PgPa+urjJ5agImucevSS5pwXMTYHQOK45ip+TTAealrRTbMmAkvaw+KK6Su9OaCzlYVJnmDOQ==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.8.11 - '@unhead/shared': 1.8.11 + '@unhead/schema': 1.8.12 + '@unhead/shared': 1.8.12 hookable: 5.5.3 - unhead: 1.8.11 + unhead: 1.8.12 vue: 3.4.21(typescript@5.4.2) dev: false @@ -10726,12 +10726,12 @@ packages: node-fetch-native: 1.6.2 pathe: 1.1.2 - /unhead@1.8.11: - resolution: {integrity: sha512-g1coK+pRv+RbeD4+hK76FV6Y++i5jY99CftKyP1ARQcLCbz0ri6+vBpWMS4d+h7x0DfWSCGm/wWkPQ1WXWHfRA==} + /unhead@1.8.12: + resolution: {integrity: sha512-O7YPZo1QtNo24Cv9cXiewB74feARf7v8fCmYWQiY3w0z/7oig1kOoGJub6y2XuusQMZpSX56/GDRmog0IZldeA==} dependencies: - '@unhead/dom': 1.8.11 - '@unhead/schema': 1.8.11 - '@unhead/shared': 1.8.11 + '@unhead/dom': 1.8.12 + '@unhead/schema': 1.8.12 + '@unhead/shared': 1.8.12 hookable: 5.5.3 dev: false From 260d468a49932840411754fe0cdfece1430ded1e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Mar 2024 09:06:16 +0100 Subject: [PATCH 226/470] chore(deps): pin devdependency eslint-config-standard to 17.1.0 (main) (#26160) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f187a88f07..f329849512 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "consola": "3.2.3", "devalue": "4.3.2", "eslint": "8.57.0", - "eslint-config-standard": "^17.1.0", + "eslint-config-standard": "17.1.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-jsdoc": "48.2.1", "eslint-plugin-no-only-tests": "3.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ae87ecb451..55374b7497 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,7 +68,7 @@ importers: specifier: 8.57.0 version: 8.57.0 eslint-config-standard: - specifier: ^17.1.0 + specifier: 17.1.0 version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0) eslint-plugin-import: specifier: 2.29.1 From 8323220f74529b84c465d535c81921e31e084b1e Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 9 Mar 2024 11:25:11 +0100 Subject: [PATCH 227/470] perf(nuxt): tree shake island renderer --- packages/nuxt/src/app/components/nuxt-root.vue | 4 +++- test/bundle.test.ts | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-root.vue b/packages/nuxt/src/app/components/nuxt-root.vue index cfbb1aaea9..9c8c91516e 100644 --- a/packages/nuxt/src/app/components/nuxt-root.vue +++ b/packages/nuxt/src/app/components/nuxt-root.vue @@ -24,8 +24,10 @@ import { useRoute, useRouter } from '../composables/router' import { PageRouteSymbol } from '../components/injections' import AppComponent from '#build/app-component.mjs' import ErrorComponent from '#build/error-component.mjs' +// @ts-expect-error virtual file +import { componentIslands } from '#build/nuxt.config.mjs' -const IslandRenderer = import.meta.server +const IslandRenderer = import.meta.server && componentIslands ? defineAsyncComponent(() => import('./island-renderer').then(r => r.default || r)) : () => null diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 9a26f20e1f..dd756d50d7 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ 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('"205k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"204k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1335k"') @@ -72,7 +72,7 @@ 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('"524k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"523k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"78.0k"') From 8bb8d824c73a7b2e4fcc4f0b870e6e036318e6a6 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Sat, 9 Mar 2024 13:38:08 +0100 Subject: [PATCH 228/470] fix(nuxt): detect component usage within `ssrRender` (#26162) --- packages/nuxt/src/components/tree-shake.ts | 2 +- packages/nuxt/test/treeshake-client.test.ts | 31 +++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/components/tree-shake.ts b/packages/nuxt/src/components/tree-shake.ts index 1bcdb4dfb2..e8b9d9d84d 100644 --- a/packages/nuxt/src/components/tree-shake.ts +++ b/packages/nuxt/src/components/tree-shake.ts @@ -197,7 +197,7 @@ function isComponentNotCalledInSetup (codeAst: Node, name: string): string | voi let found = false walk(codeAst, { enter (node) { - if ((node.type === 'Property' && node.key.type === 'Identifier' && node.value.type === 'FunctionExpression' && node.key.name === 'setup') || (node.type === 'FunctionDeclaration' && node.id?.name === '_sfc_ssrRender')) { + if ((node.type === 'Property' && node.key.type === 'Identifier' && node.value.type === 'FunctionExpression' && node.key.name === 'setup') || (node.type === 'FunctionDeclaration' && (node.id?.name === '_sfc_ssrRender' || node.id?.name === 'ssrRender'))) { // walk through the setup function node or the ssrRender function walk(node, { enter (node) { diff --git a/packages/nuxt/test/treeshake-client.test.ts b/packages/nuxt/test/treeshake-client.test.ts index ac36ba584f..e7cf75412d 100644 --- a/packages/nuxt/test/treeshake-client.test.ts +++ b/packages/nuxt/test/treeshake-client.test.ts @@ -185,4 +185,35 @@ describe('treeshake client only in ssr', () => { expect(treeshaken.replace(/data-v-[\d\w]{8}/g, 'data-v-one-hash').replace(/scoped=[\d\w]{8}/g, 'scoped=one-hash')).toMatchSnapshot() }) } + + it('should not treeshake reused component #26137', async () => { + const treeshaken = await treeshake(`import { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode } from "vue" + import { ssrRenderComponent as _ssrRenderComponent, ssrRenderAttrs as _ssrRenderAttrs } from "vue/server-renderer" + + export function ssrRender(_ctx, _push, _parent, _attrs) { + const _component_AppIcon = _resolveComponent("AppIcon") + const _component_ClientOnly = _resolveComponent("ClientOnly") + + _push(\`<div\${_ssrRenderAttrs(_attrs)}>\`) + _push(_ssrRenderComponent(_component_AppIcon, { name: "caret-left" }, null, _parent)) + _push(_ssrRenderComponent(_component_ClientOnly, null, { + default: _withCtx((_, _push, _parent, _scopeId) => { + if (_push) { + _push(\`<span\${_scopeId}>TEST</span>\`) + _push(_ssrRenderComponent(_component_AppIcon, { name: "caret-up" }, null, _parent, _scopeId)) + } else { + return [ + _createVNode("span", null, "TEST"), + _createVNode(_component_AppIcon, { name: "caret-up" }) + ] + } + }), + _: 1 /* STABLE */ + }, _parent)) + _push(\`</div>\`) + }`) + + expect(treeshaken).toContain('resolveComponent("AppIcon")') + expect(treeshaken).not.toContain('caret-up') + }) }) From f772e564c80fe526a4f63d738000d5c00f7a1135 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Mar 2024 10:23:52 -0700 Subject: [PATCH 229/470] chore(deps): update all non-major dependencies (main) (#26166) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 68 ++++++++++++++++++------------------ 5 files changed, 39 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index f329849512..5bb8752fc2 100644 --- a/package.json +++ b/package.json @@ -69,10 +69,10 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.7.0", + "happy-dom": "13.7.3", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", - "nitropack": "2.9.2", + "nitropack": "2.9.3", "nuxi": "3.10.1", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", diff --git a/packages/kit/package.json b/packages/kit/package.json index 762ff5a4de..d07ee1bad2 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -50,7 +50,7 @@ "@types/lodash-es": "4.17.12", "@types/semver": "7.5.8", "lodash-es": "4.17.21", - "nitropack": "2.9.2", + "nitropack": "2.9.3", "unbuild": "latest", "vite": "5.1.5", "vitest": "1.3.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 9742d23fd8..8c8854653e 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -89,7 +89,7 @@ "knitwork": "^1.0.0", "magic-string": "^0.30.8", "mlly": "^1.6.1", - "nitropack": "^2.9.2", + "nitropack": "^2.9.3", "nuxi": "^3.10.1", "nypm": "^0.3.8", "ofetch": "^1.3.3", diff --git a/packages/schema/package.json b/packages/schema/package.json index a9d76cd351..94ba7fa103 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -47,7 +47,7 @@ "esbuild-loader": "4.1.0", "h3": "1.11.1", "ignore": "5.3.1", - "nitropack": "2.9.2", + "nitropack": "2.9.3", "ofetch": "1.3.3", "unbuild": "latest", "unctx": "2.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 55374b7497..480baa4527 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -95,8 +95,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.7.0 - version: 13.7.0 + specifier: 13.7.3 + version: 13.7.3 jiti: specifier: 1.21.0 version: 1.21.0 @@ -104,8 +104,8 @@ importers: specifier: 0.39.0 version: 0.39.0 nitropack: - specifier: 2.9.2 - version: 2.9.2 + specifier: 2.9.3 + version: 2.9.3 nuxi: specifier: 3.10.1 version: 3.10.1 @@ -141,10 +141,10 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) + version: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -228,8 +228,8 @@ importers: specifier: 4.17.21 version: 4.17.21 nitropack: - specifier: 2.9.2 - version: 2.9.2 + specifier: 2.9.3 + version: 2.9.3 unbuild: specifier: latest version: 2.0.0(typescript@5.4.2) @@ -238,7 +238,7 @@ importers: version: 5.1.5(@types/node@20.11.25) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) + version: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) webpack: specifier: 5.90.3 version: 5.90.3 @@ -339,8 +339,8 @@ importers: specifier: ^1.6.1 version: 1.6.1 nitropack: - specifier: ^2.9.2 - version: 2.9.2 + specifier: ^2.9.3 + version: 2.9.3 nuxi: specifier: ^3.10.1 version: 3.10.1 @@ -437,7 +437,7 @@ importers: version: 5.1.5(@types/node@20.11.24) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.24)(happy-dom@13.7.0) + version: 1.3.1(@types/node@20.11.24)(happy-dom@13.7.3) packages/schema: dependencies: @@ -515,8 +515,8 @@ importers: specifier: 5.3.1 version: 5.3.1 nitropack: - specifier: 2.9.2 - version: 2.9.2 + specifier: 2.9.3 + version: 2.9.3 ofetch: specifier: 1.3.3 version: 1.3.3 @@ -874,7 +874,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.25)(happy-dom@13.7.0) + version: 1.0.2(@types/node@20.11.25)(happy-dom@13.7.3) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -1275,7 +1275,7 @@ packages: dependencies: '@codspeed/core': 3.1.0 vite: 5.1.5(@types/node@20.11.25) - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) transitivePeerDependencies: - debug dev: true @@ -2266,7 +2266,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2316,7 +2316,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.7.0 + happy-dom: 13.7.3 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2331,8 +2331,8 @@ packages: unenv: 1.9.0 unplugin: 1.9.0 vite: 5.1.5(@types/node@20.11.25) - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3363,7 +3363,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.0) + vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) transitivePeerDependencies: - supports-color dev: true @@ -6323,8 +6323,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.7.0: - resolution: {integrity: sha512-E02c+vzhvZvmyh60GjUi8zZF7HMKBe+ZD5LfIOu6AAbwkI2IU3vBh897joHaGFuQLG8/griTk0X7J/QgHV5WuQ==} + /happy-dom@13.7.3: + resolution: {integrity: sha512-xMwilTgO34BGEX0TAoM369wwwAy0fK/Jq6BGaRYhSjxLtfQ740nqxHfjFyBqPjCVmKiPUS4npBnMrGLii7eCOg==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -8127,8 +8127,8 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nitropack@2.9.2: - resolution: {integrity: sha512-0anZb+7xChw3sErT05Hc/usroBxDHD/6TwKgHIXjZioYZ7c3wKtCl1xwb/59RugyW5AdqF34u7GdmRzqPUIa5Q==} + /nitropack@2.9.3: + resolution: {integrity: sha512-k3wXlhxmTNkkFXnVyRYJ6CCdZmvlqjYJ4oaL8o9uTKIjg7A1udAle+3cVDxUWi2r9owwEysAP2+quNsAujZyTg==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -11280,10 +11280,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.0)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11300,7 +11300,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.25)(happy-dom@13.7.0): + /vitest@1.0.2(@types/node@20.11.25)(happy-dom@13.7.3): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11336,7 +11336,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.7.0 + happy-dom: 13.7.3 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11358,7 +11358,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.24)(happy-dom@13.7.0): + /vitest@1.3.1(@types/node@20.11.24)(happy-dom@13.7.3): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11393,7 +11393,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.7.0 + happy-dom: 13.7.3 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11415,7 +11415,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.25)(happy-dom@13.7.0): + /vitest@1.3.1(@types/node@20.11.25)(happy-dom@13.7.3): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11450,7 +11450,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.7.0 + happy-dom: 13.7.3 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 From 6723123a2efad4c8ba8cfba7a5b93b191c747083 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Sun, 10 Mar 2024 18:28:14 +0100 Subject: [PATCH 230/470] perf(nuxt): skip adding selective-client code if not enabled (#26176) --- .../nuxt/src/app/components/nuxt-island.ts | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 6fb9e97409..562ef25dfa 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -259,29 +259,31 @@ export default defineComponent({ ) } } - if (import.meta.server) { - for (const [id, info] of Object.entries(payloads.components ?? {})) { - const { html, slots } = info - let replaced = html.replaceAll('data-island-uid', `data-island-uid="${uid.value}"`) - for (const slot in slots) { - replaced = replaced.replaceAll(`data-island-slot="${slot}">`, full => full + slots[slot]) - } - teleports.push(createVNode(Teleport, { to: `uid=${uid.value};client=${id}` }, { - default: () => [createStaticVNode(replaced, 1)] - })) - } - } else if (selectiveClient && import.meta.client && canLoadClientComponent.value) { - for (const [id, info] of Object.entries(payloads.components ?? {})) { - const { props, slots } = info - const component = components!.get(id)! - // use different selectors for even and odd teleportKey to force trigger the teleport - const vnode = createVNode(Teleport, { to: `${isKeyOdd ? 'div' : ''}[data-island-uid='${uid.value}'][data-island-component="${id}"]` }, { - default: () => { - return [h(component, props, Object.fromEntries(Object.entries(slots || {}).map(([k, v]) => ([k, () => createStaticVNode(`<div style="display: contents" data-island-uid data-island-slot="${k}">${v}</div>`, 1) - ]))))] + if (selectiveClient) { + if (import.meta.server) { + for (const [id, info] of Object.entries(payloads.components ?? {})) { + const { html, slots } = info + let replaced = html.replaceAll('data-island-uid', `data-island-uid="${uid.value}"`) + for (const slot in slots) { + replaced = replaced.replaceAll(`data-island-slot="${slot}">`, full => full + slots[slot]) } - }) - teleports.push(vnode) + teleports.push(createVNode(Teleport, { to: `uid=${uid.value};client=${id}` }, { + default: () => [createStaticVNode(replaced, 1)] + })) + } + } else if (canLoadClientComponent.value) { + for (const [id, info] of Object.entries(payloads.components ?? {})) { + const { props, slots } = info + const component = components!.get(id)! + // use different selectors for even and odd teleportKey to force trigger the teleport + const vnode = createVNode(Teleport, { to: `${isKeyOdd ? 'div' : ''}[data-island-uid='${uid.value}'][data-island-component="${id}"]` }, { + default: () => { + return [h(component, props, Object.fromEntries(Object.entries(slots || {}).map(([k, v]) => ([k, () => createStaticVNode(`<div style="display: contents" data-island-uid data-island-slot="${k}">${v}</div>`, 1) + ]))))] + } + }) + teleports.push(vnode) + } } } } From ac54da242f47c466372017be0573777857d374a6 Mon Sep 17 00:00:00 2001 From: Alex Liu <dsa1314@gmail.com> Date: Mon, 11 Mar 2024 04:07:00 +0800 Subject: [PATCH 231/470] perf(nuxt): use faster approach to check cache exists (#26172) --- packages/nuxt/src/app/composables/asyncData.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 7028b3fadb..b2d5c2d3a3 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -243,7 +243,7 @@ export function useAsyncData< console.warn('[nuxt] `boolean` values are deprecated for the `dedupe` option of `useAsyncData` and will be removed in the future. Use \'cancel\' or \'defer\' instead.') } - const hasCachedData = () => ![null, undefined].includes(options.getCachedData!(key) as any) + const hasCachedData = () => options.getCachedData!(key) != null // Create or use a shared asyncData entity if (!nuxtApp._asyncData[key] || !options.immediate) { From 27f9c55fc2f5c7d6a21920e6bd902a7ebc728efc Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 11 Mar 2024 05:12:48 -0700 Subject: [PATCH 232/470] docs: add `app:manifest:update` hook (#26192) --- docs/3.api/6.advanced/1.hooks.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/3.api/6.advanced/1.hooks.md b/docs/3.api/6.advanced/1.hooks.md index 62da74b717..e040c14e54 100644 --- a/docs/3.api/6.advanced/1.hooks.md +++ b/docs/3.api/6.advanced/1.hooks.md @@ -22,6 +22,7 @@ Hook | Arguments | Environment | Description `app:beforeMount` | `vueApp` | Client | Called before mounting the app, called only on client side. `app:mounted` | `vueApp` | Client | Called when Vue app is initialized and mounted in browser. `app:suspense:resolve` | `appComponent` | Client | On [Suspense](https://vuejs.org/guide/built-ins/suspense.html#suspense) resolved event. +`app:manifest:update` | `{ id, timestamp }` | Client | Called when there is a newer version of your app detected. `link:prefetch` | `to` | Client | Called when a `<NuxtLink>` is observed to be prefetched. `page:start` | `pageComponent?` | Client | Called on [Suspense](https://vuejs.org/guide/built-ins/suspense.html#suspense) pending event. `page:finish` | `pageComponent?` | Client | Called on [Suspense](https://vuejs.org/guide/built-ins/suspense.html#suspense) resolved event. From 536998727a8da9d59970bc6829dd98a59b7f1df4 Mon Sep 17 00:00:00 2001 From: Alexander Lichter <github@lichter.io> Date: Mon, 11 Mar 2024 15:33:49 +0100 Subject: [PATCH 233/470] feat(nuxt): add dedicated `#teleports` element for ssr teleports (#25043) --- .../nuxt/src/core/runtime/nitro/renderer.ts | 23 ++++++++++++++----- packages/schema/src/config/app.ts | 15 ++++++++++++ test/basic.test.ts | 17 ++++++++++++++ test/bundle.test.ts | 4 ++-- test/fixtures/basic/nuxt.config.ts | 2 ++ test/fixtures/basic/pages/nuxt-teleport.vue | 8 +++++++ test/fixtures/basic/pages/teleport.vue | 8 +++++++ 7 files changed, 69 insertions(+), 8 deletions(-) create mode 100644 test/fixtures/basic/pages/nuxt-teleport.vue create mode 100644 test/fixtures/basic/pages/teleport.vue diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 128a302423..7840c36899 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -29,7 +29,7 @@ import unheadPlugins from '#internal/unhead-plugins.mjs' // eslint-disable-next-line import/no-restricted-paths import type { NuxtPayload, NuxtSSRContext } from '#app' // @ts-expect-error virtual file -import { appHead, appRootId, appRootTag } from '#internal/nuxt.config.mjs' +import { appHead, appRootId, appRootTag, appTeleportId, appTeleportTag } from '#internal/nuxt.config.mjs' // @ts-expect-error virtual file import { buildAssetsURL, publicAssetsURL } from '#paths' @@ -137,7 +137,7 @@ const getSSRRenderer = lazyCachedFunction(async () => { if (import.meta.dev && process.env.NUXT_VITE_NODE_OPTIONS) { renderer.rendererContext.updateManifest(await getClientManifest()) } - return `<${appRootTag}${appRootId ? ` id="${appRootId}"` : ''}>${html}</${appRootTag}>` + return APP_ROOT_OPEN_TAG + html + APP_ROOT_CLOSE_TAG } return renderer @@ -149,10 +149,11 @@ const getSPARenderer = lazyCachedFunction(async () => { // @ts-expect-error virtual file const spaTemplate = await import('#spa-template').then(r => r.template).catch(() => '') + .then(r => APP_ROOT_OPEN_TAG + r + APP_ROOT_CLOSE_TAG) const options = { manifest, - renderToString: () => `<${appRootTag}${appRootId ? ` id="${appRootId}"` : ''}>${spaTemplate}</${appRootTag}>`, + renderToString: () => spaTemplate, buildAssetsURL } // Create SPA renderer and cache the result for all requests @@ -230,8 +231,15 @@ async function getIslandContext (event: H3Event): Promise<NuxtIslandContext> { return ctx } +const HAS_APP_TELEPORTS = !!(appTeleportTag && appTeleportId) +const APP_TELEPORT_OPEN_TAG = HAS_APP_TELEPORTS ? `<${appTeleportTag} id="${appTeleportId}">` : '' +const APP_TELEPORT_CLOSE_TAG = HAS_APP_TELEPORTS ? `</${appTeleportTag}>` : '' + +const APP_ROOT_OPEN_TAG = `<${appRootTag}${appRootId ? ` id="${appRootId}"` : ''}>` +const APP_ROOT_CLOSE_TAG = `</${appRootTag}>` + const PAYLOAD_URL_RE = process.env.NUXT_JSON_PAYLOADS ? /\/_payload.json(\?.*)?$/ : /\/_payload.js(\?.*)?$/ -const ROOT_NODE_REGEX = new RegExp(`^<${appRootTag}${appRootId ? ` id="${appRootId}"` : ''}>([\\s\\S]*)</${appRootTag}>$`) +const ROOT_NODE_REGEX = new RegExp(`^${APP_ROOT_OPEN_TAG}([\\s\\S]*)${APP_ROOT_CLOSE_TAG}$`) const PRERENDER_NO_SSR_ROUTES = new Set(['/index.html', '/200.html', '/404.html']) @@ -459,7 +467,10 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse head: normalizeChunks([headTags, ssrContext.styles]), bodyAttrs: bodyAttrs ? [bodyAttrs] : [], bodyPrepend: normalizeChunks([bodyTagsOpen, ssrContext.teleports?.body]), - body: [process.env.NUXT_COMPONENT_ISLANDS ? replaceIslandTeleports(ssrContext, _rendered.html) : _rendered.html], + body: [ + process.env.NUXT_COMPONENT_ISLANDS ? replaceIslandTeleports(ssrContext, _rendered.html) : _rendered.html, + APP_TELEPORT_OPEN_TAG + (HAS_APP_TELEPORTS ? joinTags([ssrContext.teleports?.[`#${appTeleportId}`]]) : '') + APP_TELEPORT_CLOSE_TAG + ], bodyAppend: [bodyTags] } @@ -534,7 +545,7 @@ function normalizeChunks (chunks: (string | undefined)[]) { return chunks.filter(Boolean).map(i => i!.trim()) } -function joinTags (tags: string[]) { +function joinTags (tags: Array<string | undefined>) { return tags.join('') } diff --git a/packages/schema/src/config/app.ts b/packages/schema/src/config/app.ts index 676415be7a..8f8cfb8c1d 100644 --- a/packages/schema/src/config/app.ts +++ b/packages/schema/src/config/app.ts @@ -184,6 +184,21 @@ export default defineUntypedSchema({ */ rootTag: { $resolve: val => val || 'div' + }, + + /** + * Customize Nuxt root element tag. + */ + teleportTag: { + $resolve: val => val || 'div' + }, + + /** + * Customize Nuxt Teleport element id. + * @type {string | false} + */ + teleportId: { + $resolve: val => val === false ? false : (val || 'teleports') } }, diff --git a/test/basic.test.ts b/test/basic.test.ts index dfa565aae0..de935d2728 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -2470,6 +2470,23 @@ describe('keepalive', () => { }) }) +describe('teleports', () => { + it('should append teleports to body', async () => { + const html = await $fetch('/teleport') + + // Teleport is prepended to body, before the __nuxt div + expect(html).toContain('<div>Teleport</div><!--teleport anchor--><div id="__nuxt">') + // Teleport start and end tag are rendered as expected + expect(html).toContain('<div><!--teleport start--><!--teleport end--><h1>Normal content</h1></div>') + }) + it('should render teleports to app teleports element', async () => { + const html = await $fetch('/nuxt-teleport') + + // Teleport is appended to body, after the __nuxt div + expect(html).toContain('<div><!--teleport start--><!--teleport end--><h1>Normal content</h1></div></div></div><span id="nuxt-teleport"><div>Nuxt Teleport</div><!--teleport anchor--></span><script') + }) +}) + describe('Node.js compatibility for client-side', () => { it('should work', async () => { const { page } = await renderPage('/node-compat') diff --git a/test/bundle.test.ts b/test/bundle.test.ts index dd756d50d7..9a26f20e1f 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ 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('"204k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"205k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1335k"') @@ -72,7 +72,7 @@ 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('"523k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"524k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"78.0k"') diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index adc14302ad..d51bef276f 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -14,6 +14,8 @@ export default defineNuxtConfig({ app: { pageTransition: true, layoutTransition: true, + teleportId: 'nuxt-teleport', + teleportTag: 'span', head: { charset: 'utf-8', link: [undefined], diff --git a/test/fixtures/basic/pages/nuxt-teleport.vue b/test/fixtures/basic/pages/nuxt-teleport.vue new file mode 100644 index 0000000000..706c52bd29 --- /dev/null +++ b/test/fixtures/basic/pages/nuxt-teleport.vue @@ -0,0 +1,8 @@ +<template> + <div> + <teleport to="#nuxt-teleport"> + <div>Nuxt Teleport</div> + </teleport> + <h1>Normal content</h1> + </div> +</template> diff --git a/test/fixtures/basic/pages/teleport.vue b/test/fixtures/basic/pages/teleport.vue new file mode 100644 index 0000000000..3e08a7c8ea --- /dev/null +++ b/test/fixtures/basic/pages/teleport.vue @@ -0,0 +1,8 @@ +<template> + <div> + <teleport to="body"> + <div>Teleport</div> + </teleport> + <h1>Normal content</h1> + </div> +</template> From 06af1cd6d341cfa5f76098fa5cc2c16cb3ca442a Mon Sep 17 00:00:00 2001 From: Harlan Wilton <harlan@harlanzw.com> Date: Tue, 12 Mar 2024 01:34:10 +1100 Subject: [PATCH 234/470] fix(nuxt): improved plugin annotating warnings (#26193) --- packages/nuxt/src/core/app.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 27fd87a0c0..24aa1e4933 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -206,7 +206,12 @@ export async function annotatePlugins (nuxt: Nuxt, plugins: NuxtPlugin[]) { ...plugin }) } catch (e) { - logger.warn(`Could not resolve \`${plugin.src}\`.`) + const relativePluginSrc = relative(nuxt.options.rootDir, plugin.src) + if ((e as Error).message === 'Invalid plugin metadata') { + logger.warn(`Failed to parse static properties from plugin \`${relativePluginSrc}\`, falling back to non-optimized runtime meta. Learn more: https://nuxt.com/docs/guide/directory-structure/plugins#object-syntax-plugins`) + } else { + logger.warn(`Failed to parse static properties from plugin \`${relativePluginSrc}\`.`, e) + } _plugins.push(plugin) } } From 5d3cbff6acd2ae364f0ea45f8059c22012ff3360 Mon Sep 17 00:00:00 2001 From: Adam DeHaven <2229946+adamdehaven@users.noreply.github.com> Date: Mon, 11 Mar 2024 10:35:33 -0400 Subject: [PATCH 235/470] docs: add cache.varies docs for multi-tenant use case (#26197) --- docs/3.api/2.composables/use-request-url.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/3.api/2.composables/use-request-url.md b/docs/3.api/2.composables/use-request-url.md index a2d4a8e3c8..1ed09bb66b 100644 --- a/docs/3.api/2.composables/use-request-url.md +++ b/docs/3.api/2.composables/use-request-url.md @@ -10,6 +10,12 @@ links: `useRequestURL` is a helper function that returns an [URL object](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) working on both server-side and client-side. +::important +When utilizing [Hybrid Rendering](/docs/guide/concepts/rendering#hybrid-rendering) with cache strategies, all incoming request headers are dropped when handling the cached responses via the [Nitro caching layer](https://nitro.unjs.io/guide/cache) (meaning `useRequestURL` will return `localhost` for the `host`). + +You can define the [`cache.varies` option](https://nitro.unjs.io/guide/cache#options) to specify headers that will be considered when caching and serving the responses, such as `host` and `x-forwarded-host` for multi-tenant environments. +:: + ::code-group ```vue [pages/about.vue] From 79cdb0b88174bf02b0f38f5c3d32a9e00294b758 Mon Sep 17 00:00:00 2001 From: Alex Liu <dsa1314@gmail.com> Date: Tue, 12 Mar 2024 00:33:39 +0800 Subject: [PATCH 236/470] refactor(nuxt): simplify `request` computation (#26191) --- packages/nuxt/src/app/composables/fetch.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/nuxt/src/app/composables/fetch.ts b/packages/nuxt/src/app/composables/fetch.ts index f907e6d2ae..4403415c2f 100644 --- a/packages/nuxt/src/app/composables/fetch.ts +++ b/packages/nuxt/src/app/composables/fetch.ts @@ -94,13 +94,7 @@ export function useFetch< ) { const [opts = {}, autoKey] = typeof arg1 === 'string' ? [{}, arg1] : [arg1, arg2] - const _request = computed(() => { - let r = request - if (typeof r === 'function') { - r = r() - } - return toValue(r) - }) + const _request = computed(() => toValue(request)) const _key = opts.key || hash([autoKey, typeof _request.value === 'string' ? _request.value : '', ...generateOptionSegments(opts)]) if (!_key || typeof _key !== 'string') { From 50890166953569152be082cf1d34a2ef8b592df3 Mon Sep 17 00:00:00 2001 From: Mostafa Said <mostafasaid1994@gmail.com> Date: Mon, 11 Mar 2024 18:56:57 +0200 Subject: [PATCH 237/470] docs: add mentions on Vue School tutorials (#25997) --- .../2.directory-structure/1.modules.md | 4 ++++ docs/2.guide/3.going-further/3.modules.md | 20 +++++++++++++++++++ docs/3.api/5.kit/12.resolving.md | 4 ++++ docs/3.api/5.kit/4.autoimports.md | 4 ++++ docs/3.api/5.kit/5.components.md | 4 ++++ docs/3.api/5.kit/7.pages.md | 12 +++++++++++ docs/3.api/5.kit/9.plugins.md | 8 ++++++++ 7 files changed, 56 insertions(+) diff --git a/docs/2.guide/2.directory-structure/1.modules.md b/docs/2.guide/2.directory-structure/1.modules.md index b98df654e6..2664e5601e 100644 --- a/docs/2.guide/2.directory-structure/1.modules.md +++ b/docs/2.guide/2.directory-structure/1.modules.md @@ -56,3 +56,7 @@ 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" target="_blank"} +Watch Vue School video about Nuxt private modules. +:: diff --git a/docs/2.guide/3.going-further/3.modules.md b/docs/2.guide/3.going-further/3.modules.md index f7eae0f03f..3eb0d0d424 100644 --- a/docs/2.guide/3.going-further/3.modules.md +++ b/docs/2.guide/3.going-further/3.modules.md @@ -30,6 +30,10 @@ 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" target="_blank"} +Watch Vue School video about Nuxt module starter template. +:: + #### How to Develop While your module source code lives inside the `src` directory, in most cases, to develop a module, you need a Nuxt application. That's what the `playground` directory is about. It's a Nuxt application you can tinker with that is already configured to run with your module. @@ -255,6 +259,10 @@ 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" target="_blank"} +Watch Vue School video about altering Nuxt configuration. +:: + #### Exposing Options to Runtime Because modules aren't part of the application runtime, their options aren't either. However, in many cases, you might need access to some of these module options within your runtime code. We recommend exposing the needed config using Nuxt's [`runtimeConfig`](/docs/api/nuxt-config#runtimeconfig). @@ -288,6 +296,10 @@ 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" target="_blank"} +Watch Vue School video about passing and exposing Nuxt module options. +:: + #### Injecting Plugins With `addPlugin` Plugins are a common way for a module to add runtime logic. You can use the `addPlugin` utility to register them from your module. @@ -511,6 +523,10 @@ export default defineNuxtModule({ :read-more{to="/docs/api/advanced/hooks"} +::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/nuxt-lifecycle-hooks" target="_blank"} +Watch Vue School video about using Nuxt lifecycle hooks in modules. +:: + ::note **Module cleanup** :br @@ -733,6 +749,10 @@ 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" target="_blank"} +Watch Vue School video about Nuxt module types. +:: + ### Module Types **Official modules** are modules prefixed (scoped) with `@nuxt/` (e.g. [`@nuxt/content`](https://content.nuxtjs.org)). They are made and maintained actively by the Nuxt team. Like with the framework, contributions from the community are more than welcome to help make them better! diff --git a/docs/3.api/5.kit/12.resolving.md b/docs/3.api/5.kit/12.resolving.md index d8df4589ba..bb455d471e 100644 --- a/docs/3.api/5.kit/12.resolving.md +++ b/docs/3.api/5.kit/12.resolving.md @@ -211,6 +211,10 @@ 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" target="_blank"} +Watch Vue School video about createResolver. +:: + ### Type ```ts diff --git a/docs/3.api/5.kit/4.autoimports.md b/docs/3.api/5.kit/4.autoimports.md index 4647c4cef0..2116b92d37 100644 --- a/docs/3.api/5.kit/4.autoimports.md +++ b/docs/3.api/5.kit/4.autoimports.md @@ -18,6 +18,10 @@ 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" target="_blank"} +Watch Vue School video about Auto-imports Nuxt Kit utilities. +:: + ## `addImports` Add imports to the Nuxt application. It makes your imports available in the Nuxt application without the need to import them manually. diff --git a/docs/3.api/5.kit/5.components.md b/docs/3.api/5.kit/5.components.md index 1e5848b4c8..26e3e3d4a7 100644 --- a/docs/3.api/5.kit/5.components.md +++ b/docs/3.api/5.kit/5.components.md @@ -10,6 +10,10 @@ 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" target="_blank"} +Watch Vue School video about injecting components. +:: + ## `addComponentsDir` Register a directory to be scanned for components and imported only when used. Keep in mind, that this does not register components globally, until you specify `global: true` option. diff --git a/docs/3.api/5.kit/7.pages.md b/docs/3.api/5.kit/7.pages.md index 6323ae5392..19692ddb28 100644 --- a/docs/3.api/5.kit/7.pages.md +++ b/docs/3.api/5.kit/7.pages.md @@ -12,6 +12,10 @@ 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 3 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" target="_blank"} +Watch Vue School video about extendPages. +:: + ### Type ```ts @@ -67,6 +71,10 @@ 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" target="_blank"} +Watch Vue School video about adding route rules and route middelwares. +:: + ### Type ```ts @@ -184,6 +192,10 @@ 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" target="_blank"} +Watch Vue School video about adding route rules and route middelwares. +:: + ### Type ```ts diff --git a/docs/3.api/5.kit/9.plugins.md b/docs/3.api/5.kit/9.plugins.md index cf94c20bf0..af538cb142 100644 --- a/docs/3.api/5.kit/9.plugins.md +++ b/docs/3.api/5.kit/9.plugins.md @@ -14,6 +14,10 @@ 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" target="_blank"} +Watch Vue School video about addPlugin. +:: + ### Type ```ts @@ -110,6 +114,10 @@ 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" target="_blank"} +Watch Vue School video about addPluginTemplate. +:: + ### Type ```ts From a04b88bfcd796c786373d454f5739d0350fff952 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Tue, 12 Mar 2024 06:28:54 -0700 Subject: [PATCH 238/470] fix(nuxt): generate typed routes after pages are scanned (#26206) --- packages/nuxt/src/pages/module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index f48a61f1f6..7068817153 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -192,7 +192,7 @@ export default defineNuxtModule({ } // Regenerate types/typed-router.d.ts when adding or removing pages - nuxt.hook('builder:generateApp', async (options) => { + nuxt.hook('app:templatesGenerated', async (_app, _templates, options) => { if (!options?.filter || options.filter({ filename: 'routes.mjs' } as any)) { await context.scanPages() } From 8010b04f696c3719f13620b37aeb0f46180767cd Mon Sep 17 00:00:00 2001 From: Mehmet <hi@productdevbook.com> Date: Tue, 12 Mar 2024 20:25:28 +0300 Subject: [PATCH 239/470] fix(nuxt): only strip supported extensions when generating import types (#26218) --- packages/nuxt/src/imports/module.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/imports/module.ts b/packages/nuxt/src/imports/module.ts index 3636c5a84d..39b28dd76c 100644 --- a/packages/nuxt/src/imports/module.ts +++ b/packages/nuxt/src/imports/module.ts @@ -145,6 +145,8 @@ function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions const resolvedImportPathMap = new Map<string, string>() const r = ({ from }: Import) => resolvedImportPathMap.get(from) + const SUPPORTED_EXTENSION_RE = new RegExp(`\\.(${nuxt.options.extensions.map(i => i.replace('.', '')).join('|')})$`) + async function cacheImportPaths (imports: Import[]) { const importSource = Array.from(new Set(imports.map(i => i.from))) await Promise.all(importSource.map(async (from) => { @@ -164,7 +166,7 @@ function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions } if (existsSync(path) && !(await isDirectory(path))) { - path = path.replace(/\.[a-z]+$/, '') + path = path.replace(SUPPORTED_EXTENSION_RE, '') } if (isAbsolute(path)) { From f080c426a27462f1bcb8611560f1b9bed1cd932c Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Tue, 12 Mar 2024 17:06:46 -0700 Subject: [PATCH 240/470] fix(nuxt): init payload when using islands with `ssr: false` --- packages/nuxt/src/app/components/nuxt-island.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 562ef25dfa..76f4da12b2 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -119,6 +119,7 @@ export default defineComponent({ if (import.meta.client && nuxtApp.isHydrating) { ssrHTML.value = getFragmentHTML(instance.vnode?.el ?? null, true)?.join('') || '' const key = `${props.name}_${hashId.value}` + nuxtApp.payload.data[key] ||= {} nuxtApp.payload.data[key].html = ssrHTML.value } From 9bfd988ca6c6c40329c884a142fb9702a1bf865f Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 13 Mar 2024 07:39:35 -0700 Subject: [PATCH 241/470] feat(nuxt): enable islands if server pages/components present (#26223) --- docs/2.guide/2.directory-structure/1.pages.md | 4 ---- docs/3.api/1.components/8.nuxt-island.md | 4 ---- packages/nuxt/src/components/module.ts | 3 +++ packages/nuxt/src/core/nitro.ts | 1 - packages/nuxt/src/core/nuxt.ts | 2 +- packages/nuxt/src/core/runtime/nitro/renderer.ts | 6 +++--- packages/nuxt/src/core/templates.ts | 5 ++++- packages/nuxt/src/pages/module.ts | 4 ++++ packages/schema/src/config/experimental.ts | 7 +++++-- 9 files changed, 20 insertions(+), 16 deletions(-) diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index 851018ba3e..bef7ad02d2 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -365,10 +365,6 @@ You can define a page as [client only](/docs/guide/directory-structure/component You can define a page as [server only](/docs/guide/directory-structure/components#server-components) by giving it a `.server.vue` suffix. While you will be able to navigate to the page using client-side navigation, controlled by `vue-router`, it will be rendered with a server component automatically, meaning the code required to render the page will not be in your client-side bundle. -::note -You will also need to enable `experimental.componentIslands` in order to make this possible. -:: - ## Custom Routing As your app gets bigger and more complex, your routing might require more flexibility. For this reason, Nuxt directly exposes the router, routes and router options for customization in different ways. diff --git a/docs/3.api/1.components/8.nuxt-island.md b/docs/3.api/1.components/8.nuxt-island.md index 013cfb94c4..cd715534f2 100644 --- a/docs/3.api/1.components/8.nuxt-island.md +++ b/docs/3.api/1.components/8.nuxt-island.md @@ -12,10 +12,6 @@ When rendering an island component, the content of the island component is stati Changing the island component props triggers a refetch of the island component to re-render it again. -::read-more{to="/docs/guide/going-further/experimental-features#componentislands" icon="i-ph-star-duotone"} -This component is experimental and in order to use it you must enable the `experimental.componentIslands` option in your `nuxt.config`. -:: - ::note Global styles of your application are sent with the response. :: diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index 7be0c98d61..f38acfe253 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -176,6 +176,9 @@ export default defineNuxtModule<ComponentsOptions>({ chunkName: 'components/' + component.kebabName }) } + if (component.mode === 'server' && !nuxt.options.ssr) { + logger.warn(`Using server components with \`ssr: false\` is not supported with auto-detected component islands. If you need to use server component \`${component.pascalName}\`, set \`experimental.componentIslands\` to \`true\`.`) + } } context.components = newComponents app.components = newComponents diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 114ac24338..85e415ce79 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -217,7 +217,6 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { 'process.env.NUXT_NO_SCRIPTS': !!nuxt.options.features.noScripts && !nuxt.options.dev, 'process.env.NUXT_INLINE_STYLES': !!nuxt.options.features.inlineStyles, 'process.env.NUXT_JSON_PAYLOADS': !!nuxt.options.experimental.renderJsonPayloads, - 'process.env.NUXT_COMPONENT_ISLANDS': !!nuxt.options.experimental.componentIslands, 'process.env.NUXT_ASYNC_CONTEXT': !!nuxt.options.experimental.asyncContext, 'process.env.NUXT_SHARED_DATA': !!nuxt.options.experimental.sharedPrerenderData, 'process.dev': nuxt.options.dev, diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 1706349cb4..8cc2a95794 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -314,7 +314,7 @@ async function initNuxt (nuxt: Nuxt) { filePath: resolve(nuxt.options.appDir, 'components/nuxt-island') }) - if (!nuxt.options.ssr) { + if (!nuxt.options.ssr && nuxt.options.experimental.componentIslands !== 'auto') { nuxt.options.ssr = true nuxt.options.nitro.routeRules ||= {} nuxt.options.nitro.routeRules['/**'] = defu(nuxt.options.nitro.routeRules['/**'], { ssr: false }) diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 7840c36899..cde9312494 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -29,7 +29,7 @@ import unheadPlugins from '#internal/unhead-plugins.mjs' // eslint-disable-next-line import/no-restricted-paths import type { NuxtPayload, NuxtSSRContext } from '#app' // @ts-expect-error virtual file -import { appHead, appRootId, appRootTag, appTeleportId, appTeleportTag } from '#internal/nuxt.config.mjs' +import { appHead, appRootId, appRootTag, appTeleportId, appTeleportTag, componentIslands } from '#internal/nuxt.config.mjs' // @ts-expect-error virtual file import { buildAssetsURL, publicAssetsURL } from '#paths' @@ -263,7 +263,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse } // Check for island component rendering - const isRenderingIsland = (process.env.NUXT_COMPONENT_ISLANDS as unknown as boolean && event.path.startsWith('/__nuxt_island')) + const isRenderingIsland = (componentIslands as unknown as boolean && event.path.startsWith('/__nuxt_island')) const islandContext = isRenderingIsland ? await getIslandContext(event) : undefined if (import.meta.prerender && islandContext && event.path && await islandCache!.hasItem(event.path)) { @@ -468,7 +468,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse bodyAttrs: bodyAttrs ? [bodyAttrs] : [], bodyPrepend: normalizeChunks([bodyTagsOpen, ssrContext.teleports?.body]), body: [ - process.env.NUXT_COMPONENT_ISLANDS ? replaceIslandTeleports(ssrContext, _rendered.html) : _rendered.html, + componentIslands ? replaceIslandTeleports(ssrContext, _rendered.html) : _rendered.html, APP_TELEPORT_OPEN_TAG + (HAS_APP_TELEPORTS ? joinTags([ssrContext.teleports?.[`#${appTeleportId}`]]) : '') + APP_TELEPORT_CLOSE_TAG ], bodyAppend: [bodyTags] diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index bbf9c0e7c5..c3f7cfa49d 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -374,10 +374,13 @@ export const nuxtConfigTemplate: NuxtTemplate = { baseURL: undefined, headers: undefined } + const shouldEnableComponentIslands = ctx.nuxt.options.experimental.componentIslands && ( + ctx.nuxt.options.dev || ctx.nuxt.options.experimental.componentIslands !== 'auto' || ctx.app.pages?.some(p => p.mode === 'server') || ctx.app.components?.some(c => c.mode === 'server') + ) return [ ...Object.entries(ctx.nuxt.options.app).map(([k, v]) => `export const ${camelCase('app-' + k)} = ${JSON.stringify(v)}`), `export const renderJsonPayloads = ${!!ctx.nuxt.options.experimental.renderJsonPayloads}`, - `export const componentIslands = ${!!ctx.nuxt.options.experimental.componentIslands}`, + `export const componentIslands = ${shouldEnableComponentIslands}`, `export const payloadExtraction = ${!!ctx.nuxt.options.experimental.payloadExtraction}`, `export const cookieStore = ${!!ctx.nuxt.options.experimental.cookieStore}`, `export const appManifest = ${!!ctx.nuxt.options.experimental.appManifest}`, diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 7068817153..9eb1eefaa2 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -79,6 +79,10 @@ export default defineNuxtModule({ nuxt.hook('app:templates', async (app) => { app.pages = await resolvePagesRoutes() await nuxt.callHook('pages:extend', app.pages) + + if (!nuxt.options.ssr && app.pages.some(p => p.mode === 'server')) { + logger.warn('Using server pages with `ssr: false` is not supported with auto-detected component islands. Set `experimental.componentIslands` to `true`.') + } }) // Restart Nuxt when pages dir is added or removed diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 4c2fbda9cf..04a4748a31 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -172,7 +172,10 @@ export default defineUntypedSchema({ /** * Experimental component islands support with <NuxtIsland> and .island.vue files. - * @type {true | 'local' | 'local+remote' | Partial<{ remoteIsland: boolean, selectiveClient: boolean }> | false} + * + * By default it is set to 'auto', which means it will be enabled only when there are islands, + * server components or server pages in your app. + * @type {true | 'auto' | 'local' | 'local+remote' | Partial<{ remoteIsland: boolean, selectiveClient: boolean }> | false} */ componentIslands: { $resolve: (val) => { @@ -182,7 +185,7 @@ export default defineUntypedSchema({ if (val === 'local') { return true } - return val ?? false + return val ?? 'auto' } }, From e889a7df59fcd80174e80bb2c80b28619dd073fe Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 13 Mar 2024 15:48:29 -0700 Subject: [PATCH 242/470] docs: update link to `zhead` --- docs/3.api/2.composables/use-seo-meta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.api/2.composables/use-seo-meta.md b/docs/3.api/2.composables/use-seo-meta.md index 8c48d200f5..e28debae32 100644 --- a/docs/3.api/2.composables/use-seo-meta.md +++ b/docs/3.api/2.composables/use-seo-meta.md @@ -46,6 +46,6 @@ useSeoMeta({ ## Parameters -There are over 100 parameters. See the [full list of parameters in the source code](https://github.com/harlan-zw/zhead/blob/main/src/metaFlat.ts). +There are over 100 parameters. See the [full list of parameters in the source code](https://github.com/harlan-zw/zhead/blob/main/packages/zhead/src/metaFlat.ts#L1035). :read-more{to="/docs/getting-started/seo-meta"} From 2baaab98934704acf1d61a969b884b8ac12fda92 Mon Sep 17 00:00:00 2001 From: Anthony Aslangul <anthony.aslangul@gmail.com> Date: Wed, 13 Mar 2024 23:50:15 +0100 Subject: [PATCH 243/470] fix(nuxt): register/scan plugins with jsx/tsx extensions (#26230) --- packages/nuxt/src/core/app.ts | 4 ++-- packages/nuxt/src/core/plugins/plugin-metadata.ts | 2 +- packages/nuxt/test/plugin-metadata.test.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 24aa1e4933..67cc4d54c6 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -150,8 +150,8 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { ...(config.plugins || []), ...config.srcDir ? await resolveFiles(config.srcDir, [ - `${pluginDir}/*.{ts,js,mjs,cjs,mts,cts}`, - `${pluginDir}/*/index.*{ts,js,mjs,cjs,mts,cts}` // TODO: remove, only scan top-level plugins #18418 + `${pluginDir}/*{${nuxt.options.extensions.join(',')}}`, + `${pluginDir}/*/index{${nuxt.options.extensions.join(',')}}` // TODO: remove, only scan top-level plugins #18418 ]) : [] ].map(plugin => normalizePlugin(plugin as NuxtPlugin))) diff --git a/packages/nuxt/src/core/plugins/plugin-metadata.ts b/packages/nuxt/src/core/plugins/plugin-metadata.ts index b77678caa3..bd29f61a38 100644 --- a/packages/nuxt/src/core/plugins/plugin-metadata.ts +++ b/packages/nuxt/src/core/plugins/plugin-metadata.ts @@ -47,7 +47,7 @@ export async function extractMetadata (code: string) { if (metaCache[code]) { return metaCache[code] } - const js = await transform(code, { loader: 'ts' }) + const js = await transform(code, { loader: 'tsx' }) walk(parse(js.code, { sourceType: 'module', ecmaVersion: 'latest' diff --git a/packages/nuxt/test/plugin-metadata.test.ts b/packages/nuxt/test/plugin-metadata.test.ts index 2d12a2f403..09a88f0827 100644 --- a/packages/nuxt/test/plugin-metadata.test.ts +++ b/packages/nuxt/test/plugin-metadata.test.ts @@ -10,7 +10,7 @@ describe('plugin-metadata', () => { name: 'test', enforce: 'post', hooks: { 'app:mounted': () => {} }, - setup: () => {}, + setup: () => { return { provide: { jsx: '[JSX]' } } }, order: 1 }) @@ -19,7 +19,7 @@ describe('plugin-metadata', () => { const meta = await extractMetadata([ 'export default defineNuxtPlugin({', - ...obj.map(([key, value]) => `${key}: ${typeof value === 'function' ? value.toString() : JSON.stringify(value)},`), + ...obj.map(([key, value]) => `${key}: ${typeof value === 'function' ? value.toString().replace('"[JSX]"', '() => <span>JSX</span>') : JSON.stringify(value)},`), '})' ].join('\n')) From a9effe9c8a7a7bfa2a468f6079a3f86004dffa30 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 13 Mar 2024 15:57:04 -0700 Subject: [PATCH 244/470] feat(nuxt): allow generating metadata for nuxt components (#26204) --- docs/3.api/5.kit/5.components.md | 6 ++++++ packages/kit/src/components.ts | 1 + packages/nuxt/src/components/module.ts | 6 +++++- packages/nuxt/src/components/templates.ts | 6 ++++++ packages/schema/src/types/components.ts | 10 ++++++++++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/docs/3.api/5.kit/5.components.md b/docs/3.api/5.kit/5.components.md index 26e3e3d4a7..0740f0963a 100644 --- a/docs/3.api/5.kit/5.components.md +++ b/docs/3.api/5.kit/5.components.md @@ -41,6 +41,11 @@ interface ComponentsDir { transpile?: 'auto' | boolean } +// You can augment this interface (exported from `@nuxt/schema`) if needed +interface ComponentMeta { + [key: string]: unknown +} + interface Component { pascalName: string kebabName: string @@ -54,6 +59,7 @@ interface Component { island?: boolean mode?: 'client' | 'server' | 'all' priority?: number + meta?: ComponentMeta } ``` diff --git a/packages/kit/src/components.ts b/packages/kit/src/components.ts index 047da47f91..410f2feae4 100644 --- a/packages/kit/src/components.ts +++ b/packages/kit/src/components.ts @@ -48,6 +48,7 @@ export async function addComponent (opts: AddComponentOptions) { mode: 'all', shortPath: opts.filePath, priority: 0, + meta: {}, ...opts } diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index f38acfe253..52248d0ad1 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -5,7 +5,7 @@ import type { Component, ComponentsDir, ComponentsOptions } from 'nuxt/schema' import { distDir } from '../dirs' import { clientFallbackAutoIdPlugin } from './client-fallback-auto-id' -import { componentNamesTemplate, componentsIslandsTemplate, componentsPluginTemplate, componentsTypeTemplate } from './templates' +import { componentNamesTemplate, componentsIslandsTemplate, componentsMetadataTemplate, componentsPluginTemplate, componentsTypeTemplate } from './templates' import { scanComponents } from './scan' import { loaderPlugin } from './loader' import { TreeShakeTemplatePlugin } from './tree-shake' @@ -127,6 +127,10 @@ export default defineNuxtModule<ComponentsOptions>({ addTemplate({ filename: 'components.islands.mjs', getContents: () => 'export const islandComponents = {}' }) } + if (componentOptions.generateMetadata) { + addTemplate(componentsMetadataTemplate) + } + const unpluginServer = createTransformPlugin(nuxt, getComponents, 'server') const unpluginClient = createTransformPlugin(nuxt, getComponents, 'client') diff --git a/packages/nuxt/src/components/templates.ts b/packages/nuxt/src/components/templates.ts index 5d751a705d..8e3923c139 100644 --- a/packages/nuxt/src/components/templates.ts +++ b/packages/nuxt/src/components/templates.ts @@ -124,3 +124,9 @@ export const componentNames: string[] ` } } + +export const componentsMetadataTemplate: NuxtTemplate = { + filename: 'components.json', + write: true, + getContents: ({ app }) => JSON.stringify(app.components, null, 2) +} diff --git a/packages/schema/src/types/components.ts b/packages/schema/src/types/components.ts index 640119a941..d0a9507d04 100644 --- a/packages/schema/src/types/components.ts +++ b/packages/schema/src/types/components.ts @@ -1,3 +1,7 @@ +export interface ComponentMeta { + [key: string]: unknown +} + export interface Component { pascalName: string kebabName: string @@ -9,6 +13,7 @@ export interface Component { preload: boolean global?: boolean | 'sync' island?: boolean + meta?: ComponentMeta mode?: 'client' | 'server' | 'all' /** * This number allows configuring the behavior of overriding Nuxt components. @@ -114,6 +119,11 @@ export interface ComponentsOptions { * @default false */ global?: boolean + /** + * Whether to write metadata to the build directory with information about the components that + * are auto-registered in your app. + */ + generateMetadata?: boolean loader?: boolean transform?: { From 25617516fb8573dec6b1b455299c06c6b89eb339 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 13 Mar 2024 16:00:57 -0700 Subject: [PATCH 245/470] chore(deps): update all non-major dependencies (main) (#26189) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- package.json | 8 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 10 +- packages/schema/package.json | 4 +- packages/vite/package.json | 4 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 698 ++++++++++++------------------- test/bundle.test.ts | 2 +- 10 files changed, 289 insertions(+), 447 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c8df43468f..d700a26b80 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,7 +85,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6 + uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 with: languages: javascript queries: +security-and-quality @@ -97,7 +97,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6 + uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index cf938cdaea..91734e2214 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6 + uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 with: sarif_file: results.sarif diff --git a/package.json b/package.json index 5bb8752fc2..f6790c0057 100644 --- a/package.json +++ b/package.json @@ -37,9 +37,9 @@ "@nuxt/schema": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "rollup": "^4.12.1", + "rollup": "^4.13.0", "nuxt": "workspace:*", - "vite": "5.1.5", + "vite": "5.1.6", "vue": "3.4.21", "magic-string": "^0.30.8" }, @@ -51,7 +51,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.2", "@types/fs-extra": "11.0.4", - "@types/node": "20.11.25", + "@types/node": "20.11.27", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.3.1", "@vue/test-utils": "2.4.4", @@ -69,7 +69,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.7.3", + "happy-dom": "13.8.2", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.3", diff --git a/packages/kit/package.json b/packages/kit/package.json index d07ee1bad2..9d64458fe1 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -52,7 +52,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.3", "unbuild": "latest", - "vite": "5.1.5", + "vite": "5.1.6", "vitest": "1.3.1", "webpack": "5.90.3" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 8c8854653e..b54e8c1a21 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.8.12", - "@unhead/ssr": "^1.8.12", - "@unhead/vue": "^1.8.12", + "@unhead/dom": "^1.8.16", + "@unhead/ssr": "^1.8.16", + "@unhead/vue": "^1.8.16", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", @@ -107,7 +107,7 @@ "unctx": "^2.3.1", "unenv": "^1.9.0", "unimport": "^3.7.1", - "unplugin": "^1.9.0", + "unplugin": "^1.10.0", "unplugin-vue-router": "^0.7.0", "unstorage": "^1.10.1", "untyped": "^1.4.2", @@ -122,7 +122,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.1.5", + "vite": "5.1.6", "vitest": "1.3.1" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 94ba7fa103..8c4a41668a 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.8.12", + "@unhead/schema": "1.8.16", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", @@ -52,7 +52,7 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.1.5", + "vite": "5.1.6", "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 86a55762f2..38ddd42ec4 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -61,8 +61,8 @@ "strip-literal": "^2.0.0", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.9.0", - "vite": "^5.1.5", + "unplugin": "^1.10.0", + "vite": "^5.1.6", "vite-node": "^1.3.1", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 62f79426c8..e87dbdef9c 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -58,7 +58,7 @@ "time-fix-plugin": "^2.0.7", "ufo": "^1.4.0", "unenv": "^1.9.0", - "unplugin": "^1.9.0", + "unplugin": "^1.10.0", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 480baa4527..8f6e791b5c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,9 +9,9 @@ overrides: '@nuxt/schema': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - rollup: ^4.12.1 + rollup: ^4.13.0 nuxt: workspace:* - vite: 5.1.5 + vite: 5.1.6 vue: 3.4.21 magic-string: ^0.30.8 @@ -21,7 +21,7 @@ importers: devDependencies: '@codspeed/vitest-plugin': specifier: 3.1.0 - version: 3.1.0(vite@5.1.5)(vitest@1.3.1) + version: 3.1.0(vite@5.1.6)(vitest@1.3.1) '@nuxt/eslint-config': specifier: 0.2.0 version: 0.2.0(eslint@8.57.0) @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -41,8 +41,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.25 - version: 20.11.25 + specifier: 20.11.27 + version: 20.11.27 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -95,8 +95,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.7.3 - version: 13.7.3 + specifier: 13.8.2 + version: 13.8.2 jiti: specifier: 1.21.0 version: 1.21.0 @@ -141,10 +141,10 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -210,7 +210,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.12.1) + version: 3.7.1(rollup@4.13.0) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -234,11 +234,11 @@ importers: specifier: latest version: 2.0.0(typescript@5.4.2) vite: - specifier: 5.1.5 - version: 5.1.5(@types/node@20.11.25) + specifier: 5.1.6 + version: 5.1.6(@types/node@20.11.27) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) webpack: specifier: 5.90.3 version: 5.90.3 @@ -250,7 +250,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.0.8 - version: 1.0.8(nuxt@packages+nuxt)(rollup@4.12.1)(vite@5.1.5) + version: 1.0.8(nuxt@packages+nuxt)(rollup@4.13.0)(vite@5.1.6) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -268,16 +268,16 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.11.24 + version: 20.11.27 '@unhead/dom': - specifier: ^1.8.12 - version: 1.8.12 + specifier: ^1.8.16 + version: 1.8.16 '@unhead/ssr': - specifier: ^1.8.12 - version: 1.8.12 + specifier: ^1.8.16 + version: 1.8.16 '@unhead/vue': - specifier: ^1.8.12 - version: 1.8.12(vue@3.4.21) + specifier: ^1.8.16 + version: 1.8.16(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -391,13 +391,13 @@ importers: version: 1.9.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.12.1) + version: 3.7.1(rollup@4.13.0) unplugin: - specifier: ^1.9.0 - version: 1.9.0 + specifier: ^1.10.0 + version: 1.10.0 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.12.1)(vue-router@4.3.0)(vue@3.4.21) + version: 0.7.0(rollup@4.13.0)(vue-router@4.3.0)(vue@3.4.21) unstorage: specifier: ^1.10.1 version: 1.10.1 @@ -428,16 +428,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.4.2) vite: - specifier: 5.1.5 - version: 5.1.5(@types/node@20.11.24) + specifier: 5.1.6 + version: 5.1.6(@types/node@20.11.27) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.24)(happy-dom@13.7.3) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) packages/schema: dependencies: @@ -470,7 +470,7 @@ importers: version: 1.4.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.12.1) + version: 3.7.1(rollup@4.13.0) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -488,14 +488,14 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.8.12 - version: 1.8.12 + specifier: 1.8.16 + version: 1.8.16 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.1.5)(vue@3.4.21) + version: 3.1.0(vite@5.1.6)(vue@3.4.21) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 @@ -530,8 +530,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.1.5 - version: 5.1.5(@types/node@20.11.25) + specifier: 5.1.6 + version: 5.1.6(@types/node@20.11.27) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -558,13 +558,13 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.12.1) + version: 5.0.5(rollup@4.13.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.1.5)(vue@3.4.21) + version: 3.1.0(vite@5.1.6)(vue@3.4.21) autoprefixer: specifier: ^10.4.18 version: 10.4.18(postcss@8.4.35) @@ -627,7 +627,7 @@ importers: version: 8.4.35 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.12.1) + version: 5.12.0(rollup@4.13.0) std-env: specifier: ^3.7.0 version: 3.7.0 @@ -641,17 +641,17 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.9.0 - version: 1.9.0 + specifier: ^1.10.0 + version: 1.10.0 vite: - specifier: 5.1.5 - version: 5.1.5(@types/node@20.11.25) + specifier: 5.1.6 + version: 5.1.6(@types/node@20.11.27) vite-node: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.25) + version: 1.3.1(@types/node@20.11.27) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5)(vue-tsc@2.0.6) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -777,8 +777,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.9.0 - version: 1.9.0 + specifier: ^1.10.0 + version: 1.10.0 url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) @@ -858,7 +858,7 @@ importers: version: 1.4.0 unplugin: specifier: latest - version: 1.8.0 + version: 1.10.0 vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -874,7 +874,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.25)(happy-dom@13.7.3) + version: 1.0.2(@types/node@20.11.27)(happy-dom@13.8.2) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -913,11 +913,11 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.3.3) + version: 3.4.21(typescript@5.4.2) devDependencies: typescript: specifier: latest - version: 5.3.3 + version: 5.4.2 packages: @@ -1267,15 +1267,15 @@ packages: - debug dev: true - /@codspeed/vitest-plugin@3.1.0(vite@5.1.5)(vitest@1.3.1): + /@codspeed/vitest-plugin@3.1.0(vite@5.1.6)(vitest@1.3.1): resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} peerDependencies: - vite: 5.1.5 + vite: 5.1.6 vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.1.5(@types/node@20.11.25) - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) + vite: 5.1.6(@types/node@20.11.27) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) transitivePeerDependencies: - debug dev: true @@ -1880,7 +1880,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.23.0 + globals: 13.24.0 ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1962,7 +1962,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.11.25 + '@types/node': 20.11.27 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2136,17 +2136,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.0.8(nuxt@packages+nuxt)(vite@5.1.5): + /@nuxt/devtools-kit@1.0.8(nuxt@packages+nuxt)(vite@5.1.6): resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} peerDependencies: nuxt: workspace:* - vite: 5.1.5 + vite: 5.1.6 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.1.5(@types/node@20.11.24) + vite: 5.1.6(@types/node@20.11.27) dev: false /@nuxt/devtools-wizard@1.0.8: @@ -2165,15 +2165,15 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.12.1)(vite@5.1.5): + /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.13.0)(vite@5.1.6): resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.1.5 + vite: 5.1.6 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.0.8(nuxt@packages+nuxt)(vite@5.1.5) + '@nuxt/devtools-kit': 1.0.8(nuxt@packages+nuxt)(vite@5.1.6) '@nuxt/devtools-wizard': 1.0.8 '@nuxt/kit': link:packages/kit birpc: 0.2.14 @@ -2202,10 +2202,10 @@ packages: semver: 7.6.0 simple-git: 3.22.0 sirv: 2.0.4 - unimport: 3.7.1(rollup@4.12.1) - vite: 5.1.5(@types/node@20.11.24) - vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.1)(vite@5.1.5) - vite-plugin-vue-inspector: 4.0.2(vite@5.1.5) + unimport: 3.7.1(rollup@4.13.0) + vite: 5.1.6(@types/node@20.11.27) + vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.1.6) + vite-plugin-vue-inspector: 4.0.2(vite@5.1.6) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -2254,7 +2254,7 @@ packages: create-require: 1.1.1 defu: 6.1.4 destr: 2.0.3 - dotenv: 16.4.1 + dotenv: 16.4.5 git-url-parse: 13.1.1 is-docker: 3.0.0 jiti: 1.21.0 @@ -2266,7 +2266,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2279,7 +2279,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.1.5 + vite: 5.1.6 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.21 vue-router: ^4.0.0 @@ -2316,7 +2316,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.7.3 + happy-dom: 13.8.2 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2329,10 +2329,10 @@ packages: std-env: 3.7.0 ufo: 1.4.0 unenv: 1.9.0 - unplugin: 1.9.0 - vite: 5.1.5(@types/node@20.11.25) - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + unplugin: 1.10.0 + vite: 5.1.6(@types/node@20.11.27) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2524,101 +2524,101 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.12.1): + /@rollup/plugin-alias@5.1.0(rollup@4.13.0): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.12.1 + rollup: 4.13.0 slash: 4.0.0 - /@rollup/plugin-commonjs@25.0.7(rollup@4.12.1): + /@rollup/plugin-commonjs@25.0.7(rollup@4.13.0): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.8 - rollup: 4.12.1 + rollup: 4.13.0 - /@rollup/plugin-inject@5.0.5(rollup@4.12.1): + /@rollup/plugin-inject@5.0.5(rollup@4.13.0): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) estree-walker: 2.0.2 magic-string: 0.30.8 - rollup: 4.12.1 + rollup: 4.13.0 - /@rollup/plugin-json@6.1.0(rollup@4.12.1): + /@rollup/plugin-json@6.1.0(rollup@4.13.0): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) - rollup: 4.12.1 + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + rollup: 4.13.0 - /@rollup/plugin-node-resolve@15.2.3(rollup@4.12.1): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.0): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.12.1 + rollup: 4.13.0 - /@rollup/plugin-replace@5.0.5(rollup@4.12.1): + /@rollup/plugin-replace@5.0.5(rollup@4.13.0): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) magic-string: 0.30.8 - rollup: 4.12.1 + rollup: 4.13.0 - /@rollup/plugin-terser@0.4.4(rollup@4.12.1): + /@rollup/plugin-terser@0.4.4(rollup@4.13.0): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.12.1 + rollup: 4.13.0 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 @@ -2630,11 +2630,11 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@4.12.1): + /@rollup/pluginutils@5.1.0(rollup@4.13.0): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true @@ -2642,94 +2642,94 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.12.1 + rollup: 4.13.0 - /@rollup/rollup-android-arm-eabi@4.12.1: - resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} + /@rollup/rollup-android-arm-eabi@4.13.0: + resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.12.1: - resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} + /@rollup/rollup-android-arm64@4.13.0: + resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.12.1: - resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} + /@rollup/rollup-darwin-arm64@4.13.0: + resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.12.1: - resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} + /@rollup/rollup-darwin-x64@4.13.0: + resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.1: - resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.13.0: + resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.1: - resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} + /@rollup/rollup-linux-arm64-gnu@4.13.0: + resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.12.1: - resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} + /@rollup/rollup-linux-arm64-musl@4.13.0: + resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.1: - resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} + /@rollup/rollup-linux-riscv64-gnu@4.13.0: + resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.12.1: - resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} + /@rollup/rollup-linux-x64-gnu@4.13.0: + resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.12.1: - resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} + /@rollup/rollup-linux-x64-musl@4.13.0: + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.1: - resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} + /@rollup/rollup-win32-arm64-msvc@4.13.0: + resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.1: - resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} + /@rollup/rollup-win32-ia32-msvc@4.13.0: + resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.12.1: - resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} + /@rollup/rollup-win32-x64-msvc@4.13.0: + resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} cpu: [x64] os: [win32] requiresBuild: true @@ -2892,7 +2892,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 dev: true /@types/debug@4.1.12: @@ -2926,7 +2926,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.11.24 + '@types/node': 20.11.27 dev: true /@types/hash-sum@1.0.2: @@ -2942,7 +2942,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -2969,7 +2969,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 dev: true /@types/lodash-es@4.17.12: @@ -2995,16 +2995,11 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 dev: true - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} - dependencies: - undici-types: 5.26.5 - - /@types/node@20.11.25: - resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} + /@types/node@20.11.27: + resolution: {integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==} dependencies: undici-types: 5.26.5 @@ -3026,7 +3021,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.27 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3061,7 +3056,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.27 tapable: 2.2.1 webpack: 5.90.3 transitivePeerDependencies: @@ -3087,7 +3082,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3101,7 +3096,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3261,41 +3256,41 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.8.12: - resolution: {integrity: sha512-1A94VyVX/yxBXmZR1mvxvmhhbgF72dUDcmsmoyXOiobd3Zt2rJLu19Ih8jy35CDR4oUAWzK+o6HO1vWzY4wGAQ==} + /@unhead/dom@1.8.16: + resolution: {integrity: sha512-n4wHKDI1ihpbbGrnQHwmWhaKwfdEWGA/1nSra7vqc8vmrIPtnOLrfU0cuepEomHZ/ziUsI6SX/RFB+Jm21D9fw==} dependencies: - '@unhead/schema': 1.8.12 - '@unhead/shared': 1.8.12 + '@unhead/schema': 1.8.16 + '@unhead/shared': 1.8.16 dev: false - /@unhead/schema@1.8.12: - resolution: {integrity: sha512-sUkjvRGaAN0NCvZtB7VtyC5pUdYQAutHtmKbEK79nfPfb2Z7kFT1nysIno13ivybeq98l4Ge1o4crVuTwGHhTw==} + /@unhead/schema@1.8.16: + resolution: {integrity: sha512-q/AH7uWlE/KrYqZJWKRCguSV1f3U04PKqy1A3YA5ZppRAW2IHqNQ0P2ntc3b0dIdulhN23nkiH8sLyU7dAZdXw==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.8.12: - resolution: {integrity: sha512-3pP1cYSH22UeCvvVyAVkh7Nfo2GwWDuO/h/31I2eVl5oVvmb0vZx7Ff47RlfKDMkfN7ddKaRwkLaYAR+hNNWsQ==} + /@unhead/shared@1.8.16: + resolution: {integrity: sha512-UNbCyO5WS2aimRdB5Ov38ZEDUl5kYI4vnnF5rCfmUKwexe2qb0HXixueMbNwQSoKKsGxTYm5pkIFCZlHCoZrVQ==} dependencies: - '@unhead/schema': 1.8.12 + '@unhead/schema': 1.8.16 dev: false - /@unhead/ssr@1.8.12: - resolution: {integrity: sha512-e1pcp5HU6QgQChxx4YrMA+Lq/fw783vKtbbbnh0XCcHhwvuw2wr55Ah27KEwm+CGKHkuAhmz75ZKBJy1GZcu2Q==} + /@unhead/ssr@1.8.16: + resolution: {integrity: sha512-KalKMwogqaWQ3IBDuZ4Bhi2VufPS8U0yqG4dWQxxiFI68p6lgrtkZ+4+tlfR4n00T90YJDvnE8SI+Mh7nBPMqg==} dependencies: - '@unhead/schema': 1.8.12 - '@unhead/shared': 1.8.12 + '@unhead/schema': 1.8.16 + '@unhead/shared': 1.8.16 dev: false - /@unhead/vue@1.8.12(vue@3.4.21): - resolution: {integrity: sha512-26D+3SIfJwTx1PgPa+urjJ5agImucevSS5pwXMTYHQOK45ip+TTAealrRTbMmAkvaw+KK6Su9OaCzlYVJnmDOQ==} + /@unhead/vue@1.8.16(vue@3.4.21): + resolution: {integrity: sha512-jWKvMfLEz1A8VSvCgxyl2nWXb1eRQs41UNiTr2q1wMQX3g+GHiuLx5CpDSIR0uRyEBynmejHbmhu90yE2Tw/hg==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.8.12 - '@unhead/shared': 1.8.12 + '@unhead/schema': 1.8.16 + '@unhead/shared': 1.8.16 hookable: 5.5.3 - unhead: 1.8.12 + unhead: 1.8.16 vue: 3.4.21(typescript@5.4.2) dev: false @@ -3320,29 +3315,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.5)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.6)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.1.5 + vite: 5.1.6 vue: 3.4.21 dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.5(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.27) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.1.6)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.1.5 + vite: 5.1.6 vue: 3.4.21 dependencies: - vite: 5.1.5(@types/node@20.11.24) + vite: 5.1.6(@types/node@20.11.27) vue: 3.4.21(typescript@5.4.2) /@vitest/coverage-v8@1.3.1(vitest@1.3.1): @@ -3363,7 +3358,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.25)(happy-dom@13.7.3) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) transitivePeerDependencies: - supports-color dev: true @@ -3473,7 +3468,7 @@ packages: '@volar/language-core': 2.1.2 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.12.1)(vue@3.4.21): + /@vue-macros/common@1.10.1(rollup@4.13.0)(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3483,9 +3478,9 @@ packages: optional: true dependencies: '@babel/types': 7.23.9 - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.12.1) + ast-kit: 0.11.3(rollup@4.13.0) local-pkg: 0.5.0 magic-string-ast: 0.3.0 vue: 3.4.21(typescript@5.4.2) @@ -4034,34 +4029,34 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.3(rollup@4.12.1): + /ast-kit@0.11.3(rollup@4.13.0): resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.23.9 - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-kit@0.9.5(rollup@4.12.1): + /ast-kit@0.9.5(rollup@4.13.0): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.23.9 - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-walker-scope@0.5.0(rollup@4.12.1): + /ast-walker-scope@0.5.0(rollup@4.13.0): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.23.9 - ast-kit: 0.9.5(rollup@4.12.1) + ast-kit: 0.9.5(rollup@4.13.0) transitivePeerDependencies: - rollup dev: false @@ -5101,10 +5096,6 @@ packages: dependencies: type-fest: 3.13.1 - /dotenv@16.4.1: - resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==} - engines: {node: '>=12'} - /dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} @@ -5684,7 +5675,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.23.0 + globals: 13.24.0 graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 @@ -6229,18 +6220,11 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals@13.23.0: - resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 - dev: true /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} @@ -6323,8 +6307,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.7.3: - resolution: {integrity: sha512-xMwilTgO34BGEX0TAoM369wwwAy0fK/Jq6BGaRYhSjxLtfQ740nqxHfjFyBqPjCVmKiPUS4npBnMrGLii7eCOg==} + /happy-dom@13.8.2: + resolution: {integrity: sha512-u9KxyeQNIzkJDR2iCitKeS5Uy0YUv5eOntpO8e7ZzbDVv4kP5Y77Zo2LnZitwMrss/1pY2Uc2e5qOVGkiKE5Gg==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -7010,7 +6994,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.25 + '@types/node': 20.11.27 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7021,7 +7005,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7029,7 +7013,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8139,14 +8123,14 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.12.1) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.1) - '@rollup/plugin-inject': 5.0.5(rollup@4.12.1) - '@rollup/plugin-json': 6.1.0(rollup@4.12.1) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.1) - '@rollup/plugin-replace': 5.0.5(rollup@4.12.1) - '@rollup/plugin-terser': 0.4.4(rollup@4.12.1) - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/plugin-alias': 5.1.0(rollup@4.13.0) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.13.0) + '@rollup/plugin-json': 6.1.0(rollup@4.13.0) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.0) + '@rollup/plugin-replace': 5.0.5(rollup@4.13.0) + '@rollup/plugin-terser': 0.4.4(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 archiver: 7.0.0 @@ -8189,8 +8173,8 @@ packages: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.1 - rollup: 4.12.1 - rollup-plugin-visualizer: 5.12.0(rollup@4.12.1) + rollup: 4.13.0 + rollup-plugin-visualizer: 5.12.0(rollup@4.13.0) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 @@ -8200,7 +8184,7 @@ packages: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.12.1) + unimport: 3.7.1(rollup@4.13.0) unstorage: 1.10.1 unwasm: 0.3.7 transitivePeerDependencies: @@ -9755,56 +9739,56 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.12.1)(typescript@5.4.2): + /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.2): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 4.12.1 + rollup: 4.13.0 typescript: 5.4.2 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.12.1): + /rollup-plugin-visualizer@5.12.0(rollup@4.13.0): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.12.1 + rollup: ^4.13.0 peerDependenciesMeta: rollup: optional: true dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.12.1 + rollup: 4.13.0 source-map: 0.7.4 yargs: 17.7.2 - /rollup@4.12.1: - resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} + /rollup@4.13.0: + resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.1 - '@rollup/rollup-android-arm64': 4.12.1 - '@rollup/rollup-darwin-arm64': 4.12.1 - '@rollup/rollup-darwin-x64': 4.12.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 - '@rollup/rollup-linux-arm64-gnu': 4.12.1 - '@rollup/rollup-linux-arm64-musl': 4.12.1 - '@rollup/rollup-linux-riscv64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-musl': 4.12.1 - '@rollup/rollup-win32-arm64-msvc': 4.12.1 - '@rollup/rollup-win32-ia32-msvc': 4.12.1 - '@rollup/rollup-win32-x64-msvc': 4.12.1 + '@rollup/rollup-android-arm-eabi': 4.13.0 + '@rollup/rollup-android-arm64': 4.13.0 + '@rollup/rollup-darwin-arm64': 4.13.0 + '@rollup/rollup-darwin-x64': 4.13.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 + '@rollup/rollup-linux-arm64-gnu': 4.13.0 + '@rollup/rollup-linux-arm64-musl': 4.13.0 + '@rollup/rollup-linux-riscv64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-musl': 4.13.0 + '@rollup/rollup-win32-arm64-msvc': 4.13.0 + '@rollup/rollup-win32-ia32-msvc': 4.13.0 + '@rollup/rollup-win32-x64-msvc': 4.13.0 fsevents: 2.3.3 /run-applescript@5.0.0: @@ -10628,11 +10612,6 @@ packages: is-typed-array: 1.1.12 dev: true - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - /typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} @@ -10667,12 +10646,12 @@ packages: typescript: optional: true dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.12.1) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.1) - '@rollup/plugin-json': 6.1.0(rollup@4.12.1) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.1) - '@rollup/plugin-replace': 5.0.5(rollup@4.12.1) - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/plugin-alias': 5.1.0(rollup@4.13.0) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.0) + '@rollup/plugin-json': 6.1.0(rollup@4.13.0) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.0) + '@rollup/plugin-replace': 5.0.5(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -10687,8 +10666,8 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 4.12.1 - rollup-plugin-dts: 6.1.0(rollup@4.12.1)(typescript@5.4.2) + rollup: 4.13.0 + rollup-plugin-dts: 6.1.0(rollup@4.13.0)(typescript@5.4.2) scule: 1.3.0 typescript: 5.4.2 untyped: 1.4.2 @@ -10706,7 +10685,7 @@ packages: acorn: 8.11.3 estree-walker: 3.0.3 magic-string: 0.30.8 - unplugin: 1.8.0 + unplugin: 1.10.0 /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -10726,12 +10705,12 @@ packages: node-fetch-native: 1.6.2 pathe: 1.1.2 - /unhead@1.8.12: - resolution: {integrity: sha512-O7YPZo1QtNo24Cv9cXiewB74feARf7v8fCmYWQiY3w0z/7oig1kOoGJub6y2XuusQMZpSX56/GDRmog0IZldeA==} + /unhead@1.8.16: + resolution: {integrity: sha512-ZcOWOyrVhL+/8zmsfeFy+vuTAvQE3xOwEpMHG15aiQEXH5mYbwcPil2Bb+GEBdcEGVigl7B0TZL3IJ7xJ47+7g==} dependencies: - '@unhead/dom': 1.8.12 - '@unhead/schema': 1.8.12 - '@unhead/shared': 1.8.12 + '@unhead/dom': 1.8.16 + '@unhead/schema': 1.8.16 + '@unhead/shared': 1.8.16 hookable: 5.5.3 dev: false @@ -10756,10 +10735,10 @@ packages: vfile: 6.0.1 dev: true - /unimport@3.7.1(rollup@4.12.1): + /unimport@3.7.1(rollup@4.13.0): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -10771,7 +10750,7 @@ packages: pkg-types: 1.0.3 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.9.0 + unplugin: 1.10.0 transitivePeerDependencies: - rollup @@ -10832,7 +10811,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unplugin-vue-router@0.7.0(rollup@4.12.1)(vue-router@4.3.0)(vue@3.4.21): + /unplugin-vue-router@0.7.0(rollup@4.13.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -10841,9 +10820,9 @@ packages: optional: true dependencies: '@babel/types': 7.23.9 - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) - '@vue-macros/common': 1.10.1(rollup@4.12.1)(vue@3.4.21) - ast-walker-scope: 0.5.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@vue-macros/common': 1.10.1(rollup@4.13.0)(vue@3.4.21) + ast-walker-scope: 0.5.0(rollup@4.13.0) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 @@ -10851,7 +10830,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.9.0 + unplugin: 1.10.0 vue-router: 4.3.0(vue@3.4.21) yaml: 2.3.4 transitivePeerDependencies: @@ -10859,16 +10838,8 @@ packages: - vue dev: false - /unplugin@1.8.0: - resolution: {integrity: sha512-yGEQsodWICmgt7asHF7QzqDZYeEP9h14vyd9Lul98UnYf29pLZZLwI09z2QdTjwU/FCkum1SRvsK7cx232X8NA==} - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.1 - - /unplugin@1.9.0: - resolution: {integrity: sha512-14PslvMY3gNbXnQtNIRB566Q057L5Fe7f5LDEamxVi0QQVxoz5hrveBwwZLcKyHtZ09ysmipxRRj5Lv+BGz2Iw==} + /unplugin@1.10.0: + resolution: {integrity: sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==} engines: {node: '>=14.0.0'} dependencies: acorn: 8.11.3 @@ -10965,7 +10936,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - unplugin: 1.9.0 + unplugin: 1.10.0 /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} @@ -11052,7 +11023,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.0.2(@types/node@20.11.25): + /vite-node@1.0.2(@types/node@20.11.27): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11061,7 +11032,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.27) transitivePeerDependencies: - '@types/node' - less @@ -11073,7 +11044,7 @@ packages: - terser dev: true - /vite-node@1.3.1(@types/node@20.11.24): + /vite-node@1.3.1(@types/node@20.11.27): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11082,28 +11053,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-node@1.3.1(@types/node@20.11.25): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.27) transitivePeerDependencies: - '@types/node' - less @@ -11114,7 +11064,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5)(vue-tsc@2.0.6): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11123,7 +11073,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.1.5 + vite: 5.1.6 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -11158,7 +11108,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.2 - vite: 5.1.5(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.27) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11166,35 +11116,35 @@ packages: vue-tsc: 2.0.6(typescript@5.4.2) dev: false - /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.12.1)(vite@5.1.5): + /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.1.6): resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.1.5 + vite: 5.1.6 peerDependenciesMeta: '@nuxt/kit': optional: true dependencies: '@antfu/utils': 0.7.7 '@nuxt/kit': link:packages/kit - '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.5(@types/node@20.11.24) + vite: 5.1.6(@types/node@20.11.27) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.1.5): + /vite-plugin-vue-inspector@4.0.2(vite@5.1.6): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.1.5 + vite: 5.1.6 dependencies: '@babel/core': 7.23.9 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.23.9) @@ -11205,13 +11155,13 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.1.5(@types/node@20.11.24) + vite: 5.1.6(@types/node@20.11.27) transitivePeerDependencies: - supports-color dev: false - /vite@5.1.5(@types/node@20.11.24): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + /vite@5.1.6(@types/node@20.11.27): + resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11238,52 +11188,17 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.27 esbuild: 0.19.11 postcss: 8.4.35 - rollup: 4.12.1 + rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 - /vite@5.1.5(@types/node@20.11.25): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.25 - esbuild: 0.19.11 - postcss: 8.4.35 - rollup: 4.12.1 - optionalDependencies: - fsevents: 2.3.3 - - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.7.3)(playwright-core@1.42.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11300,7 +11215,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.25)(happy-dom@13.7.3): + /vitest@1.0.2(@types/node@20.11.27)(happy-dom@13.8.2): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11325,7 +11240,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.27 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11336,7 +11251,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.7.3 + happy-dom: 13.8.2 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11345,8 +11260,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.5(@types/node@20.11.25) - vite-node: 1.0.2(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.27) + vite-node: 1.0.2(@types/node@20.11.27) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11358,7 +11273,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.24)(happy-dom@13.7.3): + /vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.2): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11383,7 +11298,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.27 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -11393,7 +11308,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.7.3 + happy-dom: 13.8.2 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11402,65 +11317,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.5(@types/node@20.11.24) - vite-node: 1.3.1(@types/node@20.11.24) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vitest@1.3.1(@types/node@20.11.25)(happy-dom@13.7.3): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.11.25 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - happy-dom: 13.7.3 - local-pkg: 0.5.0 - magic-string: 0.30.8 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.5.1 - tinypool: 0.8.2 - vite: 5.1.5(@types/node@20.11.25) - vite-node: 1.3.1(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.27) + vite-node: 1.3.1(@types/node@20.11.27) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11599,22 +11457,6 @@ packages: semver: 7.6.0 typescript: 5.4.2 - /vue@3.4.21(typescript@5.3.3): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) - '@vue/shared': 3.4.21 - typescript: 5.3.3 - dev: false - /vue@3.4.21(typescript@5.4.2): resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 9a26f20e1f..ddb9781422 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"524k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"78.0k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"77.7k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From b102d041857a5dc097aa97df9c080fe23a26870d Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 13 Mar 2024 17:18:44 -0700 Subject: [PATCH 246/470] feat(vite): handle multiple/custom public dirs (#26163) --- .../nuxt/src/core/plugins/layer-aliasing.ts | 28 +++----- packages/schema/src/config/vite.ts | 5 +- packages/vite/src/plugins/public-dirs.ts | 65 +++++++++++++++++++ packages/vite/src/vite.ts | 3 + test/basic.test.ts | 8 +++ test/fixtures/basic/custom-public/file.svg | 18 +++++ test/fixtures/basic/nuxt.config.ts | 6 ++ test/fixtures/basic/pages/assets-custom.vue | 6 ++ 8 files changed, 116 insertions(+), 23 deletions(-) create mode 100644 packages/vite/src/plugins/public-dirs.ts create mode 100644 test/fixtures/basic/custom-public/file.svg create mode 100644 test/fixtures/basic/pages/assets-custom.vue diff --git a/packages/nuxt/src/core/plugins/layer-aliasing.ts b/packages/nuxt/src/core/plugins/layer-aliasing.ts index f73f67297f..250bdcc50b 100644 --- a/packages/nuxt/src/core/plugins/layer-aliasing.ts +++ b/packages/nuxt/src/core/plugins/layer-aliasing.ts @@ -1,8 +1,7 @@ -import { existsSync, readdirSync } from 'node:fs' import { createUnplugin } from 'unplugin' import type { NuxtConfigLayer } from 'nuxt/schema' import { resolveAlias } from '@nuxt/kit' -import { join, normalize, relative } from 'pathe' +import { normalize } from 'pathe' import MagicString from 'magic-string' interface LayerAliasingOptions { @@ -17,21 +16,16 @@ const ALIAS_RE = /(?<=['"])[~@]{1,2}(?=\/)/g const ALIAS_RE_SINGLE = /(?<=['"])[~@]{1,2}(?=\/)/ export const LayerAliasingPlugin = createUnplugin((options: LayerAliasingOptions) => { - const aliases: Record<string, { aliases: Record<string, string>, prefix: string, publicDir: false | string }> = {} + const aliases: Record<string, Record<string, string>> = {} for (const layer of options.layers) { const srcDir = layer.config.srcDir || layer.cwd const rootDir = layer.config.rootDir || layer.cwd - const publicDir = join(srcDir, layer.config?.dir?.public || 'public') aliases[srcDir] = { - aliases: { - '~': layer.config?.alias?.['~'] || srcDir, - '@': layer.config?.alias?.['@'] || srcDir, - '~~': layer.config?.alias?.['~~'] || rootDir, - '@@': layer.config?.alias?.['@@'] || rootDir - }, - prefix: relative(options.root, publicDir), - publicDir: !options.dev && existsSync(publicDir) && publicDir + '~': layer.config?.alias?.['~'] || srcDir, + '@': layer.config?.alias?.['@'] || srcDir, + '~~': layer.config?.alias?.['~~'] || rootDir, + '@@': layer.config?.alias?.['@@'] || rootDir } } const layers = Object.keys(aliases).sort((a, b) => b.length - a.length) @@ -48,13 +42,7 @@ export const LayerAliasingPlugin = createUnplugin((options: LayerAliasingOptions const layer = layers.find(l => importer.startsWith(l)) if (!layer) { return } - const publicDir = aliases[layer].publicDir - if (id.startsWith('/') && publicDir && readdirSync(publicDir).some(file => file === id.slice(1) || id.startsWith('/' + file + '/'))) { - const resolvedId = '/' + join(aliases[layer].prefix, id.slice(1)) - return await this.resolve(resolvedId, importer, { skipSelf: true }) - } - - const resolvedId = resolveAlias(id, aliases[layer].aliases) + const resolvedId = resolveAlias(id, aliases[layer]) if (resolvedId !== id) { return await this.resolve(resolvedId, importer, { skipSelf: true }) } @@ -76,7 +64,7 @@ export const LayerAliasingPlugin = createUnplugin((options: LayerAliasingOptions if (!layer || !ALIAS_RE_SINGLE.test(code)) { return } const s = new MagicString(code) - s.replace(ALIAS_RE, r => aliases[layer].aliases[r as '~'] || r) + s.replace(ALIAS_RE, r => aliases[layer][r as '~'] || r) if (s.hasChanged()) { return { diff --git a/packages/schema/src/config/vite.ts b/packages/schema/src/config/vite.ts index 072adf3dba..070c3eb4b8 100644 --- a/packages/schema/src/config/vite.ts +++ b/packages/schema/src/config/vite.ts @@ -1,5 +1,4 @@ import { consola } from 'consola' -import { resolve } from 'pathe' import { isTest } from 'std-env' import { withoutLeadingSlash } from 'ufo' import { defineUntypedSchema } from 'untyped' @@ -36,11 +35,11 @@ export default defineUntypedSchema({ extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] }, publicDir: { - $resolve: async (val, get) => { + $resolve: (val) => { if (val) { consola.warn('Directly configuring the `vite.publicDir` option is not supported. Instead, set `dir.public`. You can read more in `https://nuxt.com/docs/api/nuxt-config#public`.') } - return val ?? await Promise.all([get('srcDir') as Promise<string>, get('dir') as Promise<Record<string, string>>]).then(([srcDir, dir]) => resolve(srcDir, dir.public)) + return false } }, vue: { diff --git a/packages/vite/src/plugins/public-dirs.ts b/packages/vite/src/plugins/public-dirs.ts new file mode 100644 index 0000000000..ea36b90e47 --- /dev/null +++ b/packages/vite/src/plugins/public-dirs.ts @@ -0,0 +1,65 @@ +import { existsSync } from 'node:fs' +import { useNitro } from '@nuxt/kit' +import { createUnplugin } from 'unplugin' +import { withLeadingSlash, withTrailingSlash } from 'ufo' +import { dirname, relative } from 'pathe' + +const PREFIX = 'virtual:public?' + +export const VitePublicDirsPlugin = createUnplugin(() => { + 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(withTrailingSlash(dir.baseURL || '/'), withTrailingSlash(dir.dir)) + if (existsSync(path)) { + return id + } + } + } + + return { + name: 'nuxt:vite-public-dir-resolution', + vite: { + load: { + enforce: 'pre', + handler (id, options) { + if (id.startsWith(PREFIX)) { + const helper = !options?.ssr || nitro.options.imports !== false ? '' : 'globalThis.' + return `export default ${helper}__publicAssetsURL(${JSON.stringify(decodeURIComponent(id.slice(PREFIX.length)))})` + } + } + }, + resolveId: { + enforce: 'post', + handler (id) { + if (id === '/__skip_vite' || !id.startsWith('/') || id.startsWith('/@fs')) { return } + + if (resolveFromPublicAssets(id)) { + return PREFIX + encodeURIComponent(id) + } + } + }, + generateBundle (outputOptions, bundle) { + for (const file in bundle) { + const chunk = bundle[file] + if (!file.endsWith('.css') || chunk.type !== 'asset') { continue } + + let css = chunk.source.toString() + let wasReplaced = false + for (const [full, url] of css.matchAll(/url\((\/[^)]+)\)/g)) { + if (resolveFromPublicAssets(url)) { + const relativeURL = relative(withLeadingSlash(dirname(file)), url) + css = css.replace(full, `url(${relativeURL})`) + wasReplaced = true + } + } + if (wasReplaced) { + chunk.source = css + } + } + } + } + } +}) diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts index a72fdb34ad..9c11437d90 100644 --- a/packages/vite/src/vite.ts +++ b/packages/vite/src/vite.ts @@ -17,6 +17,7 @@ import { resolveCSSOptions } from './css' import { composableKeysPlugin } from './plugins/composable-keys' import { logLevelMap } from './utils/logger' import { ssrStylesPlugin } from './plugins/ssr-styles' +import { VitePublicDirsPlugin } from './plugins/public-dirs' export interface ViteBuildContext { nuxt: Nuxt @@ -98,6 +99,8 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { } }, plugins: [ + // add resolver for files in public assets directories + VitePublicDirsPlugin.vite(), composableKeysPlugin.vite({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, rootDir: nuxt.options.rootDir, diff --git a/test/basic.test.ts b/test/basic.test.ts index de935d2728..e7cd7e15ac 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1815,6 +1815,14 @@ describe.runIf(isDev() && (!isWindows || !isCI))('detecting invalid root nodes', }) }) +describe('public directories', () => { + it('should directly return public directory paths', async () => { + const html = await $fetch('/assets-custom') + expect(html).toContain('"/public.svg"') + expect(html).toContain('"/custom/file.svg"') + }) +}) + // TODO: dynamic paths in dev describe.skipIf(isDev())('dynamic paths', () => { it('should work with no overrides', async () => { diff --git a/test/fixtures/basic/custom-public/file.svg b/test/fixtures/basic/custom-public/file.svg new file mode 100644 index 0000000000..c31de56afc --- /dev/null +++ b/test/fixtures/basic/custom-public/file.svg @@ -0,0 +1,18 @@ +<svg viewBox="0 0 221 65" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-8"> + <g clip-path="url(#a)"> + <path fill="currentColor" + d="M82.5623 18.5705h7.3017l15.474 24.7415V18.5705h6.741v35.0576h-7.252L89.3025 28.938v24.6901h-6.7402V18.5705ZM142.207 53.628h-6.282v-3.916c-1.429 2.7559-4.339 4.3076-8.015 4.3076-5.822 0-9.603-4.1069-9.603-10.0175V28.3847h6.282v14.3251c0 3.4558 2.146 5.8592 5.362 5.8592 3.524 0 5.974-2.7044 5.974-6.4099V28.3847h6.282V53.628ZM164.064 53.2289l-6.026-8.4144-6.027 8.4144h-6.69l9.296-13.1723-8.58-12.0709h6.843l5.158 7.2641 5.106-7.2641h6.895l-8.632 12.0709 9.295 13.1723h-6.638ZM183.469 20.7726v7.6116h7.149v5.1593h-7.149v12.5311c0 .4208.17.8245.473 1.1223.303.2978.715.4654 1.144.4661h5.532v5.9547h-4.137c-5.617 0-9.293-3.2062-9.293-8.8109V33.5484h-5.056v-5.1642h3.172c1.479 0 2.34-.8639 2.34-2.2932v-5.3184h5.825Z"> + </path> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M30.1185 11.5456c-1.8853-3.24168-6.5987-3.24169-8.484 0L1.08737 46.8747c-1.885324 3.2417.47133 7.2938 4.24199 7.2938H21.3695c-1.6112-1.4081-2.2079-3.8441-.9886-5.9341l15.5615-26.675-5.8239-10.0138Z" + fill="#80EEC0"></path> + <path + d="M43.1374 19.2952c1.5603-2.6523 5.461-2.6523 7.0212 0l17.0045 28.9057c1.5603 2.6522-.39 5.9676-3.5106 5.9676h-34.009c-3.1206 0-5.0709-3.3154-3.5106-5.9676l17.0045-28.9057ZM209.174 53.8005H198.483c0-1.8514.067-3.4526 0-6.0213h10.641c1.868 0 3.353.1001 4.354-.934 1-1.0341 1.501-2.3351 1.501-3.9029 0-1.8347-.667-3.2191-2.002-4.1532-1.301-.9674-2.985-1.4511-5.054-1.4511h-2.601v-5.2539h2.652c1.701 0 3.119-.4003 4.253-1.2009 1.134-.8006 1.701-1.9849 1.701-3.5527 0-1.301-.434-2.3351-1.301-3.1023-.834-.8007-2.001-1.201-3.503-1.201-1.634 0-2.918.4837-3.853 1.4511-.9.9674-1.401 2.1517-1.501 3.5527h-6.254c.133-3.2358 1.251-5.7877 3.352-7.6558 2.135-1.868 4.887-2.8021 8.256-2.8021 2.402 0 4.42.4337 6.055 1.301 1.668.834 2.919 1.9515 3.753 3.3525.867 1.4011 1.301 2.9523 1.301 4.6536 0 1.9681-.551 3.636-1.651 5.0037-1.068 1.3344-2.402 2.235-4.004 2.7021 1.969.4003 3.57 1.3677 4.804 2.9022 1.234 1.5011 1.852 3.4025 1.852 5.7043 0 1.9347-.468 3.7028-1.402 5.304-.934 1.6012-2.301 2.8855-4.103 3.8529-1.768.9674-3.953 1.4511-6.555 1.4511Z" + fill="#00DC82"></path> + </g> + <defs> + <clipPath id="a"> + <path fill="#fff" d="M0 0h221v65H0z"></path> + </clipPath> + </defs> +</svg> diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index d51bef276f..7269a31f13 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -46,6 +46,12 @@ export default defineNuxtConfig({ './extends/node_modules/foo' ], nitro: { + publicAssets: [ + { + dir: '../custom-public', + baseURL: '/custom' + } + ], esbuild: { options: { // in order to test bigint serialization diff --git a/test/fixtures/basic/pages/assets-custom.vue b/test/fixtures/basic/pages/assets-custom.vue new file mode 100644 index 0000000000..2eb1ba9b0f --- /dev/null +++ b/test/fixtures/basic/pages/assets-custom.vue @@ -0,0 +1,6 @@ +<template> + <div> + <img src="/public.svg"> + <img src="/custom/file.svg"> + </div> +</template> From 9b23f36d2a039d6c053271dd2d2d188d671d4879 Mon Sep 17 00:00:00 2001 From: Martins <34019878+martinszeltins@users.noreply.github.com> Date: Thu, 14 Mar 2024 15:59:36 +0200 Subject: [PATCH 247/470] docs: added modular architecture use case for Layers (#26240) --- docs/1.getting-started/9.layers.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/1.getting-started/9.layers.md b/docs/1.getting-started/9.layers.md index f62194d670..1ae3f05d79 100644 --- a/docs/1.getting-started/9.layers.md +++ b/docs/1.getting-started/9.layers.md @@ -14,6 +14,7 @@ One of the core features of Nuxt 3 is the layers and extending support. You can - Create Nuxt module presets - Share standard setup across projects - Create Nuxt themes +- Enhance code organization by implementing a modular architecture and support Domain-Driven Design (DDD) pattern in large scale projects. ## Usage From c3c9c4b2a4a3b6aaed10ebebe4766939b3cbc0f4 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 14 Mar 2024 11:02:03 -0700 Subject: [PATCH 248/470] ci: run lint step after bundle test --- .github/workflows/autofix.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 09e2bfd25a..ff99ac81c3 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -26,9 +26,6 @@ jobs: - name: Build (stub) run: pnpm dev:prepare - - name: Lint (code) - run: pnpm lint:fix - - name: Test (unit) run: pnpm test:unit -u @@ -52,4 +49,7 @@ jobs: if: ${{ !contains(github.head_ref, 'renovate') }} run: pnpm vitest run bundle -u + - name: Lint (code) + run: pnpm lint:fix + - uses: autofix-ci/action@ea32e3a12414e6d3183163c3424a7d7a8631ad84 From 7a3857e12737aa8bfb5e831cf0f3c82809e159d3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 11:13:13 -0700 Subject: [PATCH 249/470] chore(deps): update all non-major dependencies (main) (#26234) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 4 +- packages/nuxt/package.json | 8 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 229 ++++++++++++++--------------------- test/bundle.test.ts | 4 +- 5 files changed, 97 insertions(+), 150 deletions(-) diff --git a/package.json b/package.json index f6790c0057..9884c6a845 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@types/node": "20.11.27", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.3.1", - "@vue/test-utils": "2.4.4", + "@vue/test-utils": "2.4.5", "case-police": "0.6.1", "changelogen": "0.5.5", "consola": "3.2.3", @@ -69,7 +69,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.8.2", + "happy-dom": "13.8.4", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.3", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index b54e8c1a21..728c52c9ef 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.8.16", - "@unhead/ssr": "^1.8.16", - "@unhead/vue": "^1.8.16", + "@unhead/dom": "^1.8.18", + "@unhead/ssr": "^1.8.18", + "@unhead/vue": "^1.8.18", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", @@ -109,7 +109,7 @@ "unimport": "^3.7.1", "unplugin": "^1.10.0", "unplugin-vue-router": "^0.7.0", - "unstorage": "^1.10.1", + "unstorage": "^1.10.2", "untyped": "^1.4.2", "vue": "^3.4.21", "vue-bundle-renderer": "^2.0.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 8c4a41668a..df3e5b9a94 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.8.16", + "@unhead/schema": "1.8.18", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f6e791b5c..1bd969bff9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -50,8 +50,8 @@ importers: specifier: 1.3.1 version: 1.3.1(vitest@1.3.1) '@vue/test-utils': - specifier: 2.4.4 - version: 2.4.4(vue@3.4.21) + specifier: 2.4.5 + version: 2.4.5 case-police: specifier: 0.6.1 version: 0.6.1 @@ -95,8 +95,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.8.2 - version: 13.8.2 + specifier: 13.8.4 + version: 13.8.4 jiti: specifier: 1.21.0 version: 1.21.0 @@ -141,10 +141,10 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -238,7 +238,7 @@ importers: version: 5.1.6(@types/node@20.11.27) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) webpack: specifier: 5.90.3 version: 5.90.3 @@ -270,14 +270,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.11.27 '@unhead/dom': - specifier: ^1.8.16 - version: 1.8.16 + specifier: ^1.8.18 + version: 1.8.18 '@unhead/ssr': - specifier: ^1.8.16 - version: 1.8.16 + specifier: ^1.8.18 + version: 1.8.18 '@unhead/vue': - specifier: ^1.8.16 - version: 1.8.16(vue@3.4.21) + specifier: ^1.8.18 + version: 1.8.18(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -399,8 +399,8 @@ importers: specifier: ^0.7.0 version: 0.7.0(rollup@4.13.0)(vue-router@4.3.0)(vue@3.4.21) unstorage: - specifier: ^1.10.1 - version: 1.10.1 + specifier: ^1.10.2 + version: 1.10.2 untyped: specifier: ^1.4.2 version: 1.4.2 @@ -437,7 +437,7 @@ importers: version: 5.1.6(@types/node@20.11.27) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) packages/schema: dependencies: @@ -488,8 +488,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.8.16 - version: 1.8.16 + specifier: 1.8.18 + version: 1.8.18 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.1.6)(vue@3.4.21) @@ -874,7 +874,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.27)(happy-dom@13.8.2) + version: 1.0.2(@types/node@20.11.27)(happy-dom@13.8.4) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -1275,7 +1275,7 @@ packages: dependencies: '@codspeed/core': 3.1.0 vite: 5.1.6(@types/node@20.11.27) - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) transitivePeerDependencies: - debug dev: true @@ -1930,9 +1930,6 @@ packages: /@humanwhocodes/object-schema@2.0.2: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - /@ioredis/commands@1.2.0: - resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} - /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2069,7 +2066,7 @@ packages: agent-base: 7.1.0 http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 - lru-cache: 10.0.3 + lru-cache: 10.2.0 socks-proxy-agent: 8.0.2 transitivePeerDependencies: - supports-color @@ -2087,7 +2084,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/promise-spawn': 7.0.0 - lru-cache: 10.0.3 + lru-cache: 10.2.0 npm-pick-manifest: 9.0.0 proc-log: 3.0.0 promise-inflight: 1.0.1 @@ -2266,7 +2263,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2306,7 +2303,7 @@ packages: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema '@testing-library/vue': 8.0.2(vue@3.4.21) - '@vue/test-utils': 2.4.4(vue@3.4.21) + '@vue/test-utils': 2.4.5 c12: 1.10.0 consola: 3.2.3 defu: 6.1.4 @@ -2316,7 +2313,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.8.2 + happy-dom: 13.8.4 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2331,8 +2328,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.27) - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2852,10 +2849,8 @@ packages: dependencies: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 - '@vue/test-utils': 2.4.4(vue@3.4.21) + '@vue/test-utils': 2.4.5 vue: 3.4.21(typescript@5.4.2) - transitivePeerDependencies: - - '@vue/server-renderer' dev: true /@tootallnate/once@2.0.0: @@ -3256,41 +3251,41 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.8.16: - resolution: {integrity: sha512-n4wHKDI1ihpbbGrnQHwmWhaKwfdEWGA/1nSra7vqc8vmrIPtnOLrfU0cuepEomHZ/ziUsI6SX/RFB+Jm21D9fw==} + /@unhead/dom@1.8.18: + resolution: {integrity: sha512-F6ckuW+IAojGCSb++WFQlDeI3/80OALpD6yDcDrhAxZ8ogQatd5gXWjTmSiuV/0M2XIeDq3jwampvq6oomU6Gw==} dependencies: - '@unhead/schema': 1.8.16 - '@unhead/shared': 1.8.16 + '@unhead/schema': 1.8.18 + '@unhead/shared': 1.8.18 dev: false - /@unhead/schema@1.8.16: - resolution: {integrity: sha512-q/AH7uWlE/KrYqZJWKRCguSV1f3U04PKqy1A3YA5ZppRAW2IHqNQ0P2ntc3b0dIdulhN23nkiH8sLyU7dAZdXw==} + /@unhead/schema@1.8.18: + resolution: {integrity: sha512-E4oq4juwGJkXPOJlc4Qdp1iVTe79H4TSMWkOB8sSlU44vhvcuZduFYH9CCn29JvtV/640Uaf2QeX4o+wX96LRQ==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.8.16: - resolution: {integrity: sha512-UNbCyO5WS2aimRdB5Ov38ZEDUl5kYI4vnnF5rCfmUKwexe2qb0HXixueMbNwQSoKKsGxTYm5pkIFCZlHCoZrVQ==} + /@unhead/shared@1.8.18: + resolution: {integrity: sha512-2Tw5oyTjMkPn11UoR9AB3kSk2nDVG+7nCS4dZUwdxTMqndUnYyWoGB0EcO2WbK6YpkpulLIlfmiXVzWW4PTrWg==} dependencies: - '@unhead/schema': 1.8.16 + '@unhead/schema': 1.8.18 dev: false - /@unhead/ssr@1.8.16: - resolution: {integrity: sha512-KalKMwogqaWQ3IBDuZ4Bhi2VufPS8U0yqG4dWQxxiFI68p6lgrtkZ+4+tlfR4n00T90YJDvnE8SI+Mh7nBPMqg==} + /@unhead/ssr@1.8.18: + resolution: {integrity: sha512-l66PSAHartxcWvOW5E/zx8LJJFnRiMBZnDh3Ve9KnGIA8w5B/0Mhhhe/tcv2yyXEV4K/q6ke0taeBy2mD3/Auw==} dependencies: - '@unhead/schema': 1.8.16 - '@unhead/shared': 1.8.16 + '@unhead/schema': 1.8.18 + '@unhead/shared': 1.8.18 dev: false - /@unhead/vue@1.8.16(vue@3.4.21): - resolution: {integrity: sha512-jWKvMfLEz1A8VSvCgxyl2nWXb1eRQs41UNiTr2q1wMQX3g+GHiuLx5CpDSIR0uRyEBynmejHbmhu90yE2Tw/hg==} + /@unhead/vue@1.8.18(vue@3.4.21): + resolution: {integrity: sha512-aKsDCYAiQ27Cjs8nyUHaYNYOQjdhhobMswrelNddekGpk63Y25bRO2NT3DheAOqAAcH4Qdt7JIe5Bu4N1HG5Gg==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.8.16 - '@unhead/shared': 1.8.16 + '@unhead/schema': 1.8.18 + '@unhead/shared': 1.8.18 hookable: 5.5.3 - unhead: 1.8.16 + unhead: 1.8.18 vue: 3.4.21(typescript@5.4.2) dev: false @@ -3358,7 +3353,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.2) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) transitivePeerDependencies: - supports-color dev: true @@ -3613,18 +3608,11 @@ packages: /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - /@vue/test-utils@2.4.4(vue@3.4.21): - resolution: {integrity: sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==} - peerDependencies: - '@vue/server-renderer': ^3.0.1 - vue: 3.4.21 - peerDependenciesMeta: - '@vue/server-renderer': - optional: true + /@vue/test-utils@2.4.5: + resolution: {integrity: sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==} dependencies: js-beautify: 1.14.9 - vue: 3.4.21(typescript@5.4.2) - vue-component-type-helpers: 1.8.25 + vue-component-type-helpers: 2.0.6 dev: true /@webassemblyjs/ast@1.11.6: @@ -4251,7 +4239,7 @@ packages: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 glob: 10.3.10 - lru-cache: 10.0.3 + lru-cache: 10.2.0 minipass: 7.0.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 @@ -4455,10 +4443,6 @@ packages: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /cluster-key-slot@1.1.2: - resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} - engines: {node: '>=0.10.0'} - /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -4983,10 +4967,6 @@ packages: /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - /denque@2.1.0: - resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} - engines: {node: '>=0.10'} - /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -6307,8 +6287,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.8.2: - resolution: {integrity: sha512-u9KxyeQNIzkJDR2iCitKeS5Uy0YUv5eOntpO8e7ZzbDVv4kP5Y77Zo2LnZitwMrss/1pY2Uc2e5qOVGkiKE5Gg==} + /happy-dom@13.8.4: + resolution: {integrity: sha512-FjLmsOMgwpX9gc00nz830RVGCG1V6Rj+AB4amdEAbKmbeIL3Ude1peC8bcTCzTvrtm2TFKimY3Ws6Xeh5Q1XhA==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -6456,7 +6436,7 @@ packages: resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - lru-cache: 10.0.3 + lru-cache: 10.2.0 dev: false /html-entities@2.4.0: @@ -6633,22 +6613,6 @@ packages: side-channel: 1.0.4 dev: true - /ioredis@5.3.2: - resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} - engines: {node: '>=12.22.0'} - dependencies: - '@ioredis/commands': 1.2.0 - cluster-key-slot: 1.1.2 - debug: 4.3.4 - denque: 2.1.0 - lodash.defaults: 4.2.0 - lodash.isarguments: 3.1.0 - redis-errors: 1.2.0 - redis-parser: 3.0.0 - standard-as-callback: 2.1.0 - transitivePeerDependencies: - - supports-color - /ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} dev: false @@ -7261,12 +7225,6 @@ packages: /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - /lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - - /lodash.isarguments@3.1.0: - resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: false @@ -7291,8 +7249,8 @@ packages: get-func-name: 2.0.2 dev: true - /lru-cache@10.0.3: - resolution: {integrity: sha512-B7gr+F6MkqB3uzINHXNctGieGsRTMwIBgxkp0yq/5BwcuDzD4A8wQpHQW6vDAm1uKSLQghmRdD9sKqf2vJ1cEg==} + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} /lru-cache@5.1.1: @@ -8185,7 +8143,7 @@ packages: unctx: 2.3.1 unenv: 1.9.0 unimport: 3.7.1(rollup@4.13.0) - unstorage: 1.10.1 + unstorage: 1.10.2 unwasm: 0.3.7 transitivePeerDependencies: - '@azure/app-configuration' @@ -8204,6 +8162,7 @@ packages: - drizzle-orm - encoding - idb-keyval + - ioredis - supports-color - uWebSockets.js @@ -8758,7 +8717,7 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.3 + lru-cache: 10.2.0 minipass: 7.0.4 /path-type@4.0.0: @@ -9527,16 +9486,6 @@ packages: dependencies: picomatch: 2.3.1 - /redis-errors@1.2.0: - resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} - engines: {node: '>=4'} - - /redis-parser@3.0.0: - resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} - engines: {node: '>=4'} - dependencies: - redis-errors: 1.2.0 - /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: true @@ -10158,9 +10107,6 @@ packages: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false - /standard-as-callback@2.1.0: - resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} - /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -10705,12 +10651,12 @@ packages: node-fetch-native: 1.6.2 pathe: 1.1.2 - /unhead@1.8.16: - resolution: {integrity: sha512-ZcOWOyrVhL+/8zmsfeFy+vuTAvQE3xOwEpMHG15aiQEXH5mYbwcPil2Bb+GEBdcEGVigl7B0TZL3IJ7xJ47+7g==} + /unhead@1.8.18: + resolution: {integrity: sha512-XmCGVev0bwo+jy5qh6PW1vACnPoQvv3MEwqo4w0+49W2ZGPMZYPtIa8GAZiaWgkycrlie1WgZejjJEG9bYVgZw==} dependencies: - '@unhead/dom': 1.8.16 - '@unhead/schema': 1.8.16 - '@unhead/shared': 1.8.16 + '@unhead/dom': 1.8.18 + '@unhead/schema': 1.8.18 + '@unhead/shared': 1.8.18 hookable: 5.5.3 dev: false @@ -10847,21 +10793,22 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - /unstorage@1.10.1: - resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==} + /unstorage@1.10.2: + resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} peerDependencies: - '@azure/app-configuration': ^1.4.1 + '@azure/app-configuration': ^1.5.0 '@azure/cosmos': ^4.0.0 '@azure/data-tables': ^13.2.2 - '@azure/identity': ^3.3.2 - '@azure/keyvault-secrets': ^4.7.0 - '@azure/storage-blob': ^12.16.0 - '@capacitor/preferences': ^5.0.6 - '@netlify/blobs': ^6.2.0 - '@planetscale/database': ^1.11.0 - '@upstash/redis': ^1.23.4 - '@vercel/kv': ^0.2.3 + '@azure/identity': ^4.0.1 + '@azure/keyvault-secrets': ^4.8.0 + '@azure/storage-blob': ^12.17.0 + '@capacitor/preferences': ^5.0.7 + '@netlify/blobs': ^6.5.0 || ^7.0.0 + '@planetscale/database': ^1.16.0 + '@upstash/redis': ^1.28.4 + '@vercel/kv': ^1.0.1 idb-keyval: ^6.2.1 + ioredis: ^5.3.2 peerDependenciesMeta: '@azure/app-configuration': optional: true @@ -10887,20 +10834,20 @@ packages: optional: true idb-keyval: optional: true + ioredis: + optional: true dependencies: anymatch: 3.1.3 chokidar: 3.6.0 destr: 2.0.3 h3: 1.11.1 - ioredis: 5.3.2 listhen: 1.7.2 - lru-cache: 10.0.3 + lru-cache: 10.2.0 mri: 1.2.0 node-fetch-native: 1.6.2 ofetch: 1.3.3 ufo: 1.4.0 transitivePeerDependencies: - - supports-color - uWebSockets.js /untildify@4.0.0: @@ -11195,10 +11142,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.4)(h3@1.11.1)(happy-dom@13.8.2)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11215,7 +11162,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.27)(happy-dom@13.8.2): + /vitest@1.0.2(@types/node@20.11.27)(happy-dom@13.8.4): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11251,7 +11198,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.8.2 + happy-dom: 13.8.4 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11273,7 +11220,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.2): + /vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11308,7 +11255,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.8.2 + happy-dom: 13.8.4 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11380,8 +11327,8 @@ packages: dependencies: ufo: 1.4.0 - /vue-component-type-helpers@1.8.25: - resolution: {integrity: sha512-NCA6sekiJIMnMs4DdORxATXD+/NRkQpS32UC+I1KQJUasx+Z7MZUb3Y+MsKsFmX+PgyTYSteb73JW77AibaCCw==} + /vue-component-type-helpers@2.0.6: + resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} dev: true /vue-devtools-stub@0.1.0: diff --git a/test/bundle.test.ts b/test/bundle.test.ts index ddb9781422..a0ac7f0b0f 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"205k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1335k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1336k"') const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"524k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"77.7k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"79.4k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 5c6dc4c14e21ba83d20ddc07ff8fdc1bf25e2434 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 14 Mar 2024 11:31:19 -0700 Subject: [PATCH 250/470] docs: escape 'elements' in jsdoc comments --- packages/nuxt/src/app/components/nuxt-link.ts | 2 +- packages/schema/src/config/experimental.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index 7ced9e8724..13c9141b10 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -23,7 +23,7 @@ const firstNonUndefined = <T> (...args: (T | undefined)[]) => args.find(arg => a const NuxtLinkDevKeySymbol: InjectionKey<boolean> = Symbol('nuxt-link-dev-key') /** - * <NuxtLink> is a drop-in replacement for both Vue Router's <RouterLink> component and HTML's <a> tag. + * `<NuxtLink>` is a drop-in replacement for both Vue Router's `<RouterLink>` component and HTML's `<a>` tag. * @see https://nuxt.com/docs/api/components/nuxt-link */ export interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> { diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 04a4748a31..47d486495a 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -171,7 +171,7 @@ export default defineUntypedSchema({ writeEarlyHints: false, /** - * Experimental component islands support with <NuxtIsland> and .island.vue files. + * Experimental component islands support with `<NuxtIsland>` and `.island.vue` files. * * By default it is set to 'auto', which means it will be enabled only when there are islands, * server components or server pages in your app. From bd0e759b22071e1b4acd7ac73100b4121944eb60 Mon Sep 17 00:00:00 2001 From: Anthony Fu <anthonyfu117@hotmail.com> Date: Thu, 14 Mar 2024 19:56:17 +0100 Subject: [PATCH 251/470] perf(nuxt): only update changed templates (#26250) --- packages/nuxt/src/core/app.ts | 24 ++++++++++++++++-------- packages/schema/src/types/nuxt.ts | 1 + 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 67cc4d54c6..86b3e10b3c 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -44,19 +44,23 @@ export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: .map(async (template) => { const fullPath = template.dst || resolve(nuxt.options.buildDir, template.filename!) const mark = performance.mark(fullPath) + const oldContents = nuxt.vfs[fullPath] const contents = await compileTemplate(template, templateContext).catch((e) => { logger.error(`Could not compile template \`${template.filename}\`.`) throw e }) - nuxt.vfs[fullPath] = contents + template.modified = oldContents !== contents + if (template.modified) { + nuxt.vfs[fullPath] = contents - const aliasPath = '#build/' + template.filename!.replace(/\.\w+$/, '') - nuxt.vfs[aliasPath] = contents + const aliasPath = '#build/' + template.filename!.replace(/\.\w+$/, '') + nuxt.vfs[aliasPath] = contents - // In case a non-normalized absolute path is called for on Windows - if (process.platform === 'win32') { - nuxt.vfs[fullPath.replace(/\//g, '\\')] = contents + // In case a non-normalized absolute path is called for on Windows + if (process.platform === 'win32') { + nuxt.vfs[fullPath.replace(/\//g, '\\')] = contents + } } const perf = performance.measure(fullPath, mark?.name) // TODO: remove when Node 14 reaches EOL @@ -66,7 +70,7 @@ export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: logger.info(`Compiled \`${template.filename}\` in ${setupTime}ms`) } - if (template.write) { + if (template.modified && template.write) { writes.push(() => { mkdirSync(dirname(fullPath), { recursive: true }) writeFileSync(fullPath, contents, 'utf8') @@ -78,7 +82,11 @@ export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: // runtime overhead of cascading HMRs from vite/webpack for (const write of writes) { write() } - await nuxt.callHook('app:templatesGenerated', app, filteredTemplates, options) + const changedTemplates = filteredTemplates.filter(t => t.modified) + + if (changedTemplates.length) { + await nuxt.callHook('app:templatesGenerated', app, changedTemplates, options) + } } /** @internal */ diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index 144be97179..b37c37d900 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -45,6 +45,7 @@ export interface NuxtTemplate<Options = TemplateDefaultOptions> { export interface ResolvedNuxtTemplate<Options = TemplateDefaultOptions> extends NuxtTemplate<Options> { filename: string dst: string + modified?: boolean } export interface NuxtTypeTemplate<Options = TemplateDefaultOptions> extends Omit<NuxtTemplate<Options>, 'write' | 'filename'> { From 177980865a38ae8544942e9414844c267d3ff8c2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 11:56:27 -0700 Subject: [PATCH 252/470] chore(deps): update devdependency happy-dom to v13.8.5 (main) (#26251) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 44 ++++++++++++++++++++++---------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index 9884c6a845..8c15c9bc5f 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.8.4", + "happy-dom": "13.8.5", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1bd969bff9..d730928196 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -95,8 +95,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.8.4 - version: 13.8.4 + specifier: 13.8.5 + version: 13.8.5 jiti: specifier: 1.21.0 version: 1.21.0 @@ -141,10 +141,10 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -238,7 +238,7 @@ importers: version: 5.1.6(@types/node@20.11.27) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) webpack: specifier: 5.90.3 version: 5.90.3 @@ -437,7 +437,7 @@ importers: version: 5.1.6(@types/node@20.11.27) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) packages/schema: dependencies: @@ -874,7 +874,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.27)(happy-dom@13.8.4) + version: 1.0.2(@types/node@20.11.27)(happy-dom@13.8.5) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -1275,7 +1275,7 @@ packages: dependencies: '@codspeed/core': 3.1.0 vite: 5.1.6(@types/node@20.11.27) - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) transitivePeerDependencies: - debug dev: true @@ -2263,7 +2263,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2313,7 +2313,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.8.4 + happy-dom: 13.8.5 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2328,8 +2328,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.27) - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3353,7 +3353,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4) + vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) transitivePeerDependencies: - supports-color dev: true @@ -6287,8 +6287,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.8.4: - resolution: {integrity: sha512-FjLmsOMgwpX9gc00nz830RVGCG1V6Rj+AB4amdEAbKmbeIL3Ude1peC8bcTCzTvrtm2TFKimY3Ws6Xeh5Q1XhA==} + /happy-dom@13.8.5: + resolution: {integrity: sha512-nknhkiT8WYbZ3/L6XUvf+tTfmVx3wNWCfaM+N+YKQBzCS64IzovI0A0Oe+MJlN0n94DNuCgpvA9B3bz6cM7PJQ==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11142,10 +11142,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.4)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11162,7 +11162,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.27)(happy-dom@13.8.4): + /vitest@1.0.2(@types/node@20.11.27)(happy-dom@13.8.5): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11198,7 +11198,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.8.4 + happy-dom: 13.8.5 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11220,7 +11220,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4): + /vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.5): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11255,7 +11255,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.8.4 + happy-dom: 13.8.5 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 From 5dc96de8a928d10e90f47d9941ed7402328b1e3f Mon Sep 17 00:00:00 2001 From: Anthony Fu <anthonyfu117@hotmail.com> Date: Thu, 14 Mar 2024 21:26:40 +0100 Subject: [PATCH 253/470] fix(nuxt): update auto imports after other templates (#26249) --- packages/nuxt/src/imports/module.ts | 31 +++++++++++++++++++---------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/packages/nuxt/src/imports/module.ts b/packages/nuxt/src/imports/module.ts index 39b28dd76c..c3fe0abdf8 100644 --- a/packages/nuxt/src/imports/module.ts +++ b/packages/nuxt/src/imports/module.ts @@ -3,7 +3,7 @@ import { addTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, isIgnor import { isAbsolute, join, normalize, relative, resolve } from 'pathe' import type { Import, Unimport } from 'unimport' import { createUnimport, scanDirExports, toExports } from 'unimport' -import type { ImportPresetWithDeprecation, ImportsOptions } from 'nuxt/schema' +import type { ImportPresetWithDeprecation, ImportsOptions, ResolvedNuxtTemplate } from 'nuxt/schema' import { lookupNodeModuleSubpath, parseNodeModulePath } from 'mlly' import { isDirectory } from '../utils' @@ -89,6 +89,14 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ const priorities = nuxt.options._layers.map((layer, i) => [layer.config.srcDir, -i] as const).sort(([a], [b]) => b.length - a.length) + function isImportsTemplate (template: ResolvedNuxtTemplate) { + return [ + '/types/imports.d.ts', + '/imports.d.ts', + '/imports.mjs' + ].some(i => template.filename.endsWith(i)) + } + const regenerateImports = async () => { await ctx.modifyDynamicImports(async (imports) => { // Clear old imports @@ -105,6 +113,10 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ await nuxt.callHook('imports:extend', imports) return imports }) + + await updateTemplates({ + filter: isImportsTemplate + }) } await regenerateImports() @@ -119,22 +131,19 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ }) // Watch composables/ directory - const templates = [ - 'types/imports.d.ts', - 'imports.d.ts', - 'imports.mjs' - ] nuxt.hook('builder:watch', async (_, relativePath) => { const path = resolve(nuxt.options.srcDir, relativePath) if (composablesDirs.some(dir => dir === path || path.startsWith(dir + '/'))) { - await updateTemplates({ - filter: template => templates.includes(template.filename) - }) + await regenerateImports() } }) - nuxt.hook('app:templatesGenerated', async () => { - await regenerateImports() + // Watch for template generation + nuxt.hook('app:templatesGenerated', async (_app, templates) => { + // Only regenerate when non-imports templates are updated + if (templates.some(t => !isImportsTemplate(t))) { + await regenerateImports() + } }) } }) From a866a11638f4365e3b908de89b8c9e581d9e9ea4 Mon Sep 17 00:00:00 2001 From: OrbisK <37191683+OrbisK@users.noreply.github.com> Date: Fri, 15 Mar 2024 16:22:54 +0100 Subject: [PATCH 254/470] chore: remove trailing slash in issue template (#26268) --- .github/ISSUE_TEMPLATE/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 7b2d765c12..ff8f4c2377 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,10 +1,10 @@ blank_issues_enabled: true contact_links: - name: 📚 Nuxt 3 Documentation - url: https://nuxt.com/docs/ + url: https://nuxt.com/docs about: Check the documentation for usage of Nuxt 3 - name: 📚 Nuxt 2 Documentation - url: https://v2.nuxt.com/ + url: https://v2.nuxt.com about: Check the documentation for usage of Nuxt 2 - name: 💬 Discussions url: https://github.com/nuxt/nuxt/discussions From c69863e362e851d0653a559b8b47dd486c4feef8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 08:23:15 -0700 Subject: [PATCH 255/470] chore(deps): update all non-major dependencies (main) (#26254) --- package.json | 4 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 436 ++++++++++++++++++++++++++++++++----- 4 files changed, 388 insertions(+), 56 deletions(-) diff --git a/package.json b/package.json index 8c15c9bc5f..10bc729c5d 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.2", "@types/fs-extra": "11.0.4", - "@types/node": "20.11.27", + "@types/node": "20.11.28", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.3.1", "@vue/test-utils": "2.4.5", @@ -69,7 +69,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.8.5", + "happy-dom": "13.8.6", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.3", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 728c52c9ef..e1048cf1c1 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -77,7 +77,7 @@ "defu": "^6.1.4", "destr": "^2.0.3", "devalue": "^4.3.2", - "esbuild": "^0.20.1", + "esbuild": "^0.20.2", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "fs-extra": "^11.2.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 38ddd42ec4..5e6abc110e 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -41,7 +41,7 @@ "consola": "^3.2.3", "cssnano": "^6.1.0", "defu": "^6.1.4", - "esbuild": "^0.20.1", + "esbuild": "^0.20.2", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "externality": "^1.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d730928196..c892ff5dfb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -41,8 +41,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.27 - version: 20.11.27 + specifier: 20.11.28 + version: 20.11.28 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -95,8 +95,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.8.5 - version: 13.8.5 + specifier: 13.8.6 + version: 13.8.6 jiti: specifier: 1.21.0 version: 1.21.0 @@ -141,10 +141,10 @@ importers: version: 1.4.0 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) + version: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -235,10 +235,10 @@ importers: version: 2.0.0(typescript@5.4.2) vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.27) + version: 5.1.6(@types/node@20.11.28) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) + version: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) webpack: specifier: 5.90.3 version: 5.90.3 @@ -303,8 +303,8 @@ importers: specifier: ^4.3.2 version: 4.3.2 esbuild: - specifier: ^0.20.1 - version: 0.20.1 + specifier: ^0.20.2 + version: 0.20.2 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -437,7 +437,7 @@ importers: version: 5.1.6(@types/node@20.11.27) vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) + version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.6) packages/schema: dependencies: @@ -531,7 +531,7 @@ importers: version: 1.9.0 vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.27) + version: 5.1.6(@types/node@20.11.28) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -581,8 +581,8 @@ importers: specifier: ^6.1.4 version: 6.1.4 esbuild: - specifier: ^0.20.1 - version: 0.20.1 + specifier: ^0.20.2 + version: 0.20.2 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -645,10 +645,10 @@ importers: version: 1.10.0 vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.27) + version: 5.1.6(@types/node@20.11.28) vite-node: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.27) + version: 1.3.1(@types/node@20.11.28) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6) @@ -874,7 +874,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.27)(happy-dom@13.8.5) + version: 1.0.2(@types/node@20.11.28)(happy-dom@13.8.6) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -1274,8 +1274,8 @@ packages: vitest: '>=1.2.2' dependencies: '@codspeed/core': 3.1.0 - vite: 5.1.6(@types/node@20.11.27) - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) + vite: 5.1.6(@types/node@20.11.28) + vitest: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) transitivePeerDependencies: - debug dev: true @@ -1310,6 +1310,14 @@ packages: requiresBuild: true optional: true + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -1335,6 +1343,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -1360,6 +1376,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -1385,6 +1409,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -1410,6 +1442,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -1435,6 +1475,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -1460,6 +1508,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -1485,6 +1541,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -1510,6 +1574,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -1535,6 +1607,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -1560,6 +1640,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -1585,6 +1673,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -1610,6 +1706,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -1635,6 +1739,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -1660,6 +1772,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -1685,6 +1805,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -1710,6 +1838,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -1735,6 +1871,14 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -1760,6 +1904,14 @@ packages: requiresBuild: true optional: true + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -1785,6 +1937,14 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -1810,6 +1970,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -1835,6 +2003,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -1860,6 +2036,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1959,7 +2143,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.11.27 + '@types/node': 20.11.28 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2263,7 +2447,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2313,7 +2497,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.8.5 + happy-dom: 13.8.6 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2327,9 +2511,9 @@ packages: ufo: 1.4.0 unenv: 1.9.0 unplugin: 1.10.0 - vite: 5.1.6(@types/node@20.11.27) - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vite: 5.1.6(@types/node@20.11.28) + vitest: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2887,7 +3071,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 dev: true /@types/debug@4.1.12: @@ -2937,7 +3121,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -2964,7 +3148,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 dev: true /@types/lodash-es@4.17.12: @@ -2990,7 +3174,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 dev: true /@types/node@20.11.27: @@ -2998,6 +3182,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.11.28: + resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -3077,7 +3266,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3091,7 +3280,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3320,7 +3509,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.6(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - supports-color @@ -3353,7 +3542,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.5) + vitest: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) transitivePeerDependencies: - supports-color dev: true @@ -5285,7 +5474,7 @@ packages: peerDependencies: webpack: ^4.40.0 || ^5.0.0 dependencies: - esbuild: 0.20.1 + esbuild: 0.20.2 get-tsconfig: 4.7.2 loader-utils: 2.0.4 webpack: 5.90.3 @@ -5381,6 +5570,36 @@ packages: '@esbuild/win32-ia32': 0.20.1 '@esbuild/win32-x64': 0.20.1 + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -6287,8 +6506,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.8.5: - resolution: {integrity: sha512-nknhkiT8WYbZ3/L6XUvf+tTfmVx3wNWCfaM+N+YKQBzCS64IzovI0A0Oe+MJlN0n94DNuCgpvA9B3bz6cM7PJQ==} + /happy-dom@13.8.6: + resolution: {integrity: sha512-Urcv2jvNel19QirWimOwYTW3slpEYGS8PLtzEwAlpTWpnKycXF8s0I7xUBK9fPvWAIc8uZf/CnV2cIwWE8jptw==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -6958,7 +7177,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.27 + '@types/node': 20.11.28 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6969,7 +7188,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6977,7 +7196,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10970,7 +11189,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.0.2(@types/node@20.11.27): + /vite-node@1.0.2(@types/node@20.11.28): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10979,7 +11198,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) transitivePeerDependencies: - '@types/node' - less @@ -11010,6 +11229,27 @@ packages: - sugarss - supports-color - terser + dev: true + + /vite-node@1.3.1(@types/node@20.11.28): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.6(@types/node@20.11.28) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} @@ -11055,7 +11295,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.2 - vite: 5.1.6(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11142,10 +11382,45 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vite@5.1.6(@types/node@20.11.28): + resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.28 + esbuild: 0.19.11 + postcss: 8.4.35 + rollup: 4.13.0 + optionalDependencies: + fsevents: 2.3.3 + + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.5)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11162,7 +11437,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.27)(happy-dom@13.8.5): + /vitest@1.0.2(@types/node@20.11.28)(happy-dom@13.8.6): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11187,7 +11462,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11198,7 +11473,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.8.5 + happy-dom: 13.8.6 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11207,8 +11482,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.27) - vite-node: 1.0.2(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) + vite-node: 1.0.2(@types/node@20.11.28) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11220,7 +11495,7 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.5): + /vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.6): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11255,7 +11530,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.8.5 + happy-dom: 13.8.6 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11277,6 +11552,63 @@ packages: - terser dev: true + /vitest@1.3.1(@types/node@20.11.28)(happy-dom@13.8.6): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.11.28 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + happy-dom: 13.8.6 + local-pkg: 0.5.0 + magic-string: 0.30.8 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.5.1 + tinypool: 0.8.2 + vite: 5.1.6(@types/node@20.11.28) + vite-node: 1.3.1(@types/node@20.11.28) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} From 0af28831c1d5f85ab496f6df01b5b3da8673ce26 Mon Sep 17 00:00:00 2001 From: Tanvir Rahman <rahmantanvir25558@gmail.com> Date: Fri, 15 Mar 2024 21:25:55 +0600 Subject: [PATCH 256/470] docs: use a more common word (#26276) --- docs/1.getting-started/5.seo-meta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/5.seo-meta.md b/docs/1.getting-started/5.seo-meta.md index e77839558d..6c39dfab84 100644 --- a/docs/1.getting-started/5.seo-meta.md +++ b/docs/1.getting-started/5.seo-meta.md @@ -6,7 +6,7 @@ navigation.icon: i-ph-file-search-duotone ## Defaults -Out-of-the-box, Nuxt provides sane defaults, which you can override if needed. +Out-of-the-box, Nuxt provides sensible defaults, which you can override if needed. ```ts twoslash [nuxt.config.ts] export default defineNuxtConfig({ From 0d5b3c18e0285a910d844f53553a8ed050f6ffee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:15:42 -0700 Subject: [PATCH 257/470] chore(deps): update vitest to v1.4.0 (main) (#26265) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 138 ++++++++++++++++++++----------------- 5 files changed, 78 insertions(+), 70 deletions(-) diff --git a/package.json b/package.json index 10bc729c5d..808fdd7898 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/fs-extra": "11.0.4", "@types/node": "20.11.28", "@types/semver": "7.5.8", - "@vitest/coverage-v8": "1.3.1", + "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", "case-police": "0.6.1", "changelogen": "0.5.5", @@ -84,7 +84,7 @@ "std-env": "3.7.0", "typescript": "5.4.2", "ufo": "1.4.0", - "vitest": "1.3.1", + "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", "vue-eslint-parser": "9.4.2", diff --git a/packages/kit/package.json b/packages/kit/package.json index 9d64458fe1..55987b7b5c 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -53,7 +53,7 @@ "nitropack": "2.9.3", "unbuild": "latest", "vite": "5.1.6", - "vitest": "1.3.1", + "vitest": "1.4.0", "webpack": "5.90.3" }, "engines": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index e1048cf1c1..4118d439e5 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -123,7 +123,7 @@ "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", "vite": "5.1.6", - "vitest": "1.3.1" + "vitest": "1.4.0" }, "peerDependencies": { "@parcel/watcher": "^2.1.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 5e6abc110e..dfa5ca743f 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -63,7 +63,7 @@ "unenv": "^1.9.0", "unplugin": "^1.10.0", "vite": "^5.1.6", - "vite-node": "^1.3.1", + "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c892ff5dfb..9ea6326f11 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,7 @@ importers: devDependencies: '@codspeed/vitest-plugin': specifier: 3.1.0 - version: 3.1.0(vite@5.1.6)(vitest@1.3.1) + version: 3.1.0(vite@5.1.6)(vitest@1.4.0) '@nuxt/eslint-config': specifier: 0.2.0 version: 0.2.0(eslint@8.57.0) @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -47,8 +47,8 @@ importers: specifier: 7.5.8 version: 7.5.8 '@vitest/coverage-v8': - specifier: 1.3.1 - version: 1.3.1(vitest@1.3.1) + specifier: 1.4.0 + version: 1.4.0(vitest@1.4.0) '@vue/test-utils': specifier: 2.4.5 version: 2.4.5 @@ -140,11 +140,11 @@ importers: specifier: 1.4.0 version: 1.4.0 vitest: - specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) + specifier: 1.4.0 + version: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -237,8 +237,8 @@ importers: specifier: 5.1.6 version: 5.1.6(@types/node@20.11.28) vitest: - specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) + specifier: 1.4.0 + version: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) webpack: specifier: 5.90.3 version: 5.90.3 @@ -436,8 +436,8 @@ importers: specifier: 5.1.6 version: 5.1.6(@types/node@20.11.27) vitest: - specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.6) + specifier: 1.4.0 + version: 1.4.0(@types/node@20.11.27)(happy-dom@13.8.6) packages/schema: dependencies: @@ -647,8 +647,8 @@ importers: specifier: 5.1.6 version: 5.1.6(@types/node@20.11.28) vite-node: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.28) + specifier: ^1.4.0 + version: 1.4.0(@types/node@20.11.28) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6) @@ -1267,7 +1267,7 @@ packages: - debug dev: true - /@codspeed/vitest-plugin@3.1.0(vite@5.1.6)(vitest@1.3.1): + /@codspeed/vitest-plugin@3.1.0(vite@5.1.6)(vitest@1.4.0): resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} peerDependencies: vite: 5.1.6 @@ -1275,7 +1275,7 @@ packages: dependencies: '@codspeed/core': 3.1.0 vite: 5.1.6(@types/node@20.11.28) - vitest: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) + vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) transitivePeerDependencies: - debug dev: true @@ -2179,6 +2179,13 @@ packages: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@kwsites/file-exists@1.1.1: resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} dependencies: @@ -2447,7 +2454,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2512,8 +2519,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.28) - vitest: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3524,25 +3531,26 @@ packages: vite: 5.1.6(@types/node@20.11.27) vue: 3.4.21(typescript@5.4.2) - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} + /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} peerDependencies: - vitest: 1.3.1 + vitest: 1.4.0 dependencies: '@ampproject/remapping': 2.2.1 '@bcoe/v8-coverage': 0.2.3 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 + istanbul-lib-source-maps: 5.0.4 istanbul-reports: 3.1.6 magic-string: 0.30.8 magicast: 0.3.3 picocolors: 1.0.0 std-env: 3.7.0 + strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.28)(happy-dom@13.8.6) + vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) transitivePeerDependencies: - supports-color dev: true @@ -3555,11 +3563,11 @@ packages: chai: 4.3.10 dev: true - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + /@vitest/expect@1.4.0: + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 chai: 4.3.10 dev: true @@ -3571,10 +3579,10 @@ packages: pathe: 1.1.2 dev: true - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + /@vitest/runner@1.4.0: + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} dependencies: - '@vitest/utils': 1.3.1 + '@vitest/utils': 1.4.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true @@ -3587,8 +3595,8 @@ packages: pretty-format: 29.7.0 dev: true - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + /@vitest/snapshot@1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} dependencies: magic-string: 0.30.8 pathe: 1.1.2 @@ -3601,8 +3609,8 @@ packages: tinyspy: 2.2.0 dev: true - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} dependencies: tinyspy: 2.2.0 dev: true @@ -3615,8 +3623,8 @@ packages: pretty-format: 29.7.0 dev: true - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -7145,13 +7153,13 @@ packages: supports-color: 7.2.0 dev: true - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + /istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} engines: {node: '>=10'} dependencies: + '@jridgewell/trace-mapping': 0.3.25 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: true @@ -11210,8 +11218,8 @@ packages: - terser dev: true - /vite-node@1.3.1(@types/node@20.11.27): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + /vite-node@1.4.0(@types/node@20.11.27): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -11231,8 +11239,8 @@ packages: - terser dev: true - /vite-node@1.3.1(@types/node@20.11.28): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + /vite-node@1.4.0(@types/node@20.11.28): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -11417,10 +11425,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11495,15 +11503,15 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.6): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + /vitest@1.4.0(@types/node@20.11.27)(happy-dom@13.8.6): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -11521,11 +11529,11 @@ packages: optional: true dependencies: '@types/node': 20.11.27 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 acorn-walk: 8.3.2 chai: 4.3.10 debug: 4.3.4 @@ -11540,7 +11548,7 @@ packages: tinybench: 2.5.1 tinypool: 0.8.2 vite: 5.1.6(@types/node@20.11.27) - vite-node: 1.3.1(@types/node@20.11.27) + vite-node: 1.4.0(@types/node@20.11.27) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11552,15 +11560,15 @@ packages: - terser dev: true - /vitest@1.3.1(@types/node@20.11.28)(happy-dom@13.8.6): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + /vitest@1.4.0(@types/node@20.11.28)(happy-dom@13.8.6): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -11578,11 +11586,11 @@ packages: optional: true dependencies: '@types/node': 20.11.28 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 acorn-walk: 8.3.2 chai: 4.3.10 debug: 4.3.4 @@ -11597,7 +11605,7 @@ packages: tinybench: 2.5.1 tinypool: 0.8.2 vite: 5.1.6(@types/node@20.11.28) - vite-node: 1.3.1(@types/node@20.11.28) + vite-node: 1.4.0(@types/node@20.11.28) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 6439244c9691f1a65b5646c71df02357f6a56cf7 Mon Sep 17 00:00:00 2001 From: Marc Cremer <marc@cremer.dev> Date: Fri, 15 Mar 2024 17:16:41 +0100 Subject: [PATCH 258/470] fix(nuxt): respect `baseUrl` within server components (#25727) --- packages/nuxt/src/app/components/nuxt-island.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 76f4da12b2..4b918619ed 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -15,7 +15,7 @@ import { prerenderRoutes, useRequestEvent } from '../composables/ssr' import { getFragmentHTML } from './utils' // @ts-expect-error virtual file -import { remoteComponentIslands, selectiveClient } from '#build/nuxt.config.mjs' +import { appBaseURL, remoteComponentIslands, selectiveClient } from '#build/nuxt.config.mjs' const pKey = '_islandPromises' const SSR_UID_RE = /data-island-uid="([^"]*)"/ @@ -28,7 +28,7 @@ const getId = import.meta.client ? () => (id++).toString() : randomUUID const components = import.meta.client ? new Map<string, Component>() : undefined -async function loadComponents (source = '/', paths: NuxtIslandResponse['components']) { +async function loadComponents (source = appBaseURL, paths: NuxtIslandResponse['components']) { const promises = [] for (const component in paths) { From a6d6fde9dff7396c9af4a38e0759f8183c06505c Mon Sep 17 00:00:00 2001 From: Maik Kowol <maik.s.kowol@gmail.com> Date: Fri, 15 Mar 2024 17:40:00 +0100 Subject: [PATCH 259/470] fix(nuxt): access shared asyncData state with `useNuxtData` (#22277) --- .../nuxt/src/app/composables/asyncData.ts | 15 ++++++++++++-- test/nuxt/composables.test.ts | 20 +++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index b2d5c2d3a3..319be17438 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -1,4 +1,4 @@ -import { getCurrentInstance, onBeforeMount, onServerPrefetch, onUnmounted, ref, shallowRef, toRef, unref, watch } from 'vue' +import { computed, getCurrentInstance, onBeforeMount, onServerPrefetch, onUnmounted, ref, shallowRef, toRef, unref, watch } from 'vue' import type { Ref, WatchSource } from 'vue' import type { NuxtApp } from '../nuxt' import { useNuxtApp } from '../nuxt' @@ -461,7 +461,18 @@ export function useNuxtData<DataT = any> (key: string): { data: Ref<DataT | null } return { - data: toRef(nuxtApp.payload.data, key) + data: computed({ + get () { + return nuxtApp._asyncData[key]?.data.value ?? nuxtApp.payload.data[key] + }, + set (value) { + if (nuxtApp._asyncData[key]) { + nuxtApp._asyncData[key]!.data.value = value + } else { + nuxtApp.payload.data[key] = value + } + } + }) } } diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index c08113f62f..e50c1614e5 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -274,6 +274,26 @@ describe('useAsyncData', () => { expect(promiseFn).toHaveBeenCalledTimes(2) }) + + it('should be synced with useNuxtData', async () => { + const { data: nuxtData } = useNuxtData('nuxtdata-sync') + const promise = useAsyncData('nuxtdata-sync', () => Promise.resolve('test'), { default: () => 'default' }) + const { data: fetchData } = promise + + expect(fetchData.value).toMatchInlineSnapshot('"default"') + + nuxtData.value = 'before-fetch' + expect(fetchData.value).toMatchInlineSnapshot('"before-fetch"') + + await promise + expect(fetchData.value).toMatchInlineSnapshot('"test"') + expect(nuxtData.value).toMatchInlineSnapshot('"test"') + + nuxtData.value = 'new value' + expect(fetchData.value).toMatchInlineSnapshot('"new value"') + fetchData.value = 'another value' + expect(nuxtData.value).toMatchInlineSnapshot('"another value"') + }) }) describe('useFetch', () => { From c556a60e6bc75eba35acdb02f90bb1dc558bea2c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 10:27:44 -0700 Subject: [PATCH 260/470] chore(deps): update dependency ufo to v1.5.0 (main) (#26280) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 429 ++++------------------------------ test/bundle.test.ts | 2 +- 8 files changed, 52 insertions(+), 391 deletions(-) diff --git a/package.json b/package.json index 808fdd7898..96eac1036c 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "semver": "7.6.0", "std-env": "3.7.0", "typescript": "5.4.2", - "ufo": "1.4.0", + "ufo": "1.5.0", "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", diff --git a/packages/kit/package.json b/packages/kit/package.json index 55987b7b5c..130150f302 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -40,7 +40,7 @@ "pkg-types": "^1.0.3", "scule": "^1.3.0", "semver": "^7.6.0", - "ufo": "^1.4.0", + "ufo": "^1.5.0", "unctx": "^2.3.1", "unimport": "^3.7.1", "untyped": "^1.4.2" diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 4118d439e5..4554c74af7 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -101,7 +101,7 @@ "scule": "^1.3.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", - "ufo": "^1.4.0", + "ufo": "^1.5.0", "ultrahtml": "^1.5.3", "uncrypto": "^0.1.3", "unctx": "^2.3.1", diff --git a/packages/schema/package.json b/packages/schema/package.json index df3e5b9a94..5e8dda9027 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -69,7 +69,7 @@ "pkg-types": "^1.0.3", "scule": "^1.3.0", "std-env": "^3.7.0", - "ufo": "^1.4.0", + "ufo": "^1.5.0", "unimport": "^3.7.1", "untyped": "^1.4.2" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index dfa5ca743f..9a11ba8cf9 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -59,7 +59,7 @@ "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", - "ufo": "^1.4.0", + "ufo": "^1.5.0", "unenv": "^1.9.0", "unplugin": "^1.10.0", "vite": "^5.1.6", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index e87dbdef9c..27c17839df 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -56,7 +56,7 @@ "pug-plain-loader": "^1.1.0", "std-env": "^3.7.0", "time-fix-plugin": "^2.0.7", - "ufo": "^1.4.0", + "ufo": "^1.5.0", "unenv": "^1.9.0", "unplugin": "^1.10.0", "url-loader": "^4.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ea6326f11..7573228342 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -137,8 +137,8 @@ importers: specifier: 5.4.2 version: 5.4.2 ufo: - specifier: 1.4.0 - version: 1.4.0 + specifier: 1.5.0 + version: 1.5.0 vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) @@ -203,8 +203,8 @@ importers: specifier: ^7.6.0 version: 7.6.0 ufo: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.5.0 + version: 1.5.0 unctx: specifier: ^2.3.1 version: 2.3.1 @@ -268,7 +268,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.11.27 + version: 20.11.28 '@unhead/dom': specifier: ^1.8.18 version: 1.8.18 @@ -375,8 +375,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ufo: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.5.0 + version: 1.5.0 ultrahtml: specifier: ^1.5.3 version: 1.5.3 @@ -434,10 +434,10 @@ importers: version: 2.0.0(typescript@5.4.2) vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.27) + version: 5.1.6(@types/node@20.11.28) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.27)(happy-dom@13.8.6) + version: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) packages/schema: dependencies: @@ -466,8 +466,8 @@ importers: specifier: ^3.7.0 version: 3.7.0 ufo: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.5.0 + version: 1.5.0 unimport: specifier: ^3.7.1 version: 3.7.1(rollup@4.13.0) @@ -635,8 +635,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ufo: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.5.0 + version: 1.5.0 unenv: specifier: ^1.9.0 version: 1.9.0 @@ -771,8 +771,8 @@ importers: specifier: ^2.0.7 version: 2.0.7(webpack@5.90.3) ufo: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.5.0 + version: 1.5.0 unenv: specifier: ^1.9.0 version: 1.9.0 @@ -855,7 +855,7 @@ importers: devDependencies: ufo: specifier: latest - version: 1.4.0 + version: 1.5.0 unplugin: specifier: latest version: 1.10.0 @@ -930,7 +930,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/trace-mapping': 0.3.25 /@antfu/utils@0.7.7: resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} @@ -975,7 +975,7 @@ packages: dependencies: '@babel/types': 7.23.9 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: @@ -1302,14 +1302,6 @@ packages: requiresBuild: true optional: true - /@esbuild/aix-ppc64@0.20.1: - resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - /@esbuild/aix-ppc64@0.20.2: resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} @@ -1335,14 +1327,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64@0.20.1: - resolution: {integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm64@0.20.2: resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} @@ -1368,14 +1352,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.20.1: - resolution: {integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm@0.20.2: resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} @@ -1401,14 +1377,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.20.1: - resolution: {integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - /@esbuild/android-x64@0.20.2: resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} @@ -1434,14 +1402,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.20.1: - resolution: {integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - /@esbuild/darwin-arm64@0.20.2: resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} @@ -1467,14 +1427,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.20.1: - resolution: {integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - /@esbuild/darwin-x64@0.20.2: resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} @@ -1500,14 +1452,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.20.1: - resolution: {integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/freebsd-arm64@0.20.2: resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} @@ -1533,14 +1477,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.20.1: - resolution: {integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/freebsd-x64@0.20.2: resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} @@ -1566,14 +1502,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.20.1: - resolution: {integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-arm64@0.20.2: resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} @@ -1599,14 +1527,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.20.1: - resolution: {integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-arm@0.20.2: resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} @@ -1632,14 +1552,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.20.1: - resolution: {integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ia32@0.20.2: resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} @@ -1665,14 +1577,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.20.1: - resolution: {integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-loong64@0.20.2: resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} @@ -1698,14 +1602,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.20.1: - resolution: {integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-mips64el@0.20.2: resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} @@ -1731,14 +1627,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.20.1: - resolution: {integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ppc64@0.20.2: resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} @@ -1764,14 +1652,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.20.1: - resolution: {integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-riscv64@0.20.2: resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} @@ -1797,14 +1677,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.20.1: - resolution: {integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-s390x@0.20.2: resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} @@ -1830,14 +1702,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.20.1: - resolution: {integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-x64@0.20.2: resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} @@ -1863,14 +1727,6 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.20.1: - resolution: {integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - /@esbuild/netbsd-x64@0.20.2: resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} @@ -1896,14 +1752,6 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.20.1: - resolution: {integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - /@esbuild/openbsd-x64@0.20.2: resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} @@ -1929,14 +1777,6 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.20.1: - resolution: {integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - /@esbuild/sunos-x64@0.20.2: resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} @@ -1962,14 +1802,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.20.1: - resolution: {integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-arm64@0.20.2: resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} @@ -1995,14 +1827,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.20.1: - resolution: {integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-ia32@0.20.2: resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} @@ -2028,14 +1852,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64@0.20.1: - resolution: {integrity: sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-x64@0.20.2: resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -2154,7 +1970,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} @@ -2168,23 +1984,16 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.21: - resolution: {integrity: sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /@kwsites/file-exists@1.1.1: resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} @@ -2334,7 +2143,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.1.6(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) dev: false /@nuxt/devtools-wizard@1.0.8: @@ -2391,7 +2200,7 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.13.0) - vite: 5.1.6(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.1.6) vite-plugin-vue-inspector: 4.0.2(vite@5.1.6) which: 3.0.1 @@ -2515,7 +2324,7 @@ packages: radix3: 1.1.1 scule: 1.3.0 std-env: 3.7.0 - ufo: 1.4.0 + ufo: 1.5.0 unenv: 1.9.0 unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.28) @@ -2562,7 +2371,7 @@ packages: remark-rehype: 11.1.0 scule: 1.3.0 shiki: 1.1.6 - ufo: 1.4.0 + ufo: 1.5.0 unified: 11.0.4 unist-builder: 4.0.0 unist-util-visit: 5.0.0 @@ -3112,7 +2921,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.11.27 + '@types/node': 20.11.28 dev: true /@types/hash-sum@1.0.2: @@ -3184,11 +2993,6 @@ packages: '@types/node': 20.11.28 dev: true - /@types/node@20.11.27: - resolution: {integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==} - dependencies: - undici-types: 5.26.5 - /@types/node@20.11.28: resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} dependencies: @@ -3212,7 +3016,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3247,7 +3051,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 tapable: 2.2.1 webpack: 5.90.3 transitivePeerDependencies: @@ -3528,7 +3332,7 @@ packages: vite: 5.1.6 vue: 3.4.21 dependencies: - vite: 5.1.6(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) vue: 3.4.21(typescript@5.4.2) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -4892,7 +4696,7 @@ packages: lightningcss: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/trace-mapping': 0.3.25 cssnano: 6.1.0(postcss@8.4.35) jest-worker: 29.7.0 postcss: 8.4.35 @@ -5548,36 +5352,6 @@ packages: '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 - /esbuild@0.20.1: - resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.1 - '@esbuild/android-arm': 0.20.1 - '@esbuild/android-arm64': 0.20.1 - '@esbuild/android-x64': 0.20.1 - '@esbuild/darwin-arm64': 0.20.1 - '@esbuild/darwin-x64': 0.20.1 - '@esbuild/freebsd-arm64': 0.20.1 - '@esbuild/freebsd-x64': 0.20.1 - '@esbuild/linux-arm': 0.20.1 - '@esbuild/linux-arm64': 0.20.1 - '@esbuild/linux-ia32': 0.20.1 - '@esbuild/linux-loong64': 0.20.1 - '@esbuild/linux-mips64el': 0.20.1 - '@esbuild/linux-ppc64': 0.20.1 - '@esbuild/linux-riscv64': 0.20.1 - '@esbuild/linux-s390x': 0.20.1 - '@esbuild/linux-x64': 0.20.1 - '@esbuild/netbsd-x64': 0.20.1 - '@esbuild/openbsd-x64': 0.20.1 - '@esbuild/sunos-x64': 0.20.1 - '@esbuild/win32-arm64': 0.20.1 - '@esbuild/win32-ia32': 0.20.1 - '@esbuild/win32-x64': 0.20.1 - /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -6008,7 +5782,7 @@ packages: enhanced-resolve: 5.15.0 mlly: 1.6.1 pathe: 1.1.2 - ufo: 1.4.0 + ufo: 1.5.0 dev: false /fake-indexeddb@5.0.2: @@ -6508,7 +6282,7 @@ packages: iron-webcrypto: 1.0.0 ohash: 1.1.3 radix3: 1.1.1 - ufo: 1.4.0 + ufo: 1.5.0 uncrypto: 0.1.3 unenv: 1.9.0 transitivePeerDependencies: @@ -7390,7 +7164,7 @@ packages: node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 - ufo: 1.4.0 + ufo: 1.5.0 untun: 0.1.3 uqr: 0.1.2 transitivePeerDependencies: @@ -8248,7 +8022,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.4.0 + ufo: 1.5.0 /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -8331,7 +8105,7 @@ packages: defu: 6.1.4 destr: 2.0.3 dot-prop: 8.0.2 - esbuild: 0.20.1 + esbuild: 0.20.2 escape-string-regexp: 5.0.0 etag: 1.8.1 fs-extra: 11.2.0 @@ -8365,7 +8139,7 @@ packages: serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 - ufo: 1.4.0 + ufo: 1.5.0 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 @@ -8634,7 +8408,7 @@ packages: consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 - ufo: 1.4.0 + ufo: 1.5.0 /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -8699,7 +8473,7 @@ packages: dependencies: destr: 2.0.3 node-fetch-native: 1.6.2 - ufo: 1.4.0 + ufo: 1.5.0 /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} @@ -10559,7 +10333,7 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 @@ -10794,8 +10568,8 @@ packages: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: true - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + /ufo@1.5.0: + resolution: {integrity: sha512-c7SxU8XB0LTO7hALl6CcE1Q92ZrLzr1iE0IVIsUa9SlFfkn2B2p6YLO6dLxOj7qCWY98PB3Q3EZbN6bEu8p7jA==} /ultrahtml@1.5.3: resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} @@ -11073,7 +10847,7 @@ packages: mri: 1.2.0 node-fetch-native: 1.6.2 ofetch: 1.3.3 - ufo: 1.4.0 + ufo: 1.5.0 transitivePeerDependencies: - uWebSockets.js @@ -11157,7 +10931,7 @@ packages: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.5 convert-source-map: 2.0.0 dev: true @@ -11218,27 +10992,6 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.11.27): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.27) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@1.4.0(@types/node@20.11.28): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11330,7 +11083,7 @@ packages: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.6(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) transitivePeerDependencies: - rollup - supports-color @@ -11350,46 +11103,11 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.1.6(@types/node@20.11.27) + vite: 5.1.6(@types/node@20.11.28) transitivePeerDependencies: - supports-color dev: false - /vite@5.1.6(@types/node@20.11.27): - resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.27 - esbuild: 0.19.11 - postcss: 8.4.35 - rollup: 4.13.0 - optionalDependencies: - fsevents: 2.3.3 - /vite@5.1.6(@types/node@20.11.28): resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11503,63 +11221,6 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.27)(happy-dom@13.8.6): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.11.27 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - happy-dom: 13.8.6 - local-pkg: 0.5.0 - magic-string: 0.30.8 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.5.1 - tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.27) - vite-node: 1.4.0(@types/node@20.11.27) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vitest@1.4.0(@types/node@20.11.28)(happy-dom@13.8.6): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11665,7 +11326,7 @@ packages: /vue-bundle-renderer@2.0.0: resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} dependencies: - ufo: 1.4.0 + ufo: 1.5.0 /vue-component-type-helpers@2.0.6: resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} diff --git a/test/bundle.test.ts b/test/bundle.test.ts index a0ac7f0b0f..0ae950e3ae 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"205k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1336k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1337k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 1410756e3f6178f3dda033ef2e2dee51da1ea078 Mon Sep 17 00:00:00 2001 From: Tanvir Rahman <rahmantanvir25558@gmail.com> Date: Fri, 15 Mar 2024 23:29:40 +0600 Subject: [PATCH 261/470] docs: split a sentence in two to improve readability (#26279) --- docs/1.getting-started/5.seo-meta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/5.seo-meta.md b/docs/1.getting-started/5.seo-meta.md index 6c39dfab84..a1ebb2f457 100644 --- a/docs/1.getting-started/5.seo-meta.md +++ b/docs/1.getting-started/5.seo-meta.md @@ -174,7 +174,7 @@ You can use the `titleTemplate` option to provide a dynamic template for customi The `titleTemplate` can either be a string, where `%s` is replaced with the title, or a function. -If you want to use a function (for full control), then this cannot be set in your `nuxt.config`, and it is recommended instead to set it within your `app.vue` file, where it will apply to all pages on your site: +If you want to use a function (for full control), then this cannot be set in your `nuxt.config`. It is recommended instead to set it within your `app.vue` file where it will apply to all pages on your site: ::code-group From 0cb095f1f9691b8a478d6fadd8cf4edb4393a596 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 10:53:51 -0700 Subject: [PATCH 262/470] chore(deps): update devdependency nitropack to v2.9.4 (main) (#26281) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 124 ++++++++++++++++++++++++++--------- 5 files changed, 96 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index 96eac1036c..ce49f2ebe1 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "happy-dom": "13.8.6", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", - "nitropack": "2.9.3", + "nitropack": "2.9.4", "nuxi": "3.10.1", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", diff --git a/packages/kit/package.json b/packages/kit/package.json index 130150f302..6bf55e7500 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -50,7 +50,7 @@ "@types/lodash-es": "4.17.12", "@types/semver": "7.5.8", "lodash-es": "4.17.21", - "nitropack": "2.9.3", + "nitropack": "2.9.4", "unbuild": "latest", "vite": "5.1.6", "vitest": "1.4.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 4554c74af7..2f3757d5be 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -89,7 +89,7 @@ "knitwork": "^1.0.0", "magic-string": "^0.30.8", "mlly": "^1.6.1", - "nitropack": "^2.9.3", + "nitropack": "^2.9.4", "nuxi": "^3.10.1", "nypm": "^0.3.8", "ofetch": "^1.3.3", diff --git a/packages/schema/package.json b/packages/schema/package.json index 5e8dda9027..8c88a3ab75 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -47,7 +47,7 @@ "esbuild-loader": "4.1.0", "h3": "1.11.1", "ignore": "5.3.1", - "nitropack": "2.9.3", + "nitropack": "2.9.4", "ofetch": "1.3.3", "unbuild": "latest", "unctx": "2.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7573228342..9225227737 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,8 +104,8 @@ importers: specifier: 0.39.0 version: 0.39.0 nitropack: - specifier: 2.9.3 - version: 2.9.3 + specifier: 2.9.4 + version: 2.9.4 nuxi: specifier: 3.10.1 version: 3.10.1 @@ -228,8 +228,8 @@ importers: specifier: 4.17.21 version: 4.17.21 nitropack: - specifier: 2.9.3 - version: 2.9.3 + specifier: 2.9.4 + version: 2.9.4 unbuild: specifier: latest version: 2.0.0(typescript@5.4.2) @@ -339,8 +339,8 @@ importers: specifier: ^1.6.1 version: 1.6.1 nitropack: - specifier: ^2.9.3 - version: 2.9.3 + specifier: ^2.9.4 + version: 2.9.4 nuxi: specifier: ^3.10.1 version: 3.10.1 @@ -400,7 +400,7 @@ importers: version: 0.7.0(rollup@4.13.0)(vue-router@4.3.0)(vue@3.4.21) unstorage: specifier: ^1.10.2 - version: 1.10.2 + version: 1.10.2(ioredis@5.3.2) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -515,8 +515,8 @@ importers: specifier: 5.3.1 version: 5.3.1 nitropack: - specifier: 2.9.3 - version: 2.9.3 + specifier: 2.9.4 + version: 2.9.4 ofetch: specifier: 1.3.3 version: 1.3.3 @@ -1930,6 +1930,9 @@ packages: /@humanwhocodes/object-schema@2.0.2: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + /@ioredis/commands@1.2.0: + resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} + /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -3887,28 +3890,29 @@ packages: /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - /archiver-utils@5.0.1: - resolution: {integrity: sha512-MMAoLdMvT/nckofX1tCLrf7uJce4jTNkiT6smA2u57AOImc1nce7mR3EDujxL5yv6/MnILuQH4sAsPtDS8kTvg==} + /archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} engines: {node: '>= 14'} dependencies: glob: 10.3.10 graceful-fs: 4.2.11 + is-stream: 2.0.1 lazystream: 1.0.1 lodash: 4.17.21 normalize-path: 3.0.0 - readable-stream: 3.6.2 + readable-stream: 4.5.2 - /archiver@7.0.0: - resolution: {integrity: sha512-R9HM9egs8FfktSqUqyjlKmvF4U+CWNqm/2tlROV+lOFg79MLdT67ae1l3hU47pGy8twSXxHoiefMCh43w0BriQ==} + /archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} engines: {node: '>= 14'} dependencies: - archiver-utils: 5.0.1 + archiver-utils: 5.0.2 async: 3.2.4 buffer-crc32: 1.0.0 readable-stream: 4.5.2 readdir-glob: 1.1.3 tar-stream: 3.1.6 - zip-stream: 6.0.0 + zip-stream: 6.0.1 /are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} @@ -4444,6 +4448,10 @@ packages: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + /cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -4514,12 +4522,13 @@ packages: /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - /compress-commons@6.0.1: - resolution: {integrity: sha512-l7occIJn8YwlCEbWUCrG6gPms9qnJTCZSaznCa5HaV+yJMH4kM8BDc7q9NyoQuoiB2O6jKgTcTeY462qw6MyHw==} + /compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} dependencies: crc-32: 1.2.2 crc32-stream: 6.0.0 + is-stream: 2.0.1 normalize-path: 3.0.0 readable-stream: 4.5.2 @@ -4968,6 +4977,10 @@ packages: /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + /denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -6614,6 +6627,22 @@ packages: side-channel: 1.0.4 dev: true + /ioredis@5.3.2: + resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} + engines: {node: '>=12.22.0'} + dependencies: + '@ioredis/commands': 1.2.0 + cluster-key-slot: 1.1.2 + debug: 4.3.4 + denque: 2.1.0 + lodash.defaults: 4.2.0 + lodash.isarguments: 3.1.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color + /ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} dev: false @@ -7226,6 +7255,12 @@ packages: /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + /lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + + /lodash.isarguments@3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: false @@ -8070,8 +8105,8 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nitropack@2.9.3: - resolution: {integrity: sha512-k3wXlhxmTNkkFXnVyRYJ6CCdZmvlqjYJ4oaL8o9uTKIjg7A1udAle+3cVDxUWi2r9owwEysAP2+quNsAujZyTg==} + /nitropack@2.9.4: + resolution: {integrity: sha512-i/cbDW5qfZS6pQR4DrlQOFlNoNvQVBuiy7EEvMlrqkmMGXiIJY1WW7L7D4/6m9dF1cwitOu7k0lJWVn74gxfvw==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -8092,7 +8127,7 @@ packages: '@rollup/pluginutils': 5.1.0(rollup@4.13.0) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 - archiver: 7.0.0 + archiver: 7.0.1 c12: 1.10.0 chalk: 5.3.0 chokidar: 3.6.0 @@ -8114,6 +8149,7 @@ packages: h3: 1.11.1 hookable: 5.5.3 httpxy: 0.1.5 + ioredis: 5.3.2 is-primitive: 3.0.1 jiti: 1.21.0 klona: 2.0.6 @@ -8126,7 +8162,7 @@ packages: node-fetch-native: 1.6.2 ofetch: 1.3.3 ohash: 1.1.3 - openapi-typescript: 6.7.4 + openapi-typescript: 6.7.5 pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 @@ -8144,8 +8180,8 @@ packages: unctx: 2.3.1 unenv: 1.9.0 unimport: 3.7.1(rollup@4.13.0) - unstorage: 1.10.2 - unwasm: 0.3.7 + unstorage: 1.10.2(ioredis@5.3.2) + unwasm: 0.3.8 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -8163,7 +8199,6 @@ packages: - drizzle-orm - encoding - idb-keyval - - ioredis - supports-color - uWebSockets.js @@ -8518,8 +8553,8 @@ packages: is-inside-container: 1.0.0 is-wsl: 2.2.0 - /openapi-typescript@6.7.4: - resolution: {integrity: sha512-EZyeW9Wy7UDCKv0iYmKrq2pVZtquXiD/YHiUClAKqiMi42nodx/EQH11K6fLqjt1IZlJmVokrAsExsBMM2RROQ==} + /openapi-typescript@6.7.5: + resolution: {integrity: sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA==} hasBin: true dependencies: ansi-colors: 4.1.3 @@ -9487,6 +9522,16 @@ packages: dependencies: picomatch: 2.3.1 + /redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + /redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + dependencies: + redis-errors: 1.2.0 + /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: true @@ -10108,6 +10153,9 @@ packages: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false + /standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -10794,7 +10842,7 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - /unstorage@1.10.2: + /unstorage@1.10.2(ioredis@5.3.2): resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} peerDependencies: '@azure/app-configuration': ^1.5.0 @@ -10842,6 +10890,7 @@ packages: chokidar: 3.6.0 destr: 2.0.3 h3: 1.11.1 + ioredis: 5.3.2 listhen: 1.7.2 lru-cache: 10.2.0 mri: 1.2.0 @@ -10885,6 +10934,17 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 unplugin: 1.10.0 + dev: true + + /unwasm@0.3.8: + resolution: {integrity: sha512-nIJQXxGl/gTUp5dZkSc8jbxAqSOa9Vv4jjSZXNI6OK0JXdvW3SQUHR+KY66rjI0W//km59jivGgd5TCvBUWsnA==} + dependencies: + knitwork: 1.0.0 + magic-string: 0.30.8 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + unplugin: 1.10.0 /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} @@ -11741,12 +11801,12 @@ packages: /zhead@2.2.4: resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} - /zip-stream@6.0.0: - resolution: {integrity: sha512-X0WFquRRDtL9HR9hc1OrabOP/VKJEX7gAr2geayt3b7dLgXgSXI6ucC4CphLQP/aQt2GyHIYgmXxtC+dVdghAQ==} + /zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} dependencies: - archiver-utils: 5.0.1 - compress-commons: 6.0.1 + archiver-utils: 5.0.2 + compress-commons: 6.0.2 readable-stream: 4.5.2 /zwitch@2.0.4: From 9d08cdfd1f1d65bc2e34a6a14e970d8631328bc2 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 10:53:31 -0700 Subject: [PATCH 263/470] fix(vite): explicitly import `publicAssetsURL` --- packages/vite/src/plugins/public-dirs.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/plugins/public-dirs.ts b/packages/vite/src/plugins/public-dirs.ts index ea36b90e47..a660cc0837 100644 --- a/packages/vite/src/plugins/public-dirs.ts +++ b/packages/vite/src/plugins/public-dirs.ts @@ -24,10 +24,9 @@ export const VitePublicDirsPlugin = createUnplugin(() => { vite: { load: { enforce: 'pre', - handler (id, options) { + handler (id) { if (id.startsWith(PREFIX)) { - const helper = !options?.ssr || nitro.options.imports !== false ? '' : 'globalThis.' - return `export default ${helper}__publicAssetsURL(${JSON.stringify(decodeURIComponent(id.slice(PREFIX.length)))})` + return `import { publicAssetsURL } from '#build/paths.mjs';export default publicAssetsURL(${JSON.stringify(decodeURIComponent(id.slice(PREFIX.length)))})` } } }, From 85166cced759e6d72424ed6c60bab12d1e705cbf Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 10:59:41 -0700 Subject: [PATCH 264/470] feat(schema): allow configuring type hoists with `typescript.hoist` --- packages/nuxt/src/core/nuxt.ts | 2 +- packages/schema/src/config/typescript.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 8cc2a95794..6efea3bb3c 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -63,7 +63,7 @@ async function initNuxt (nuxt: Nuxt) { nuxtCtx.set(nuxt) nuxt.hook('close', () => nuxtCtx.unset()) - const coreTypePackages = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema'] + const coreTypePackages = nuxt.options.typescript.hoist || [] const paths = Object.fromEntries(await Promise.all(coreTypePackages.map(async (pkg) => { const path = await _resolvePath(pkg, { url: nuxt.options.modulesDir }).then(r => resolvePackageJSON(r)).catch(() => null) if (!path) { return } diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 6cef2858b9..8c9eb2c2d0 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -26,6 +26,17 @@ export default defineUntypedSchema({ $resolve: val => val ?? null }, + /** + * Modules to generate deep aliases for within `compilerOptions.paths`. This does not yet support subpaths. + * It may be necessary when using Nuxt within a pnpm monorepo with `shamefully-hoist=false`. + */ + hoist: { + $resolve: (val) => { + const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema'] + return val === false ? [] : (Array.isArray(val) ? val.concat(defaults) : defaults) + } + }, + /** * Include parent workspace in the Nuxt project. Mostly useful for themes and module authors. */ From 81933dfc3dec4a4bcb01be00364b931bafe4fab8 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 11:16:57 -0700 Subject: [PATCH 265/470] fix(nuxt): don't ignore any files from `buildAssetsDir` --- packages/nuxt/src/core/nitro.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 85e415ce79..8b95434d25 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -231,7 +231,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { // Resolve user-provided paths nitroConfig.srcDir = resolve(nuxt.options.rootDir, nuxt.options.srcDir, nitroConfig.srcDir!) - nitroConfig.ignore = [...(nitroConfig.ignore || []), ...resolveIgnorePatterns(nitroConfig.srcDir)] + nitroConfig.ignore = [...(nitroConfig.ignore || []), ...resolveIgnorePatterns(nitroConfig.srcDir), `!${join(nuxt.options.buildDir, 'dist/client', nuxt.options.app.buildAssetsDir)}/**/*`] // Add app manifest handler and prerender configuration if (nuxt.options.experimental.appManifest) { From 5804d397ad46a5d593441393c364899023215f58 Mon Sep 17 00:00:00 2001 From: Tanvir Rahman <rahmantanvir25558@gmail.com> Date: Sat, 16 Mar 2024 00:18:35 +0600 Subject: [PATCH 266/470] docs: removed unused composable example (#26283) --- docs/1.getting-started/7.state-management.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/1.getting-started/7.state-management.md b/docs/1.getting-started/7.state-management.md index 1f58ce72c5..b9d58a4402 100644 --- a/docs/1.getting-started/7.state-management.md +++ b/docs/1.getting-started/7.state-management.md @@ -192,7 +192,6 @@ const date = useLocaleDate(new Date('2016-10-26')) By using [auto-imported composables](/docs/guide/directory-structure/composables) we can define global type-safe states and import them across the app. ```ts twoslash [composables/states.ts] -export const useCounter = () => useState<number>('counter', () => 0) export const useColor = () => useState<string>('color', () => 'pink') ``` From b9168d0b0bf5d0e85eb2af93edc18dde6e928883 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 11:31:13 -0700 Subject: [PATCH 267/470] fix(vite): drop name prefix for client chunk file names (#26203) --- packages/vite/src/client.ts | 4 ++-- test/fixtures/minimal/nuxt.config.ts | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index 6f408c962a..2c57e013c7 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -122,8 +122,8 @@ export async function buildClient (ctx: ViteBuildContext) { // We want to respect users' own rollup output options clientConfig.build!.rollupOptions = defu(clientConfig.build!.rollupOptions!, { output: { - chunkFileNames: ctx.nuxt.options.dev ? undefined : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[name].[hash].js')), - entryFileNames: ctx.nuxt.options.dev ? 'entry.js' : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[name].[hash].js')) + chunkFileNames: ctx.nuxt.options.dev ? undefined : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[hash].js')), + entryFileNames: ctx.nuxt.options.dev ? 'entry.js' : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[hash].js')) } satisfies NonNullable<BuildOptions['rollupOptions']>['output'] }) as any diff --git a/test/fixtures/minimal/nuxt.config.ts b/test/fixtures/minimal/nuxt.config.ts index 282603890b..9f9bac810f 100644 --- a/test/fixtures/minimal/nuxt.config.ts +++ b/test/fixtures/minimal/nuxt.config.ts @@ -7,6 +7,20 @@ export default defineNuxtConfig({ experimental: { externalVue: !testWithInlineVue }, + $production: { + vite: { + $client: { + build: { + rollupOptions: { + output: { + chunkFileNames: '_nuxt/[name].js', + entryFileNames: '_nuxt/[name].js' + } + } + } + } + } + }, buildDir: testWithInlineVue ? '.nuxt-inline' : '.nuxt', nitro: { output: { dir: fileURLToPath(new URL(testWithInlineVue ? './.output-inline' : './.output', import.meta.url)) } From 6b1f3438b613477e0a2e552b7b24952e8d9e5970 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 13:17:06 -0700 Subject: [PATCH 268/470] docs: add more keywords for reducer/reviver docs https://github.com/nuxt/nuxt/issues/21832#issuecomment-1996991526 --- docs/3.api/2.composables/use-nuxt-app.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/3.api/2.composables/use-nuxt-app.md b/docs/3.api/2.composables/use-nuxt-app.md index 20fcefccd7..c1d91933d5 100644 --- a/docs/3.api/2.composables/use-nuxt-app.md +++ b/docs/3.api/2.composables/use-nuxt-app.md @@ -128,9 +128,9 @@ Nuxt exposes the following properties through `ssrContext`: It is also possible to use more advanced types, such as `ref`, `reactive`, `shallowRef`, `shallowReactive` and `NuxtError`. - Since [Nuxt v3.4](https://nuxt.com/blog/v3-4#payload-enhancements), it is possible to define your own serializer/deserializer for types that are not supported by Nuxt. + 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. - In the example below, we define a serializer for the [Luxon](https://moment.github.io/luxon/#/) DateTime class. + In the example below, we define a reducer (or a serializer) and a reviver (or deserializer) for the [Luxon](https://moment.github.io/luxon/#/) DateTime class, using a payload plugin. ```ts [plugins/date-time-payload.ts] /** From f21c24a112fd152eb70e88d59c50c8b32e9b31c3 Mon Sep 17 00:00:00 2001 From: Tanvir Rahman <rahmantanvir25558@gmail.com> Date: Sat, 16 Mar 2024 02:18:13 +0600 Subject: [PATCH 269/470] docs: link to pinceau repo rather than website (#26286) --- docs/1.getting-started/4.styling.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/1.getting-started/4.styling.md b/docs/1.getting-started/4.styling.md index f252bbd6c4..38d2d36f1f 100644 --- a/docs/1.getting-started/4.styling.md +++ b/docs/1.getting-started/4.styling.md @@ -243,7 +243,7 @@ Nuxt uses Vite by default. If you wish to use webpack instead, refer to each pre ## Single File Components (SFC) Styling -One of the best things about Vue and SFC is how great it is at naturally dealing with styling. You can directly write CSS or preprocessor code in the style block of your components file, therefore you will have fantastic developer experience without having to use something like CSS-in-JS. However if you wish to use CSS-in-JS, you can find 3rd party libraries and modules that support it, such as [pinceau](https://pinceau.dev). +One of the best things about Vue and SFC is how great it is at naturally dealing with styling. You can directly write CSS or preprocessor code in the style block of your components file, therefore you will have fantastic developer experience without having to use something like CSS-in-JS. However if you wish to use CSS-in-JS, you can find 3rd party libraries and modules that support it, such as [pinceau](https://github.com/Tahul/pinceau). You can refer to the [Vue docs](https://vuejs.org/api/sfc-css-features.html) for a comprehensive reference about styling components in SFC. @@ -465,7 +465,7 @@ Here are a few modules to help you get started: - [UnoCSS](/modules/unocss): Instant on-demand atomic CSS engine - [Tailwind CSS](/modules/tailwindcss): Utility-first CSS framework - [Fontaine](https://github.com/nuxt-modules/fontaine): Font metric fallback -- [Pinceau](https://pinceau.dev): Adaptable styling framework +- [Pinceau](https://github.com/Tahul/pinceau): Adaptable styling framework - [Nuxt UI](https://ui.nuxt.com): A UI Library for Modern Web Apps - [Panda CSS](https://panda-css.com/docs/installation/nuxt): CSS-in-JS engine that generates atomic CSS at build time From e0ac145e9a833eb1a21515b8e6cc9dcb650ed77a Mon Sep 17 00:00:00 2001 From: Tanvir Rahman <rahmantanvir25558@gmail.com> Date: Sat, 16 Mar 2024 02:18:58 +0600 Subject: [PATCH 270/470] docs: add link to ofetch repo (#26284) --- docs/1.getting-started/6.data-fetching.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/6.data-fetching.md b/docs/1.getting-started/6.data-fetching.md index 3e1cf5cd02..f55f32a7f5 100644 --- a/docs/1.getting-started/6.data-fetching.md +++ b/docs/1.getting-started/6.data-fetching.md @@ -60,7 +60,7 @@ This composable is a wrapper around the [`useAsyncData`](/docs/api/composables/u ## `$fetch` -Nuxt includes the `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. It's what `useFetch` uses behind the scenes. ```vue twoslash [pages/todos.vue] <script setup lang="ts"> From 4be430e13fe7d817ef4f0a805da2c00979f3f1b4 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Fri, 15 Mar 2024 21:54:47 +0100 Subject: [PATCH 271/470] feat(nuxt): pass nuxt instance to `getCachedData` (#26287) --- docs/3.api/2.composables/use-async-data.md | 2 +- docs/3.api/2.composables/use-fetch.md | 2 +- packages/nuxt/src/app/composables/asyncData.ts | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/3.api/2.composables/use-async-data.md b/docs/3.api/2.composables/use-async-data.md index 8ef849235f..4768cedafe 100644 --- a/docs/3.api/2.composables/use-async-data.md +++ b/docs/3.api/2.composables/use-async-data.md @@ -122,7 +122,7 @@ type AsyncDataOptions<DataT> = { transform?: (input: DataT) => DataT | Promise<DataT> pick?: string[] watch?: WatchSource[] - getCachedData?: (key: string) => DataT + getCachedData?: (key: string, nuxtApp: NuxtApp) => DataT } type AsyncData<DataT, ErrorT> = { diff --git a/docs/3.api/2.composables/use-fetch.md b/docs/3.api/2.composables/use-fetch.md index 029f2e1778..1b2c98ab93 100644 --- a/docs/3.api/2.composables/use-fetch.md +++ b/docs/3.api/2.composables/use-fetch.md @@ -144,7 +144,7 @@ type UseFetchOptions<DataT> = { server?: boolean lazy?: boolean immediate?: boolean - getCachedData?: (key: string) => DataT + getCachedData?: (key: string, nuxtApp: NuxtApp) => DataT deep?: boolean dedupe?: 'cancel' | 'defer' default?: () => DataT diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 319be17438..41bf259270 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -61,7 +61,7 @@ export interface AsyncDataOptions< * A `null` or `undefined` return value will trigger a fetch. * Default is `key => nuxt.isHydrating ? nuxt.payload.data[key] : nuxt.static.data[key]` which only caches data when payloadExtraction is enabled. */ - getCachedData?: (key: string) => DataT + getCachedData?: (key: string, nuxtApp: NuxtApp) => DataT /** * A function that can be used to alter handler function result after resolving. * Do not use it along with the `pick` option. @@ -243,7 +243,7 @@ export function useAsyncData< console.warn('[nuxt] `boolean` values are deprecated for the `dedupe` option of `useAsyncData` and will be removed in the future. Use \'cancel\' or \'defer\' instead.') } - const hasCachedData = () => options.getCachedData!(key) != null + const hasCachedData = () => options.getCachedData!(key, nuxtApp) != null // Create or use a shared asyncData entity if (!nuxtApp._asyncData[key] || !options.immediate) { @@ -252,7 +252,7 @@ export function useAsyncData< const _ref = options.deep ? ref : shallowRef nuxtApp._asyncData[key] = { - data: _ref(options.getCachedData!(key) ?? options.default!()), + data: _ref(options.getCachedData!(key, nuxtApp) ?? options.default!()), pending: ref(!hasCachedData()), error: toRef(nuxtApp.payload._errors, key), status: ref('idle') @@ -272,7 +272,7 @@ export function useAsyncData< } // Avoid fetching same key that is already fetched if ((opts._initial || (nuxtApp.isHydrating && opts._initial !== false)) && hasCachedData()) { - return Promise.resolve(options.getCachedData!(key)) + return Promise.resolve(options.getCachedData!(key, nuxtApp)) } asyncData.pending.value = true asyncData.status.value = 'pending' From 5be9253cfe81332e76953d195b17dc1ddef5f99f Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 15:38:07 -0700 Subject: [PATCH 272/470] fix(kit): clone middleware when adding to app --- packages/kit/src/pages.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/pages.ts b/packages/kit/src/pages.ts index 3e36eb2c03..a5f7fc1d3e 100644 --- a/packages/kit/src/pages.ts +++ b/packages/kit/src/pages.ts @@ -53,12 +53,12 @@ export function addRouteMiddleware (input: NuxtMiddleware | NuxtMiddleware[], op if (find >= 0) { if (app.middleware[find].path === middleware.path) { continue } if (options.override === true) { - app.middleware[find] = middleware + app.middleware[find] = { ...middleware } } else { logger.warn(`'${middleware.name}' middleware already exists at '${app.middleware[find].path}'. You can set \`override: true\` to replace it.`) } } else { - app.middleware.push(middleware) + app.middleware.push({ ...middleware }) } } }) From e272b2f2e19c39b0c1dbd9c99b8a4a4e98f42848 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 16:36:47 -0700 Subject: [PATCH 273/470] feat(nuxt): pass server logs to client (#25936) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sébastien Chopin <seb@nuxt.com> --- docs/3.api/6.advanced/1.hooks.md | 2 + packages/nuxt/src/app/nuxt.ts | 2 + .../src/app/plugins/dev-server-logs.client.ts | 62 ++++++++++++++ packages/nuxt/src/app/types/augments.d.ts | 2 + packages/nuxt/src/core/nuxt.ts | 15 +++- .../src/core/runtime/nitro/dev-server-logs.ts | 81 +++++++++++++++++++ packages/nuxt/src/core/templates.ts | 3 + packages/nuxt/types.d.mts | 2 + packages/nuxt/types.d.ts | 2 + packages/schema/src/config/experimental.ts | 15 ++++ packages/schema/src/config/typescript.ts | 2 +- 11 files changed, 186 insertions(+), 2 deletions(-) create mode 100644 packages/nuxt/src/app/plugins/dev-server-logs.client.ts create mode 100644 packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts diff --git a/docs/3.api/6.advanced/1.hooks.md b/docs/3.api/6.advanced/1.hooks.md index e040c14e54..0980575a37 100644 --- a/docs/3.api/6.advanced/1.hooks.md +++ b/docs/3.api/6.advanced/1.hooks.md @@ -29,6 +29,7 @@ Hook | Arguments | Environment | Description `page:loading:start` | - | Client | Called when the `setup()` of the new page is running. `page:loading:end` | - | Client | Called after `page:finish` `page:transition:finish`| `pageComponent?` | Client | After page transition [onAfterLeave](https://vuejs.org/guide/built-ins/transition.html#javascript-hooks) event. +`dev:ssr-logs` | `logs` | Client | Called with an array of server-side logs that have been passed to the client (if `features.devLogs` is enabled). `page:view-transition:start` | `transition` | Client | Called after `document.startViewTransition` is called when [experimental viewTransition support is enabled](https://nuxt.com/docs/getting-started/transitions#view-transitions-api-experimental). ## Nuxt Hooks (build time) @@ -92,6 +93,7 @@ See [Nitro](https://nitro.unjs.io/guide/plugins#available-hooks) for all availab Hook | Arguments | Description | Types -----------------------|-----------------------|--------------------------------------|------------------ +`dev:ssr-logs` | `{ path, logs }` | Server | Called at the end of a request cycle with an array of server-side logs. `render:response` | `response, { event }` | Called before sending the response. | [response](https://github.com/nuxt/nuxt/blob/71ef8bd3ff207fd51c2ca18d5a8c7140476780c7/packages/nuxt/src/core/runtime/nitro/renderer.ts#L24), [event](https://github.com/unjs/h3/blob/f6ceb5581043dc4d8b6eab91e9be4531e0c30f8e/src/types.ts#L38) `render:html` | `html, { event }` | Called before constructing the HTML. | [html](https://github.com/nuxt/nuxt/blob/71ef8bd3ff207fd51c2ca18d5a8c7140476780c7/packages/nuxt/src/core/runtime/nitro/renderer.ts#L15), [event](https://github.com/unjs/h3/blob/f6ceb5581043dc4d8b6eab91e9be4531e0c30f8e/src/types.ts#L38) `render:island` | `islandResponse, { event, islandContext }` | Called before constructing the island HTML. | [islandResponse](https://github.com/nuxt/nuxt/blob/e50cabfed1984c341af0d0c056a325a8aec26980/packages/nuxt/src/core/runtime/nitro/renderer.ts#L28), [event](https://github.com/unjs/h3/blob/f6ceb5581043dc4d8b6eab91e9be4531e0c30f8e/src/types.ts#L38), [islandContext](https://github.com/nuxt/nuxt/blob/e50cabfed1984c341af0d0c056a325a8aec26980/packages/nuxt/src/core/runtime/nitro/renderer.ts#L38) diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 4071bfc8b2..61aecaf95f 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -9,6 +9,7 @@ import type { SSRContext, createRenderer } from 'vue-bundle-renderer/runtime' import type { EventHandlerRequest, H3Event } from 'h3' import type { AppConfig, AppConfigInput, RuntimeConfig } from 'nuxt/schema' import type { RenderResponse } from 'nitropack' +import type { LogObject } from 'consola' import type { MergeHead, VueHeadClient } from '@unhead/vue' import type { NuxtIslandContext } from '../app/types' @@ -40,6 +41,7 @@ export interface RuntimeNuxtHooks { 'app:chunkError': (options: { error: any }) => HookResult 'app:data:refresh': (keys?: string[]) => HookResult 'app:manifest:update': (meta?: NuxtAppManifestMeta) => HookResult + 'dev:ssr-logs': (logs: LogObject[]) => void | Promise<void> 'link:prefetch': (link: string) => HookResult 'page:start': (Component?: VNode) => HookResult 'page:finish': (Component?: VNode) => HookResult diff --git a/packages/nuxt/src/app/plugins/dev-server-logs.client.ts b/packages/nuxt/src/app/plugins/dev-server-logs.client.ts new file mode 100644 index 0000000000..9cfc39e858 --- /dev/null +++ b/packages/nuxt/src/app/plugins/dev-server-logs.client.ts @@ -0,0 +1,62 @@ +import { consola, createConsola } from 'consola' +import type { LogObject } from 'consola' + +import { defineNuxtPlugin } from '../nuxt' + +// @ts-expect-error virtual file +import { devLogs, devRootDir } from '#build/nuxt.config.mjs' + +export default defineNuxtPlugin((nuxtApp) => { + // Show things in console + if (devLogs !== 'silent') { + const logger = createConsola({ + formatOptions: { + colors: true, + date: true + } + }) + const hydrationLogs = new Set<string>() + consola.wrapConsole() + consola.addReporter({ + log (logObj) { + try { + hydrationLogs.add(JSON.stringify(logObj.args)) + } catch { + // silently ignore - the worst case is a user gets log twice + } + } + }) + nuxtApp.hook('dev:ssr-logs', (logs) => { + for (const log of logs) { + // deduplicate so we don't print out things that are logged on client + if (!hydrationLogs.size || !hydrationLogs.has(JSON.stringify(log.args))) { + logger.log(normalizeServerLog({ ...log })) + } + } + }) + + nuxtApp.hooks.hook('app:suspense:resolve', () => consola.restoreAll()) + nuxtApp.hooks.hookOnce('dev:ssr-logs', () => hydrationLogs.clear()) + } + + // pass SSR logs after hydration + nuxtApp.hooks.hook('app:suspense:resolve', async () => { + if (window && window.__NUXT_LOGS__) { + await nuxtApp.hooks.callHook('dev:ssr-logs', window.__NUXT_LOGS__) + } + }) +}) + +function normalizeFilenames (stack?: string) { + stack = stack?.split('\n')[0] || '' + stack = stack.replace(`${devRootDir}/`, '') + stack = stack.replace(/:\d+:\d+\)?$/, '') + return stack +} + +function normalizeServerLog (log: LogObject) { + log.additional = normalizeFilenames(log.stack as string) + log.tag = 'ssr' + delete log.stack + return log +} diff --git a/packages/nuxt/src/app/types/augments.d.ts b/packages/nuxt/src/app/types/augments.d.ts index e9ea30b927..1f9a89e8bf 100644 --- a/packages/nuxt/src/app/types/augments.d.ts +++ b/packages/nuxt/src/app/types/augments.d.ts @@ -1,4 +1,5 @@ import type { UseHeadInput } from '@unhead/vue' +import type { LogObject } from 'consola' import type { NuxtApp, useNuxtApp } from '../nuxt' interface NuxtStaticBuildFlags { @@ -17,6 +18,7 @@ declare global { interface ImportMeta extends NuxtStaticBuildFlags {} interface Window { + __NUXT_LOGS__?: LogObject[] __NUXT__?: Record<string, any> useNuxtApp?: typeof useNuxtApp } diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 6efea3bb3c..0b83c3885c 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -1,7 +1,7 @@ import { dirname, join, normalize, relative, resolve } from 'pathe' import { createDebugger, createHooks } from 'hookable' import type { LoadNuxtOptions } from '@nuxt/kit' -import { addBuildPlugin, addComponent, addPlugin, addRouteMiddleware, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' +import { addBuildPlugin, addComponent, addPlugin, addRouteMiddleware, addServerPlugin, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' import { resolvePath as _resolvePath } from 'mlly' import type { Nuxt, NuxtHooks, NuxtOptions } from 'nuxt/schema' import { resolvePackageJSON } from 'pkg-types' @@ -175,6 +175,19 @@ async function initNuxt (nuxt: Nuxt) { addPlugin(resolve(nuxt.options.appDir, 'plugins/check-if-layout-used')) } + if (nuxt.options.dev && nuxt.options.features.devLogs) { + addPlugin(resolve(nuxt.options.appDir, 'plugins/dev-server-logs.client')) + addServerPlugin(resolve(distDir, 'core/runtime/nitro/dev-server-logs')) + nuxt.options.nitro = defu(nuxt.options.nitro, { + externals: { + inline: [/#internal\/dev-server-logs-options/] + }, + virtual: { + '#internal/dev-server-logs-options': () => `export const rootDir = ${JSON.stringify(nuxt.options.rootDir)};` + } + }) + } + // Transform initial composable call within `<script setup>` to preserve context if (nuxt.options.experimental.asyncContext) { addBuildPlugin(AsyncContextInjectionPlugin(nuxt)) diff --git a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts new file mode 100644 index 0000000000..63b955eae6 --- /dev/null +++ b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts @@ -0,0 +1,81 @@ +import { AsyncLocalStorage } from 'node:async_hooks' +import type { LogObject } from 'consola' +import { consola } from 'consola' +import devalue from '@nuxt/devalue' +import type { H3Event } from 'h3' +import { withTrailingSlash } from 'ufo' +import { getContext } from 'unctx' + +import type { NitroApp } from '#internal/nitro/app' + +// @ts-expect-error virtual file +import { rootDir } from '#internal/dev-server-logs-options' + +interface NuxtDevAsyncContext { + logs: LogObject[] + event: H3Event +} + +const asyncContext = getContext<NuxtDevAsyncContext>('nuxt-dev', { asyncContext: true, AsyncLocalStorage }) + +export default (nitroApp: NitroApp) => { + const handler = nitroApp.h3App.handler + nitroApp.h3App.handler = (event) => { + return asyncContext.callAsync({ logs: [], event }, () => handler(event)) + } + + onConsoleLog((_log) => { + const ctx = asyncContext.use() + const stack = getStack() + if (stack.includes('runtime/vite-node.mjs')) { return } + + const log = { + ..._log, + // Pass along filename to allow the client to display more info about where log comes from + filename: extractFilenameFromStack(stack), + // Clean up file names in stack trace + stack: normalizeFilenames(stack) + } + + // retain log to be include in the next render + ctx.logs.push(log) + }) + + nitroApp.hooks.hook('afterResponse', () => { + const ctx = asyncContext.use() + return nitroApp.hooks.callHook('dev:ssr-logs', { logs: ctx.logs, path: ctx.event.path }) + }) + + // Pass any logs to the client + nitroApp.hooks.hook('render:html', (htmlContext) => { + htmlContext.bodyAppend.unshift(`<script>window.__NUXT_LOGS__ = ${devalue(asyncContext.use().logs)}</script>`) + }) +} + +const EXCLUDE_TRACE_RE = /^.*at.*(\/node_modules\/(.*\/)?(nuxt|nuxt-nightly|nuxt-edge|nuxt3|consola|@vue)\/.*|core\/runtime\/nitro.*)$\n?/gm +function getStack () { + // Pass along stack traces if needed (for error and warns) + // eslint-disable-next-line unicorn/error-message + const stack = new Error() + Error.captureStackTrace(stack) + return stack.stack?.replace(EXCLUDE_TRACE_RE, '').replace(/^Error.*\n/, '') || '' +} + +const FILENAME_RE = /at.*\(([^:)]+)[):]/ +const FILENAME_RE_GLOBAL = /at.*\(([^)]+)\)/g +function extractFilenameFromStack (stacktrace: string) { + return stacktrace.match(FILENAME_RE)?.[1].replace(withTrailingSlash(rootDir), '') +} +function normalizeFilenames (stacktrace: string) { + // remove line numbers and file: protocol - TODO: sourcemap support for line numbers + return stacktrace.replace(FILENAME_RE_GLOBAL, (match, filename) => match.replace(filename, filename.replace('file:///', '/').replace(/:.*$/, ''))) +} + +function onConsoleLog (callback: (log: LogObject) => void) { + consola.addReporter({ + log (logObj) { + callback(logObj) + } + }) + consola.wrapConsole() +} diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index c3f7cfa49d..52cb7a460d 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -228,6 +228,7 @@ export const nitroSchemaTemplate: NuxtTemplate = { import type { RuntimeConfig } from 'nuxt/schema' import type { H3Event } from 'h3' +import type { LogObject } from 'consola' import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from 'nuxt/app' declare module 'nitropack' { @@ -245,6 +246,7 @@ declare module 'nitropack' { experimentalNoScripts?: boolean } interface NitroRuntimeHooks { + 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> 'render:html': (htmlContext: NuxtRenderHTMLContext, context: { event: H3Event }) => void | Promise<void> 'render:island': (islandResponse: NuxtIslandResponse, context: { event: H3Event, islandContext: NuxtIslandContext }) => void | Promise<void> } @@ -388,6 +390,7 @@ export const nuxtConfigTemplate: NuxtTemplate = { `export const selectiveClient = ${typeof ctx.nuxt.options.experimental.componentIslands === 'object' && Boolean(ctx.nuxt.options.experimental.componentIslands.selectiveClient)}`, `export const devPagesDir = ${ctx.nuxt.options.dev ? JSON.stringify(ctx.nuxt.options.dir.pages) : 'null'}`, `export const devRootDir = ${ctx.nuxt.options.dev ? JSON.stringify(ctx.nuxt.options.rootDir) : 'null'}`, + `export const devLogs = ${JSON.stringify(ctx.nuxt.options.features.devLogs)}`, `export const nuxtLinkDefaults = ${JSON.stringify(ctx.nuxt.options.experimental.defaults.nuxtLink)}`, `export const asyncDataDefaults = ${JSON.stringify(ctx.nuxt.options.experimental.defaults.useAsyncData)}`, `export const fetchDefaults = ${JSON.stringify(fetchDefaults)}`, diff --git a/packages/nuxt/types.d.mts b/packages/nuxt/types.d.mts index a2d0de646c..98771c18e2 100644 --- a/packages/nuxt/types.d.mts +++ b/packages/nuxt/types.d.mts @@ -5,6 +5,7 @@ import type { DefineNuxtConfig } from 'nuxt/config' import type { RuntimeConfig, SchemaDefinition } from 'nuxt/schema' import type { H3Event } from 'h3' import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/app/types.js' +import type { LogObject } from 'consola' declare global { const defineNuxtConfig: DefineNuxtConfig @@ -27,6 +28,7 @@ declare module 'nitropack' { experimentalNoScripts?: boolean } interface NitroRuntimeHooks { + 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> 'render:html': (htmlContext: NuxtRenderHTMLContext, context: { event: H3Event }) => void | Promise<void> 'render:island': (islandResponse: NuxtIslandResponse, context: { event: H3Event, islandContext: NuxtIslandContext }) => void | Promise<void> } diff --git a/packages/nuxt/types.d.ts b/packages/nuxt/types.d.ts index 7f9075ad82..8b9c9b9118 100644 --- a/packages/nuxt/types.d.ts +++ b/packages/nuxt/types.d.ts @@ -2,6 +2,7 @@ import type { DefineNuxtConfig } from 'nuxt/config' import type { RuntimeConfig, SchemaDefinition } from 'nuxt/schema' import type { H3Event } from 'h3' +import type { LogObject } from 'consola' import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/app/types' export * from './dist/index' @@ -27,6 +28,7 @@ declare module 'nitropack' { experimentalNoScripts?: boolean } interface NitroRuntimeHooks { + 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> 'render:html': (htmlContext: NuxtRenderHTMLContext, context: { event: H3Event }) => void | Promise<void> 'render:island': (islandResponse: NuxtIslandResponse, context: { event: H3Event, islandContext: NuxtIslandContext }) => void | Promise<void> } diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 47d486495a..6c835355e3 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -52,6 +52,21 @@ export default defineUntypedSchema({ } }, + /** + * Stream server logs to the client as you are developing. These logs can + * be handled in the `dev:ssr-logs` hook. + * + * If set to `silent`, the logs will not be printed to the browser console. + * @type {boolean | 'silent'} + */ + devLogs: { + async $resolve (val, get) { + if (val !== undefined) { return val } + const [isDev, isTest] = await Promise.all([get('dev'), get('test')]) + return isDev && !isTest + } + }, + /** * Turn off rendering of Nuxt scripts and JS resource hints. * You can also disable scripts more granularly within `routeRules`. diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 8c9eb2c2d0..7569339220 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -32,7 +32,7 @@ export default defineUntypedSchema({ */ hoist: { $resolve: (val) => { - const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema'] + const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', 'consola', '@nuxt/schema'] return val === false ? [] : (Array.isArray(val) ? val.concat(defaults) : defaults) } }, From 814859d769babc5893d0c6f95417dd71c1aac90d Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 17:07:38 -0700 Subject: [PATCH 274/470] fix(nuxt): don't generate separate chunk for stubs (#26291) --- packages/nuxt/src/pages/module.ts | 1 + packages/nuxt/src/pages/utils.ts | 13 ++++++++++--- packages/schema/src/types/hooks.ts | 2 ++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 9eb1eefaa2..f03c6279c3 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -364,6 +364,7 @@ export default defineNuxtModule({ const rule = nitro.options.routeRules[path] if (!rule.redirect) { continue } routes.push({ + _sync: true, path: path.replace(/\/[^/]*\*\*/, '/:pathMatch(.*)'), file: resolve(runtimeDir, 'component-stub') }) diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index af3386e70e..28ece519e6 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -444,9 +444,16 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set<string> = } const file = normalize(page.file) - const metaImportName = genSafeVariableName(filename(file) + hash(file)) + 'Meta' + const pageImportName = genSafeVariableName(filename(file) + hash(file)) + const metaImportName = pageImportName + 'Meta' metaImports.add(genImport(`${file}?macro=true`, [{ name: 'default', as: metaImportName }])) + if (page._sync) { + metaImports.add(genImport(file, [{ name: 'default', as: pageImportName }])) + } + + const pageImport = page._sync && page.mode !== 'client' ? pageImportName : genDynamicImport(file, { interopDefault: true }) + const metaRoute: NormalizedRoute = { name: `${metaImportName}?.name ?? ${route.name}`, path: `${metaImportName}?.path ?? ${route.path}`, @@ -456,8 +463,8 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set<string> = component: page.mode === 'server' ? `() => createIslandPage(${route.name})` : page.mode === 'client' - ? `() => createClientPage(${genDynamicImport(file, { interopDefault: true })})` - : genDynamicImport(file, { interopDefault: true }) + ? `() => createClientPage(${pageImport})` + : pageImport } if (page.mode === 'server') { diff --git a/packages/schema/src/types/hooks.ts b/packages/schema/src/types/hooks.ts index 6a33051266..1c4fde5fad 100644 --- a/packages/schema/src/types/hooks.ts +++ b/packages/schema/src/types/hooks.ts @@ -44,6 +44,8 @@ export type NuxtPage = { * @default 'all' */ mode?: 'client' | 'server' | 'all' + /** @internal */ + _sync?: boolean } export type NuxtMiddleware = { From 92929cee17d71b98abe315d8955f4d3f025b9c4e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 17:07:49 -0700 Subject: [PATCH 275/470] chore(deps): update dependency ufo to v1.5.1 (main) (#26290) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 62 ++++++++++++++++------------------- test/bundle.test.ts | 2 +- 8 files changed, 35 insertions(+), 41 deletions(-) diff --git a/package.json b/package.json index ce49f2ebe1..bc6c9e23c6 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "semver": "7.6.0", "std-env": "3.7.0", "typescript": "5.4.2", - "ufo": "1.5.0", + "ufo": "1.5.1", "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", diff --git a/packages/kit/package.json b/packages/kit/package.json index 6bf55e7500..eb76f6f9e8 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -40,7 +40,7 @@ "pkg-types": "^1.0.3", "scule": "^1.3.0", "semver": "^7.6.0", - "ufo": "^1.5.0", + "ufo": "^1.5.1", "unctx": "^2.3.1", "unimport": "^3.7.1", "untyped": "^1.4.2" diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 2f3757d5be..291b524534 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -101,7 +101,7 @@ "scule": "^1.3.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", - "ufo": "^1.5.0", + "ufo": "^1.5.1", "ultrahtml": "^1.5.3", "uncrypto": "^0.1.3", "unctx": "^2.3.1", diff --git a/packages/schema/package.json b/packages/schema/package.json index 8c88a3ab75..eef543a98c 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -69,7 +69,7 @@ "pkg-types": "^1.0.3", "scule": "^1.3.0", "std-env": "^3.7.0", - "ufo": "^1.5.0", + "ufo": "^1.5.1", "unimport": "^3.7.1", "untyped": "^1.4.2" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index 9a11ba8cf9..7674874e6b 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -59,7 +59,7 @@ "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", - "ufo": "^1.5.0", + "ufo": "^1.5.1", "unenv": "^1.9.0", "unplugin": "^1.10.0", "vite": "^5.1.6", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 27c17839df..22e46bd117 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -56,7 +56,7 @@ "pug-plain-loader": "^1.1.0", "std-env": "^3.7.0", "time-fix-plugin": "^2.0.7", - "ufo": "^1.5.0", + "ufo": "^1.5.1", "unenv": "^1.9.0", "unplugin": "^1.10.0", "url-loader": "^4.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9225227737..744180f331 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -137,8 +137,8 @@ importers: specifier: 5.4.2 version: 5.4.2 ufo: - specifier: 1.5.0 - version: 1.5.0 + specifier: 1.5.1 + version: 1.5.1 vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) @@ -203,8 +203,8 @@ importers: specifier: ^7.6.0 version: 7.6.0 ufo: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.5.1 + version: 1.5.1 unctx: specifier: ^2.3.1 version: 2.3.1 @@ -375,8 +375,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ufo: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.5.1 + version: 1.5.1 ultrahtml: specifier: ^1.5.3 version: 1.5.3 @@ -466,8 +466,8 @@ importers: specifier: ^3.7.0 version: 3.7.0 ufo: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.5.1 + version: 1.5.1 unimport: specifier: ^3.7.1 version: 3.7.1(rollup@4.13.0) @@ -635,8 +635,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ufo: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.5.1 + version: 1.5.1 unenv: specifier: ^1.9.0 version: 1.9.0 @@ -771,8 +771,8 @@ importers: specifier: ^2.0.7 version: 2.0.7(webpack@5.90.3) ufo: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.5.1 + version: 1.5.1 unenv: specifier: ^1.9.0 version: 1.9.0 @@ -2327,7 +2327,7 @@ packages: radix3: 1.1.1 scule: 1.3.0 std-env: 3.7.0 - ufo: 1.5.0 + ufo: 1.5.1 unenv: 1.9.0 unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.28) @@ -2374,11 +2374,11 @@ packages: remark-rehype: 11.1.0 scule: 1.3.0 shiki: 1.1.6 - ufo: 1.5.0 + ufo: 1.5.1 unified: 11.0.4 unist-builder: 4.0.0 unist-util-visit: 5.0.0 - unwasm: 0.3.7 + unwasm: 0.3.8 transitivePeerDependencies: - supports-color dev: true @@ -5795,7 +5795,7 @@ packages: enhanced-resolve: 5.15.0 mlly: 1.6.1 pathe: 1.1.2 - ufo: 1.5.0 + ufo: 1.5.1 dev: false /fake-indexeddb@5.0.2: @@ -6295,7 +6295,7 @@ packages: iron-webcrypto: 1.0.0 ohash: 1.1.3 radix3: 1.1.1 - ufo: 1.5.0 + ufo: 1.5.1 uncrypto: 0.1.3 unenv: 1.9.0 transitivePeerDependencies: @@ -7193,7 +7193,7 @@ packages: node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 - ufo: 1.5.0 + ufo: 1.5.1 untun: 0.1.3 uqr: 0.1.2 transitivePeerDependencies: @@ -8057,7 +8057,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.5.0 + ufo: 1.5.1 /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -8175,7 +8175,7 @@ packages: serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 - ufo: 1.5.0 + ufo: 1.5.1 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 @@ -8443,7 +8443,7 @@ packages: consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 - ufo: 1.5.0 + ufo: 1.5.1 /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -8508,7 +8508,7 @@ packages: dependencies: destr: 2.0.3 node-fetch-native: 1.6.2 - ufo: 1.5.0 + ufo: 1.5.1 /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} @@ -10618,6 +10618,10 @@ packages: /ufo@1.5.0: resolution: {integrity: sha512-c7SxU8XB0LTO7hALl6CcE1Q92ZrLzr1iE0IVIsUa9SlFfkn2B2p6YLO6dLxOj7qCWY98PB3Q3EZbN6bEu8p7jA==} + dev: true + + /ufo@1.5.1: + resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==} /ultrahtml@1.5.3: resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} @@ -10896,7 +10900,7 @@ packages: mri: 1.2.0 node-fetch-native: 1.6.2 ofetch: 1.3.3 - ufo: 1.5.0 + ufo: 1.5.1 transitivePeerDependencies: - uWebSockets.js @@ -10926,16 +10930,6 @@ packages: transitivePeerDependencies: - supports-color - /unwasm@0.3.7: - resolution: {integrity: sha512-+s4iWvHHYnLuwNo+9mqVFLBmBzGc3gIuzkVZ8fdMN9K/kWopCnfaUVnDagd2OX3It5nRR5EenI5nSQb8FOd0fA==} - dependencies: - magic-string: 0.30.8 - mlly: 1.6.1 - pathe: 1.1.2 - pkg-types: 1.0.3 - unplugin: 1.10.0 - dev: true - /unwasm@0.3.8: resolution: {integrity: sha512-nIJQXxGl/gTUp5dZkSc8jbxAqSOa9Vv4jjSZXNI6OK0JXdvW3SQUHR+KY66rjI0W//km59jivGgd5TCvBUWsnA==} dependencies: @@ -11386,7 +11380,7 @@ packages: /vue-bundle-renderer@2.0.0: resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} dependencies: - ufo: 1.5.0 + ufo: 1.5.1 /vue-component-type-helpers@2.0.6: resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 0ae950e3ae..01fb3beb41 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"205k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1337k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1338k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 0362ebf43c19b5b4329265742f41b905c6d1b18e Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 18:31:29 -0700 Subject: [PATCH 276/470] fix(nuxt): use `joinRelativeURL` for build assets (#26282) --- packages/nuxt/src/core/templates.ts | 2 +- pnpm-lock.yaml | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 52cb7a460d..383fc2c179 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -326,7 +326,7 @@ export const publicPathTemplate: NuxtTemplate = { filename: 'paths.mjs', getContents ({ nuxt }) { return [ - 'import { joinURL } from \'ufo\'', + 'import { joinRelativeURL as joinURL } from \'ufo\'', !nuxt.options.dev && 'import { useRuntimeConfig } from \'#internal/nitro\'', nuxt.options.dev diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 744180f331..54e032f65a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -855,7 +855,7 @@ importers: devDependencies: ufo: specifier: latest - version: 1.5.0 + version: 1.5.1 unplugin: specifier: latest version: 1.10.0 @@ -10616,10 +10616,6 @@ packages: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: true - /ufo@1.5.0: - resolution: {integrity: sha512-c7SxU8XB0LTO7hALl6CcE1Q92ZrLzr1iE0IVIsUa9SlFfkn2B2p6YLO6dLxOj7qCWY98PB3Q3EZbN6bEu8p7jA==} - dev: true - /ufo@1.5.1: resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==} From 357f8db418225bed3b08e2c0e56b5847750c0446 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 17:54:32 -0700 Subject: [PATCH 277/470] fix(schema): allow passing `deep` to `selectiveClient` --- packages/schema/src/config/experimental.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 6c835355e3..dd93075c25 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -190,7 +190,7 @@ export default defineUntypedSchema({ * * By default it is set to 'auto', which means it will be enabled only when there are islands, * server components or server pages in your app. - * @type {true | 'auto' | 'local' | 'local+remote' | Partial<{ remoteIsland: boolean, selectiveClient: boolean }> | false} + * @type {true | 'auto' | 'local' | 'local+remote' | Partial<{ remoteIsland: boolean, selectiveClient: boolean | 'deep' }> | false} */ componentIslands: { $resolve: (val) => { From 5a387d5f0a2c5417b26cabf62eb4000f2a422684 Mon Sep 17 00:00:00 2001 From: Tanvir Rahman <rahmantanvir25558@gmail.com> Date: Sat, 16 Mar 2024 08:12:19 +0600 Subject: [PATCH 278/470] docs: improve section titles in error-handling docs (#26288) --- docs/1.getting-started/8.error-handling.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/1.getting-started/8.error-handling.md b/docs/1.getting-started/8.error-handling.md index 7ede474f2f..e3b944dbc6 100644 --- a/docs/1.getting-started/8.error-handling.md +++ b/docs/1.getting-started/8.error-handling.md @@ -7,15 +7,15 @@ navigation.icon: i-ph-bug-beetle-duotone Nuxt 3 is a full-stack framework, which means there are several sources of unpreventable user runtime errors that can happen in different contexts: - Errors during the Vue rendering lifecycle (SSR & CSR) -- Errors during Nitro server lifecycle ([`server/`](/docs/guide/directory-structure/server) directory) - Server and client startup errors (SSR + CSR) +- Errors during Nitro server lifecycle ([`server/`](/docs/guide/directory-structure/server) directory) - Errors downloading JS chunks ::tip **SSR** stands for **Server-Side Rendering** and **CSR** for **Client-Side Rendering**. :: -## Vue Rendering Lifecycle +## Vue Errors You can hook into Vue errors using [`onErrorCaptured`](https://vuejs.org/api/composition-api-lifecycle.html#onerrorcaptured). @@ -51,7 +51,7 @@ This includes: - mounting the app (on client-side), though you should handle this case with `onErrorCaptured` or with `vue:error` - processing the `app:mounted` hook -## Nitro Server Lifecycle +## Nitro Server Errors You cannot currently define a server-side handler for these errors, but can render an error page, see the [Render an Error Page](#error-page) section. From c78c1161ad052461aea0ba5f8c9ad6dda352b5e5 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 19:36:04 -0700 Subject: [PATCH 279/470] ci: release in ci when a v3 tag is pushed --- .../{changelogensets.yml => changelog.yml} | 4 +- .github/workflows/release-pr.yml | 2 +- .github/workflows/release.yml | 39 +++++++++++++++++++ scripts/release.sh | 3 -- 4 files changed, 42 insertions(+), 6 deletions(-) rename .github/workflows/{changelogensets.yml => changelog.yml} (96%) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/changelogensets.yml b/.github/workflows/changelog.yml similarity index 96% rename from .github/workflows/changelogensets.yml rename to .github/workflows/changelog.yml index 92ad691096..515b3735e9 100644 --- a/.github/workflows/changelogensets.yml +++ b/.github/workflows/changelog.yml @@ -1,4 +1,4 @@ -name: Release +name: changelog on: push: @@ -15,7 +15,7 @@ concurrency: cancel-in-progress: ${{ github.event_name != 'push' }} jobs: - update-changelog: + update: if: github.repository_owner == 'nuxt' && !contains(github.event.head_commit.message, 'v3.') runs-on: ubuntu-latest diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index b2f95e5d71..9d4d26a63e 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -1,4 +1,4 @@ -name: release +name: release-pr on: issue_comment: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..606a60aa6d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,39 @@ +name: release + +on: + push: + tags: + - "v*" + +# Remove default permissions of GITHUB_TOKEN for security +# https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs +permissions: {} + +jobs: + release: + if: github.repository == 'nuxt/nuxt' && startsWith(github.event.head_commit.message, 'v3.') + permissions: + id-token: write + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + - run: corepack enable + - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + with: + node-version: 20 + cache: "pnpm" + + - name: Install dependencies + run: pnpm install + + - name: Build (stub) + run: pnpm dev:prepare + + - name: Release + run: ./scripts/release.sh + env: + NODE_AUTH_TOKEN: ${{secrets.RELEASE_NODE_AUTH_TOKEN}} + NPM_CONFIG_PROVENANCE: true diff --git a/scripts/release.sh b/scripts/release.sh index 96a1dddcc1..a7ff988da4 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -24,6 +24,3 @@ for PKG in packages/* ; do pnpm publish --access public --no-git-checks --tag $TAG popd > /dev/null done - -# Restore environment to dev mode -pnpm dev:prepare From adbd53a257e06c29293e97c2e328a65461109503 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 19:37:13 -0700 Subject: [PATCH 280/470] fix(schema): don't hoist types for `consola` for now --- packages/schema/src/config/typescript.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 7569339220..8c9eb2c2d0 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -32,7 +32,7 @@ export default defineUntypedSchema({ */ hoist: { $resolve: (val) => { - const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', 'consola', '@nuxt/schema'] + const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema'] return val === false ? [] : (Array.isArray(val) ? val.concat(defaults) : defaults) } }, From 1dc51668a40a2f96c9a0b430254dc341cd67ec23 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 19:43:15 -0700 Subject: [PATCH 281/470] chore: bump ip and follow-redirects --- pnpm-lock.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54e032f65a..6135be2bff 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4088,7 +4088,7 @@ packages: /axios@1.6.5: resolution: {integrity: sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==} dependencies: - follow-redirects: 1.15.5 + follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -5922,8 +5922,8 @@ packages: vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: true - /follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -6643,8 +6643,8 @@ packages: transitivePeerDependencies: - supports-color - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + /ip@2.0.1: + resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} dev: false /iron-webcrypto@1.0.0: @@ -10084,7 +10084,7 @@ packages: resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} dependencies: - ip: 2.0.0 + ip: 2.0.1 smart-buffer: 4.2.0 dev: false From 977377777afcc38186c7a309a86e9e5613470652 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 15 Mar 2024 19:51:35 -0700 Subject: [PATCH 282/470] fix(nuxt): guard `window` access more carefully --- packages/nuxt/src/app/plugins/dev-server-logs.client.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/plugins/dev-server-logs.client.ts b/packages/nuxt/src/app/plugins/dev-server-logs.client.ts index 9cfc39e858..9f03fd4b4e 100644 --- a/packages/nuxt/src/app/plugins/dev-server-logs.client.ts +++ b/packages/nuxt/src/app/plugins/dev-server-logs.client.ts @@ -7,6 +7,8 @@ import { defineNuxtPlugin } from '../nuxt' import { devLogs, devRootDir } from '#build/nuxt.config.mjs' export default defineNuxtPlugin((nuxtApp) => { + if (!import.meta.client || import.meta.test) { return } + // Show things in console if (devLogs !== 'silent') { const logger = createConsola({ @@ -41,7 +43,7 @@ export default defineNuxtPlugin((nuxtApp) => { // pass SSR logs after hydration nuxtApp.hooks.hook('app:suspense:resolve', async () => { - if (window && window.__NUXT_LOGS__) { + if (typeof window !== 'undefined' && window.__NUXT_LOGS__) { await nuxtApp.hooks.callHook('dev:ssr-logs', window.__NUXT_LOGS__) } }) From 20079904c0ea71292e5065af78ebd5983bbbf639 Mon Sep 17 00:00:00 2001 From: Max Schmitt <max@schmitt.mx> Date: Sat, 16 Mar 2024 16:39:04 +0100 Subject: [PATCH 283/470] ci: do not cache Playwright browsers (#26296) --- .github/workflows/benchmark.yml | 2 -- .github/workflows/ci.yml | 25 ------------------------- 2 files changed, 27 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 028a297f84..11fd7e89d2 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -15,8 +15,6 @@ env: # 7 GiB by default on GitHub, setting to 6 GiB # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources NODE_OPTIONS: --max-old-space-size=6144 - # install playwright binary manually (because pnpm only runs install script once) - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1" # Remove default permissions of GITHUB_TOKEN for security # https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d700a26b80..794399403c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,8 +20,6 @@ env: # 7 GiB by default on GitHub, setting to 6 GiB # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources NODE_OPTIONS: --max-old-space-size=6144 - # install playwright binary manually (because pnpm only runs install script once) - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1" # Remove default permissions of GITHUB_TOKEN for security # https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs @@ -220,29 +218,6 @@ jobs: - name: Install dependencies run: pnpm install - # Install playwright's binary under custom directory to cache - - name: (non-windows) Set Playwright path and Get playwright version - if: runner.os != 'Windows' - run: | - echo "PLAYWRIGHT_BROWSERS_PATH=$HOME/.cache/playwright-bin" >> $GITHUB_ENV - PLAYWRIGHT_VERSION="$(pnpm ls --depth 0 --json -w playwright-core | jq --raw-output '.[0].devDependencies["playwright-core"].version')" - echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_VERSION" >> $GITHUB_ENV - - - name: (windows) Set Playwright path and Get playwright version - if: runner.os == 'Windows' - run: | - echo "PLAYWRIGHT_BROWSERS_PATH=$HOME\.cache\playwright-bin" >> $env:GITHUB_ENV - $env:PLAYWRIGHT_VERSION="$(pnpm ls --depth 0 --json -w playwright-core | jq --raw-output '.[0].devDependencies["playwright-core"].version')" - echo "PLAYWRIGHT_VERSION=$env:PLAYWRIGHT_VERSION" >> $env:GITHUB_ENV - - - name: Cache Playwright's binary - uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 - with: - key: ${{ runner.os }}-playwright-bin-v1-${{ env.PLAYWRIGHT_VERSION }} - path: ${{ env.PLAYWRIGHT_BROWSERS_PATH }} - restore-keys: | - ${{ runner.os }}-playwright-bin-v1- - - name: Install Playwright run: pnpm playwright-core install chromium From c7d0567da1fce651515051ddbbdc41a657cce2b0 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 10:11:13 -0700 Subject: [PATCH 284/470] test: use retryable assertion for `scrollY` (#26298) --- test/basic.test.ts | 92 +++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 50 deletions(-) diff --git a/test/basic.test.ts b/test/basic.test.ts index e7cd7e15ac..cdff0b331f 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -717,61 +717,53 @@ describe('nuxt links', () => { await page.close() }) - it('expect scroll to top on routes with same component', - async () => { - // #22402 - const page = await createPage('/big-page-1', { - viewport: { - width: 1000, - height: 1000 - } - }) - await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/big-page-1') + it('expect scroll to top on routes with same component', async () => { + // #22402 + const page = await createPage('/big-page-1', { + viewport: { + width: 1000, + height: 1000 + } + }) + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/big-page-1') - await page.locator('#big-page-2').scrollIntoViewIfNeeded() - expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) - await page.locator('#big-page-2').click() - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/big-page-2') - expect(await page.evaluate(() => window.scrollY)).toBe(0) + await page.locator('#big-page-2').scrollIntoViewIfNeeded() + await page.waitForFunction(() => window.scrollY > 0) + await page.locator('#big-page-2').click() + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/big-page-2') + await page.waitForFunction(() => window.scrollY === 0) - await page.locator('#big-page-1').scrollIntoViewIfNeeded() - expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) - await page.locator('#big-page-1').click() - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/big-page-1') - expect(await page.evaluate(() => window.scrollY)).toBe(0) - await page.close() - }, - // Flaky behavior when using Webpack - { retry: isWebpack ? 10 : 0 } - ) + await page.locator('#big-page-1').scrollIntoViewIfNeeded() + await page.waitForFunction(() => window.scrollY > 0) + await page.locator('#big-page-1').click() + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/big-page-1') + await page.waitForFunction(() => window.scrollY === 0) + await page.close() + }) - it('expect scroll to top on nested pages', - async () => { - // #20523 - const page = await createPage('/nested/foo/test', { - viewport: { - width: 1000, - height: 1000 - } - }) - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') + it('expect scroll to top on nested pages', async () => { + // #20523 + const page = await createPage('/nested/foo/test', { + viewport: { + width: 1000, + height: 1000 + } + }) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') - await page.locator('#user-test').scrollIntoViewIfNeeded() - expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) - await page.locator('#user-test').click() - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/user-test') - expect(await page.evaluate(() => window.scrollY)).toBe(0) + await page.locator('#user-test').scrollIntoViewIfNeeded() + expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) + await page.locator('#user-test').click() + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/user-test') + expect(await page.evaluate(() => window.scrollY)).toBe(0) - await page.locator('#test').scrollIntoViewIfNeeded() - expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) - await page.locator('#test').click() - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') - expect(await page.evaluate(() => window.scrollY)).toBe(0) - await page.close() - }, - // Flaky behavior when using Webpack - { retry: isWebpack ? 10 : 0 } - ) + await page.locator('#test').scrollIntoViewIfNeeded() + expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) + await page.locator('#test').click() + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') + expect(await page.evaluate(() => window.scrollY)).toBe(0) + await page.close() + }) }) describe('head tags', () => { From adc728e2a35f6bd0cb55a965f684c20683452475 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Mar 2024 10:11:31 -0700 Subject: [PATCH 285/470] chore(deps): update all non-major dependencies to ^1.8.20 (main) (#26294) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- packages/nuxt/package.json | 6 ++-- packages/schema/package.json | 2 +- pnpm-lock.yaml | 62 ++++++++++++++++++------------------ test/bundle.test.ts | 4 +-- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 291b524534..d1454a234b 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.8.18", - "@unhead/ssr": "^1.8.18", - "@unhead/vue": "^1.8.18", + "@unhead/dom": "^1.8.20", + "@unhead/ssr": "^1.8.20", + "@unhead/vue": "^1.8.20", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index eef543a98c..ce3da53268 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.8.18", + "@unhead/schema": "1.8.20", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6135be2bff..ce3635d929 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -270,14 +270,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.11.28 '@unhead/dom': - specifier: ^1.8.18 - version: 1.8.18 + specifier: ^1.8.20 + version: 1.8.20 '@unhead/ssr': - specifier: ^1.8.18 - version: 1.8.18 + specifier: ^1.8.20 + version: 1.8.20 '@unhead/vue': - specifier: ^1.8.18 - version: 1.8.18(vue@3.4.21) + specifier: ^1.8.20 + version: 1.8.20(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -488,8 +488,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.8.18 - version: 1.8.18 + specifier: 1.8.20 + version: 1.8.20 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.1.6)(vue@3.4.21) @@ -3254,41 +3254,41 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.8.18: - resolution: {integrity: sha512-F6ckuW+IAojGCSb++WFQlDeI3/80OALpD6yDcDrhAxZ8ogQatd5gXWjTmSiuV/0M2XIeDq3jwampvq6oomU6Gw==} + /@unhead/dom@1.8.20: + resolution: {integrity: sha512-TXRQSVbqBOQc02m3wxgj55m93U8a3WBHV9xJi2zVX/iHEJgeQbZMJ+rV0YJkHy2OHAC0MfjVQA5NDLaVwtromw==} dependencies: - '@unhead/schema': 1.8.18 - '@unhead/shared': 1.8.18 + '@unhead/schema': 1.8.20 + '@unhead/shared': 1.8.20 dev: false - /@unhead/schema@1.8.18: - resolution: {integrity: sha512-E4oq4juwGJkXPOJlc4Qdp1iVTe79H4TSMWkOB8sSlU44vhvcuZduFYH9CCn29JvtV/640Uaf2QeX4o+wX96LRQ==} + /@unhead/schema@1.8.20: + resolution: {integrity: sha512-n0e5jsKino8JTHc4wpr4l8MXXIrj0muYYAEVa0WSYkIVnMiBr1Ik3l6elhCr4fdSyJ3M2DQQleea/oZCr11XCw==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.8.18: - resolution: {integrity: sha512-2Tw5oyTjMkPn11UoR9AB3kSk2nDVG+7nCS4dZUwdxTMqndUnYyWoGB0EcO2WbK6YpkpulLIlfmiXVzWW4PTrWg==} + /@unhead/shared@1.8.20: + resolution: {integrity: sha512-J0fdtavcMtXcG0g9jmVW03toqfr8A0G7k+Q6jdpwuUPhWk/vhfZn3aiRV+F8LlU91c/AbGWDv8T1MrtMQbb0Sg==} dependencies: - '@unhead/schema': 1.8.18 + '@unhead/schema': 1.8.20 dev: false - /@unhead/ssr@1.8.18: - resolution: {integrity: sha512-l66PSAHartxcWvOW5E/zx8LJJFnRiMBZnDh3Ve9KnGIA8w5B/0Mhhhe/tcv2yyXEV4K/q6ke0taeBy2mD3/Auw==} + /@unhead/ssr@1.8.20: + resolution: {integrity: sha512-Cq1NcdYZ/IAkJ0muqdOBxJXb5dn+uV+RvIXDykRb9lGgriU/S0fzUw8XYTYMwLlvW6rSMrtRx319hz2D3ZrBkA==} dependencies: - '@unhead/schema': 1.8.18 - '@unhead/shared': 1.8.18 + '@unhead/schema': 1.8.20 + '@unhead/shared': 1.8.20 dev: false - /@unhead/vue@1.8.18(vue@3.4.21): - resolution: {integrity: sha512-aKsDCYAiQ27Cjs8nyUHaYNYOQjdhhobMswrelNddekGpk63Y25bRO2NT3DheAOqAAcH4Qdt7JIe5Bu4N1HG5Gg==} + /@unhead/vue@1.8.20(vue@3.4.21): + resolution: {integrity: sha512-Lm6cnbX/QGCh+pxGN1Tl6LVXxYs5bLlN8APfI2rQ5kMNRE6Yy7r2eY5wCZ0SfsSRonqJxzVlgMMh8JPEY5d4GQ==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.8.18 - '@unhead/shared': 1.8.18 + '@unhead/schema': 1.8.20 + '@unhead/shared': 1.8.20 hookable: 5.5.3 - unhead: 1.8.18 + unhead: 1.8.20 vue: 3.4.21(typescript@5.4.2) dev: false @@ -10700,12 +10700,12 @@ packages: node-fetch-native: 1.6.2 pathe: 1.1.2 - /unhead@1.8.18: - resolution: {integrity: sha512-XmCGVev0bwo+jy5qh6PW1vACnPoQvv3MEwqo4w0+49W2ZGPMZYPtIa8GAZiaWgkycrlie1WgZejjJEG9bYVgZw==} + /unhead@1.8.20: + resolution: {integrity: sha512-IJOCYact/7Za3M7CeeCWs8Vze53kHvKDUy/EXtkTm/an5StgqOt2uCnS3HrkioIMKdHBpy/qtTc6E3BoGMOq7Q==} dependencies: - '@unhead/dom': 1.8.18 - '@unhead/schema': 1.8.18 - '@unhead/shared': 1.8.18 + '@unhead/dom': 1.8.20 + '@unhead/schema': 1.8.20 + '@unhead/shared': 1.8.20 hookable: 5.5.3 dev: false diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 01fb3beb41..fdc4012581 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"205k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1338k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1336k"') const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"524k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"79.4k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"77.8k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 205d0e2fa5a1b4d27fc60eb119bd23ffb8bd8c73 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 11:06:29 -0700 Subject: [PATCH 286/470] test: also run composables test with appManifest off --- test/nuxt/composables.test.ts | 2 +- vitest.nuxt.config.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index e50c1614e5..d614797686 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -619,7 +619,7 @@ describe('routing utilities: `abortNavigation`', () => { }) describe('routing utilities: `setPageLayout`', () => { - it('should set error on page metadata if run outside middleware', () => { + it('should set layout on page metadata if run outside middleware', () => { const route = useRoute() expect(route.meta.layout).toBeUndefined() setPageLayout('custom') diff --git a/vitest.nuxt.config.ts b/vitest.nuxt.config.ts index 9598af55e6..e71fedae24 100644 --- a/vitest.nuxt.config.ts +++ b/vitest.nuxt.config.ts @@ -10,6 +10,9 @@ export default defineVitestConfig({ environmentOptions: { nuxt: { overrides: { + experimental: { + appManifest: process.env.TEST_MANIFEST !== 'manifest-off' + }, appConfig: { nuxt: { buildId: 'override' From 79ea75e72ab3961da255af5cce9807ce795924a7 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 11:05:42 -0700 Subject: [PATCH 287/470] chore: remove old code --- packages/schema/src/config/experimental.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index dd93075c25..590505017f 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -232,11 +232,6 @@ export default defineUntypedSchema({ */ appManifest: true, - // This is enabled when `experimental.payloadExtraction` is set to `true`. - // appManifest: { - // $resolve: (val, get) => val ?? get('experimental.payloadExtraction') - // }, - /** * Set an alternative watcher that will be used as the watching service for Nuxt. * From f9fe282506e78725a9d11b8827f154ee16077702 Mon Sep 17 00:00:00 2001 From: Horu <73709188+HigherOrderLogic@users.noreply.github.com> Date: Sun, 17 Mar 2024 01:53:01 +0700 Subject: [PATCH 288/470] feat(nuxt): add `nuxtMiddleware` route rule (#25841) --- packages/nuxt/src/app/composables/manifest.ts | 9 +++++- packages/nuxt/src/app/plugins/router.ts | 20 +++++++++++++ packages/nuxt/src/core/nitro.ts | 29 +++++++++++++++++-- packages/nuxt/src/core/templates.ts | 1 + packages/nuxt/src/pages/module.ts | 5 ++++ .../nuxt/src/pages/runtime/plugins/router.ts | 17 +++++++++++ packages/nuxt/types.d.mts | 1 + packages/nuxt/types.d.ts | 1 + test/basic.test.ts | 5 ++++ test/bundle.test.ts | 6 ++-- .../basic/middleware/routeRulesMiddleware.ts | 3 ++ test/fixtures/basic/nuxt.config.ts | 1 + .../basic/pages/route-rules/middleware.vue | 5 ++++ test/nuxt/composables.test.ts | 23 --------------- test/setup-runtime.ts | 28 ++++++++++++++++++ vitest.nuxt.config.ts | 3 ++ 16 files changed, 127 insertions(+), 30 deletions(-) create mode 100644 test/fixtures/basic/middleware/routeRulesMiddleware.ts create mode 100644 test/fixtures/basic/pages/route-rules/middleware.vue create mode 100644 test/setup-runtime.ts diff --git a/packages/nuxt/src/app/composables/manifest.ts b/packages/nuxt/src/app/composables/manifest.ts index cc7ff41480..5463d870fb 100644 --- a/packages/nuxt/src/app/composables/manifest.ts +++ b/packages/nuxt/src/app/composables/manifest.ts @@ -1,7 +1,8 @@ import type { MatcherExport, RouteMatcher } from 'radix3' -import { createMatcherFromExport } from 'radix3' +import { createMatcherFromExport, createRouter as createRadixRouter, toRouteMatcher } from 'radix3' import { defu } from 'defu' import { useAppConfig } from '../config' +import { useRuntimeConfig } from '../nuxt' // @ts-expect-error virtual file import { appManifest as isAppManifestEnabled } from '#build/nuxt.config.mjs' // @ts-expect-error virtual file @@ -43,6 +44,12 @@ export function getAppManifest (): Promise<NuxtAppManifest> { /** @since 3.7.4 */ export async function getRouteRules (url: string) { + if (import.meta.server) { + const _routeRulesMatcher = toRouteMatcher( + createRadixRouter({ routes: useRuntimeConfig().nitro!.routeRules }) + ) + return defu({} as Record<string, any>, ..._routeRulesMatcher.matchAll(url).reverse()) + } await getAppManifest() return defu({} as Record<string, any>, ...matcher.matchAll(url).reverse()) } diff --git a/packages/nuxt/src/app/plugins/router.ts b/packages/nuxt/src/app/plugins/router.ts index 576053bf56..4c6fa9c07e 100644 --- a/packages/nuxt/src/app/plugins/router.ts +++ b/packages/nuxt/src/app/plugins/router.ts @@ -3,11 +3,14 @@ import { computed, defineComponent, h, isReadonly, reactive } from 'vue' import { isEqual, joinURL, parseQuery, parseURL, stringifyParsedURL, stringifyQuery, withoutBase } from 'ufo' import { createError } from 'h3' import { defineNuxtPlugin, useRuntimeConfig } from '../nuxt' +import { getRouteRules } from '../composables/manifest' import { clearError, showError } from '../composables/error' import { navigateTo } from '../composables/router' // @ts-expect-error virtual file import { globalMiddleware } from '#build/middleware' +// @ts-expect-error virtual file +import { appManifest as isAppManifestEnabled } from '#build/nuxt.config.mjs' interface Route { /** Percentage encoded pathname section of the URL. */ @@ -243,6 +246,23 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ if (import.meta.client || !nuxtApp.ssrContext?.islandContext) { const middlewareEntries = new Set<RouteGuard>([...globalMiddleware, ...nuxtApp._middleware.global]) + if (isAppManifestEnabled) { + const routeRules = await nuxtApp.runWithContext(() => getRouteRules(to.path)) + + if (routeRules.nuxtMiddleware) { + for (const key in routeRules.nuxtMiddleware) { + const guard = nuxtApp._middleware.named[key] as RouteGuard | undefined + if (!guard) { return } + + if (routeRules.nuxtMiddleware[key]) { + middlewareEntries.add(guard) + } else { + middlewareEntries.delete(guard) + } + } + } + } + for (const middleware of middlewareEntries) { const result = await nuxtApp.runWithContext(() => middleware(to, from)) if (import.meta.server) { diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 8b95434d25..87d3da4bba 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -6,7 +6,7 @@ import { createRouter as createRadixRouter, exportMatcher, toRouteMatcher } from import { randomUUID } from 'uncrypto' import { joinURL, withTrailingSlash } from 'ufo' import { build, copyPublicAssets, createDevServer, createNitro, prepare, prerender, scanHandlers, writeTypes } from 'nitropack' -import type { Nitro, NitroConfig } from 'nitropack' +import type { Nitro, NitroConfig, NitroOptions } from 'nitropack' import { findPath, logger, resolveIgnorePatterns, resolveNuxtModule, resolvePath } from '@nuxt/kit' import escapeRE from 'escape-string-regexp' import { defu } from 'defu' @@ -262,6 +262,25 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { } ) + nuxt.options.alias['#app-manifest'] = join(tempDir, `meta/${buildId}.json`) + + nuxt.hook('nitro:config', (config) => { + const rules = config.routeRules + for (const rule in rules) { + if (!(rules[rule] as any).nuxtMiddleware) { continue } + const value = (rules[rule] as any).nuxtMiddleware + if (typeof value === 'string') { + (rules[rule] as NitroOptions['routeRules']).nuxtMiddleware = { [value]: true } + } else if (Array.isArray(value)) { + const normalizedRules: Record<string, boolean> = {} + for (const middleware of value) { + normalizedRules[middleware] = true + } + (rules[rule] as NitroOptions['routeRules']).nuxtMiddleware = normalizedRules + } + } + }) + nuxt.hook('nitro:init', (nitro) => { nitro.hooks.hook('rollup:before', async (nitro) => { const routeRules = {} as Record<string, any> @@ -272,8 +291,12 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { const filteredRules = {} as Record<string, any> for (const routeKey in _routeRules[key]) { const value = (_routeRules as any)[key][routeKey] - if (['prerender', 'redirect'].includes(routeKey) && value) { - filteredRules[routeKey] = routeKey === 'redirect' ? typeof value === 'string' ? value : value.to : value + if (['prerender', 'redirect', 'nuxtMiddleware'].includes(routeKey) && value) { + if (routeKey === 'redirect') { + filteredRules[routeKey] = typeof value === 'string' ? value : value.to + } else { + filteredRules[routeKey] = value + } hasRules = true } } diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 383fc2c179..62b33f02cd 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -244,6 +244,7 @@ declare module 'nitropack' { interface NitroRouteRules { ssr?: boolean experimentalNoScripts?: boolean + nuxtMiddleware?: Record<string, boolean> } interface NitroRuntimeHooks { 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index f03c6279c3..3b6be825f3 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -474,6 +474,11 @@ export default defineNuxtModule({ ' interface PageMeta {', ' middleware?: MiddlewareKey | NavigationGuard | Array<MiddlewareKey | NavigationGuard>', ' }', + '}', + 'declare module \'nitropack\' {', + ' interface NitroRouteConfig {', + ' nuxtMiddleware?: MiddlewareKey | MiddlewareKey[] | Record<MiddlewareKey, boolean>', + ' }', '}' ].join('\n') } diff --git a/packages/nuxt/src/pages/runtime/plugins/router.ts b/packages/nuxt/src/pages/runtime/plugins/router.ts index 267ea380d7..ad27599a6f 100644 --- a/packages/nuxt/src/pages/runtime/plugins/router.ts +++ b/packages/nuxt/src/pages/runtime/plugins/router.ts @@ -15,10 +15,13 @@ import type { PageMeta } from '../composables' import { toArray } from '../utils' import type { Plugin, RouteMiddleware } from '#app' +import { getRouteRules } from '#app/composables/manifest' import { defineNuxtPlugin, useRuntimeConfig } from '#app/nuxt' import { clearError, showError, useError } from '#app/composables/error' import { navigateTo } from '#app/composables/router' +// @ts-expect-error virtual file +import { appManifest as isAppManifestEnabled } from '#build/nuxt.config.mjs' // @ts-expect-error virtual file import _routes from '#build/routes' // @ts-expect-error virtual file @@ -173,6 +176,20 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ } } + if (isAppManifestEnabled) { + const routeRules = await nuxtApp.runWithContext(() => getRouteRules(to.path)) + + if (routeRules.nuxtMiddleware) { + for (const key in routeRules.nuxtMiddleware) { + if (routeRules.nuxtMiddleware[key]) { + middlewareEntries.add(key) + } else { + middlewareEntries.delete(key) + } + } + } + } + for (const entry of middlewareEntries) { const middleware = typeof entry === 'string' ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r: any) => r.default || r) : entry diff --git a/packages/nuxt/types.d.mts b/packages/nuxt/types.d.mts index 98771c18e2..cdfd68e043 100644 --- a/packages/nuxt/types.d.mts +++ b/packages/nuxt/types.d.mts @@ -26,6 +26,7 @@ declare module 'nitropack' { interface NitroRouteRules { ssr?: boolean experimentalNoScripts?: boolean + nuxtMiddleware?: Record<string, boolean> } interface NitroRuntimeHooks { 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> diff --git a/packages/nuxt/types.d.ts b/packages/nuxt/types.d.ts index 8b9c9b9118..23ca5b4ff8 100644 --- a/packages/nuxt/types.d.ts +++ b/packages/nuxt/types.d.ts @@ -26,6 +26,7 @@ declare module 'nitropack' { interface NitroRouteRules { ssr?: boolean experimentalNoScripts?: boolean + nuxtMiddleware?: Record<string, boolean> } interface NitroRuntimeHooks { 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> diff --git a/test/basic.test.ts b/test/basic.test.ts index cdff0b331f..81c24fb469 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -80,6 +80,11 @@ describe('route rules', () => { const html = await $fetch('/no-scripts') expect(html).not.toContain('<script') }) + + it.runIf(isTestingAppManifest)('should run middleware defined in routeRules config', async () => { + const html = await $fetch('/route-rules/middleware') + expect(html).toContain('Hello from routeRules!') + }) }) describe('modules', () => { diff --git a/test/bundle.test.ts b/test/bundle.test.ts index fdc4012581..284518788f 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"105k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"106k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -32,7 +32,7 @@ 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('"205k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"206k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1336k"') @@ -72,7 +72,7 @@ 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('"524k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"525k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"77.8k"') diff --git a/test/fixtures/basic/middleware/routeRulesMiddleware.ts b/test/fixtures/basic/middleware/routeRulesMiddleware.ts new file mode 100644 index 0000000000..36ecf8c998 --- /dev/null +++ b/test/fixtures/basic/middleware/routeRulesMiddleware.ts @@ -0,0 +1,3 @@ +export default defineNuxtRouteMiddleware((to) => { + to.meta.hello = 'Hello from routeRules!' +}) diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index 7269a31f13..5231b0dbed 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -60,6 +60,7 @@ export default defineNuxtConfig({ }, routeRules: { '/route-rules/spa': { ssr: false }, + '/route-rules/middleware': { nuxtMiddleware: 'route-rules-middleware' }, '/hydration/spa-redirection/**': { ssr: false }, '/no-scripts': { experimentalNoScripts: true } }, diff --git a/test/fixtures/basic/pages/route-rules/middleware.vue b/test/fixtures/basic/pages/route-rules/middleware.vue new file mode 100644 index 0000000000..c1d69e1514 --- /dev/null +++ b/test/fixtures/basic/pages/route-rules/middleware.vue @@ -0,0 +1,5 @@ +<template> + <div> + <div>Greeting: {{ $route.meta.hello }}</div> + </div> +</template> diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index d614797686..d74718302c 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -19,29 +19,6 @@ import { useId } from '#app/composables/id' import { callOnce } from '#app/composables/once' import { useLoadingIndicator } from '#app/composables/loading-indicator' -vi.mock('#app/compat/idle-callback', () => ({ - requestIdleCallback: (cb: Function) => cb() -})) - -const timestamp = Date.now() -registerEndpoint('/_nuxt/builds/latest.json', defineEventHandler(() => ({ - id: 'override', - timestamp -}))) -registerEndpoint('/_nuxt/builds/meta/override.json', defineEventHandler(() => ({ - id: 'override', - timestamp, - matcher: { - static: { - '/': null, - '/pre': null, - '/pre/test': { redirect: true } - }, - wildcard: { '/pre': { prerender: true } }, - dynamic: {} - }, - prerendered: ['/specific-prerendered'] -}))) registerEndpoint('/api/test', defineEventHandler(event => ({ method: event.method, headers: Object.fromEntries(event.headers.entries()) diff --git a/test/setup-runtime.ts b/test/setup-runtime.ts new file mode 100644 index 0000000000..f152abe1d4 --- /dev/null +++ b/test/setup-runtime.ts @@ -0,0 +1,28 @@ +import { vi } from 'vitest' +import { defineEventHandler } from 'h3' + +import { registerEndpoint } from '@nuxt/test-utils/runtime' + +vi.mock('#app/compat/idle-callback', () => ({ + requestIdleCallback: (cb: Function) => cb() +})) + +const timestamp = Date.now() +registerEndpoint('/_nuxt/builds/latest.json', defineEventHandler(() => ({ + id: 'override', + timestamp +}))) +registerEndpoint('/_nuxt/builds/meta/override.json', defineEventHandler(() => ({ + id: 'override', + timestamp, + matcher: { + static: { + '/': null, + '/pre': null, + '/pre/test': { redirect: true } + }, + wildcard: { '/pre': { prerender: true } }, + dynamic: {} + }, + prerendered: ['/specific-prerendered'] +}))) diff --git a/vitest.nuxt.config.ts b/vitest.nuxt.config.ts index e71fedae24..9a38b900cc 100644 --- a/vitest.nuxt.config.ts +++ b/vitest.nuxt.config.ts @@ -7,6 +7,9 @@ export default defineVitestConfig({ include: ['packages/nuxt/src/app'] }, environment: 'nuxt', + setupFiles: [ + './test/setup-runtime.ts' + ], environmentOptions: { nuxt: { overrides: { From 9b5bffbbb40ad0ecbc28e732b4426fc87ab6dd61 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 13:19:07 -0700 Subject: [PATCH 289/470] test: remove wait for `networkidle` --- test/basic.test.ts | 12 +++++++----- test/utils.ts | 5 ++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/test/basic.test.ts b/test/basic.test.ts index 81c24fb469..9805d5fed6 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -199,13 +199,14 @@ describe('pages', () => { }) it('should render correctly when loaded on a different path', async () => { - const { page, pageErrors } = await renderPage('/proxy') + const { page, pageErrors } = await renderPage() + await page.goto(url('/proxy')) + await page.waitForFunction(() => window.useNuxtApp?.() && !window.useNuxtApp?.().isHydrating) expect(await page.innerText('body')).toContain('Composable | foo: auto imported from ~/composables/foo.ts') + expect(pageErrors).toEqual([]) await page.close() - - expect(pageErrors).toEqual([]) }) it('preserves query', async () => { @@ -1309,7 +1310,8 @@ describe('deferred app suspense resolve', () => { }) it('should fully hydrate even if there is a redirection on a page with `ssr: false`', async () => { - const { page } = await renderPage('/hydration/spa-redirection/start') + const { page } = await renderPage() + await page.goto(url('/hydration/spa-redirection/start')) await page.getByText('fully hydrated and ready to go').waitFor() await page.close() }) @@ -1641,7 +1643,7 @@ describe('server components/islands', () => { // test fallback slot with v-for expect(await page.locator('.fallback-slot-content').all()).toHaveLength(2) // test islands update - expect(await page.locator('.box').innerHTML()).toContain('"number": 101,') + await page.locator('.box').getByText('"number": 101,').waitFor() const requests = [ page.waitForResponse(response => response.url().includes('/__nuxt_island/LongAsyncComponent') && response.status() === 200), page.waitForResponse(response => response.url().includes('/__nuxt_island/AsyncServerComponent') && response.status() === 200) diff --git a/test/utils.ts b/test/utils.ts index 3c1452f920..fed5e0150e 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -38,8 +38,7 @@ export async function renderPage (path = '/') { }) if (path) { - await page.goto(url(path), { waitUntil: 'networkidle' }) - await page.waitForFunction(() => window.useNuxtApp?.()) + await gotoPath(page, path) } return { @@ -70,7 +69,7 @@ export async function expectNoClientErrors (path: string) { export async function gotoPath (page: Page, path: string) { await page.goto(url(path)) - await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, path) + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path && !window.useNuxtApp?.().isHydrating, path) } type EqualityVal = string | number | boolean | null | undefined | RegExp From 3d77e267d80da1f1fd5bad475032628e199ca31e Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 13:38:29 -0700 Subject: [PATCH 290/470] test: use locator assertion for body text --- test/basic.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/basic.test.ts b/test/basic.test.ts index 9805d5fed6..d375a9c130 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -411,6 +411,7 @@ describe('pages', () => { it('/wrapper-expose/page', async () => { const { page, pageErrors, consoleLogs } = await renderPage('/wrapper-expose/page') + await page.waitForLoadState('networkidle') await page.locator('#log-foo').click() expect(consoleLogs.at(-1)?.text).toBe('bar') // change page @@ -2497,9 +2498,8 @@ describe('teleports', () => { describe('Node.js compatibility for client-side', () => { it('should work', async () => { const { page } = await renderPage('/node-compat') - const html = await page.innerHTML('body') - expect(html).toContain('Nuxt is Awesome!') - expect(html).toContain('CWD: [available]') + await page.locator('body').getByText('Nuxt is Awesome!').waitFor() + expect(await page.innerHTML('body')).toContain('CWD: [available]') await page.close() }) }) From d981c056d13084ebb97daaf09cd08860c807b10a Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 13:58:22 -0700 Subject: [PATCH 291/470] test: use function assertion for second scrollY test --- test/basic.test.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/basic.test.ts b/test/basic.test.ts index d375a9c130..18e3884d15 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -759,16 +759,16 @@ describe('nuxt links', () => { await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') await page.locator('#user-test').scrollIntoViewIfNeeded() - expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) + await page.waitForFunction(() => window.scrollY > 0) await page.locator('#user-test').click() await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/user-test') - expect(await page.evaluate(() => window.scrollY)).toBe(0) + await page.waitForFunction(() => window.scrollY === 0) await page.locator('#test').scrollIntoViewIfNeeded() - expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(0) + await page.waitForFunction(() => window.scrollY > 0) await page.locator('#test').click() await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') - expect(await page.evaluate(() => window.scrollY)).toBe(0) + await page.waitForFunction(() => window.scrollY === 0) await page.close() }) }) From beeda8acf44f45b0a422ad1dbfa68ef281d39b50 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 14:50:56 -0700 Subject: [PATCH 292/470] chore: temporarily remove codspeed plugin --- package.json | 1 - pnpm-lock.yaml | 110 ----------------------------------------------- vitest.config.ts | 4 +- 3 files changed, 2 insertions(+), 113 deletions(-) diff --git a/package.json b/package.json index bc6c9e23c6..46ce83ac8c 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,6 @@ "magic-string": "^0.30.8" }, "devDependencies": { - "@codspeed/vitest-plugin": "3.1.0", "@nuxt/eslint-config": "0.2.0", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.11.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ce3635d929..453eb98645 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,9 +19,6 @@ importers: .: devDependencies: - '@codspeed/vitest-plugin': - specifier: 3.1.0 - version: 3.1.0(vite@5.1.6)(vitest@1.4.0) '@nuxt/eslint-config': specifier: 0.2.0 version: 0.2.0(eslint@8.57.0) @@ -1256,30 +1253,6 @@ packages: dependencies: mime: 3.0.0 - /@codspeed/core@3.1.0: - resolution: {integrity: sha512-oYd7X46QhnRkgRbZkqAoX9i3Fwm17FpunK4Ee5RdrvRYR0Xr93ewH8/O5g6uyTPDOOqDEv1v2KRYtWhVgN+2VQ==} - dependencies: - axios: 1.6.5 - find-up: 6.3.0 - form-data: 4.0.0 - node-gyp-build: 4.6.1 - transitivePeerDependencies: - - debug - dev: true - - /@codspeed/vitest-plugin@3.1.0(vite@5.1.6)(vitest@1.4.0): - resolution: {integrity: sha512-ms11tUytiQTgB+idxZRUuCUQfgz4LaKTDJCLYm5VTSpOCUU7D5+QWvJnA8X8B9glPfR5siIK8RxrnZP4yuysKQ==} - peerDependencies: - vite: 5.1.6 - vitest: '>=1.2.2' - dependencies: - '@codspeed/core': 3.1.0 - vite: 5.1.6(@types/node@20.11.28) - vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) - transitivePeerDependencies: - - debug - dev: true - /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} @@ -4060,10 +4033,6 @@ packages: /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true - /autoprefixer@10.4.18(postcss@8.4.35): resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} engines: {node: ^10 || ^12 || >=14} @@ -4085,16 +4054,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /axios@1.6.5: - resolution: {integrity: sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==} - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - /b4a@1.6.4: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} @@ -4480,13 +4439,6 @@ packages: /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: true - /comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: true @@ -4969,11 +4921,6 @@ packages: /defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: true - /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} @@ -5878,14 +5825,6 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 - /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - dev: true - /flat-cache@3.1.1: resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} engines: {node: '>=12.0.0'} @@ -5922,16 +5861,6 @@ packages: vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: true - /follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: true - /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: @@ -5968,15 +5897,6 @@ packages: webpack: 5.90.3 dev: false - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - /fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: false @@ -7245,13 +7165,6 @@ packages: dependencies: p-locate: 5.0.0 - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-locate: 6.0.0 - dev: true - /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} @@ -8593,13 +8506,6 @@ packages: dependencies: yocto-queue: 0.1.0 - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - yocto-queue: 1.0.0 - dev: true - /p-limit@5.0.0: resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} engines: {node: '>=18'} @@ -8620,13 +8526,6 @@ packages: dependencies: p-limit: 3.1.0 - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-limit: 4.0.0 - dev: true - /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -8729,11 +8628,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -9289,10 +9183,6 @@ packages: /protocols@2.0.1: resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true - /prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: false diff --git a/vitest.config.ts b/vitest.config.ts index 269b17c49b..ed0f5074b2 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,10 +1,10 @@ import { resolve } from 'pathe' import { configDefaults, coverageConfigDefaults, defineConfig } from 'vitest/config' import { isWindows } from 'std-env' -import codspeedPlugin from '@codspeed/vitest-plugin' +// import codspeedPlugin from '@codspeed/vitest-plugin' export default defineConfig({ - plugins: [codspeedPlugin()], + // plugins: [codspeedPlugin()], resolve: { alias: { '#build/nuxt.config.mjs': resolve('./test/mocks/nuxt-config'), From 0fc363a4f500b95d45995a1e29565c11ea817644 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 14:58:36 -0700 Subject: [PATCH 293/470] chore: tidy dependencies --- package.json | 1 - pnpm-lock.yaml | 3 --- test/fixtures/suspense/package.json | 2 +- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/package.json b/package.json index 46ce83ac8c..56f7ce4f70 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,6 @@ "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", - "vue-eslint-parser": "9.4.2", "vue-router": "4.3.0", "vue-tsc": "2.0.6" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 453eb98645..4a7637203a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -145,9 +145,6 @@ importers: vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) - vue-eslint-parser: - specifier: 9.4.2 - version: 9.4.2(eslint@8.57.0) vue-router: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) diff --git a/test/fixtures/suspense/package.json b/test/fixtures/suspense/package.json index 2f5e19ed19..3c3155c574 100644 --- a/test/fixtures/suspense/package.json +++ b/test/fixtures/suspense/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "fixture-minimal", + "name": "fixture-suspense", "scripts": { "build": "nuxi build" }, From d6ce3453c41a2dcdfbce3fa20f3e44b1f44bd35d Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 14:58:52 -0700 Subject: [PATCH 294/470] chore: update knip schema --- knip.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/knip.json b/knip.json index 2ce29ce41d..dd2512b5cd 100644 --- a/knip.json +++ b/knip.json @@ -1,9 +1,11 @@ { - "$schema": "https://unpkg.com/knip@2/schema.json", + "$schema": "https://unpkg.com/knip@5/schema.json", "workspaces": { ".": { "entry": [ - "scripts/*" + "scripts/*", + "test/*", + "test/fixtures/*" ] }, "packages/*": { From c6aa617839fa957910616296000d6716bfb40152 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 14:59:03 -0700 Subject: [PATCH 295/470] chore: do not export unused type --- packages/nuxt/src/core/features.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/features.ts b/packages/nuxt/src/core/features.ts index b23b67444f..46eb34de34 100644 --- a/packages/nuxt/src/core/features.ts +++ b/packages/nuxt/src/core/features.ts @@ -5,7 +5,7 @@ import { isCI, provider } from 'std-env' const isStackblitz = provider === 'stackblitz' -export interface EnsurePackageInstalledOptions { +interface EnsurePackageInstalledOptions { rootDir: string searchPaths?: string[] prompt?: boolean From cac74547021b9d4d583147ba1b2defc6e693f519 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 15:03:09 -0700 Subject: [PATCH 296/470] refactor(nuxt): rename `nuxtMiddleware` to `appMiddleware` --- packages/nuxt/src/app/plugins/router.ts | 6 +++--- packages/nuxt/src/core/nitro.ts | 10 +++++----- packages/nuxt/src/core/templates.ts | 2 +- packages/nuxt/src/pages/module.ts | 2 +- packages/nuxt/src/pages/runtime/plugins/router.ts | 6 +++--- packages/nuxt/types.d.mts | 2 +- packages/nuxt/types.d.ts | 2 +- test/fixtures/basic/nuxt.config.ts | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/nuxt/src/app/plugins/router.ts b/packages/nuxt/src/app/plugins/router.ts index 4c6fa9c07e..bb47ea4b17 100644 --- a/packages/nuxt/src/app/plugins/router.ts +++ b/packages/nuxt/src/app/plugins/router.ts @@ -249,12 +249,12 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ if (isAppManifestEnabled) { const routeRules = await nuxtApp.runWithContext(() => getRouteRules(to.path)) - if (routeRules.nuxtMiddleware) { - for (const key in routeRules.nuxtMiddleware) { + if (routeRules.appMiddleware) { + for (const key in routeRules.appMiddleware) { const guard = nuxtApp._middleware.named[key] as RouteGuard | undefined if (!guard) { return } - if (routeRules.nuxtMiddleware[key]) { + if (routeRules.appMiddleware[key]) { middlewareEntries.add(guard) } else { middlewareEntries.delete(guard) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 87d3da4bba..e03b560e0b 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -267,16 +267,16 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { nuxt.hook('nitro:config', (config) => { const rules = config.routeRules for (const rule in rules) { - if (!(rules[rule] as any).nuxtMiddleware) { continue } - const value = (rules[rule] as any).nuxtMiddleware + if (!(rules[rule] as any).appMiddleware) { continue } + const value = (rules[rule] as any).appMiddleware if (typeof value === 'string') { - (rules[rule] as NitroOptions['routeRules']).nuxtMiddleware = { [value]: true } + (rules[rule] as NitroOptions['routeRules']).appMiddleware = { [value]: true } } else if (Array.isArray(value)) { const normalizedRules: Record<string, boolean> = {} for (const middleware of value) { normalizedRules[middleware] = true } - (rules[rule] as NitroOptions['routeRules']).nuxtMiddleware = normalizedRules + (rules[rule] as NitroOptions['routeRules']).appMiddleware = normalizedRules } } }) @@ -291,7 +291,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { const filteredRules = {} as Record<string, any> for (const routeKey in _routeRules[key]) { const value = (_routeRules as any)[key][routeKey] - if (['prerender', 'redirect', 'nuxtMiddleware'].includes(routeKey) && value) { + if (['prerender', 'redirect', 'appMiddleware'].includes(routeKey) && value) { if (routeKey === 'redirect') { filteredRules[routeKey] = typeof value === 'string' ? value : value.to } else { diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 62b33f02cd..fc33188e2e 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -244,7 +244,7 @@ declare module 'nitropack' { interface NitroRouteRules { ssr?: boolean experimentalNoScripts?: boolean - nuxtMiddleware?: Record<string, boolean> + appMiddleware?: Record<string, boolean> } interface NitroRuntimeHooks { 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 3b6be825f3..4ddb48d077 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -477,7 +477,7 @@ export default defineNuxtModule({ '}', 'declare module \'nitropack\' {', ' interface NitroRouteConfig {', - ' nuxtMiddleware?: MiddlewareKey | MiddlewareKey[] | Record<MiddlewareKey, boolean>', + ' appMiddleware?: MiddlewareKey | MiddlewareKey[] | Record<MiddlewareKey, boolean>', ' }', '}' ].join('\n') diff --git a/packages/nuxt/src/pages/runtime/plugins/router.ts b/packages/nuxt/src/pages/runtime/plugins/router.ts index ad27599a6f..a53a73dab6 100644 --- a/packages/nuxt/src/pages/runtime/plugins/router.ts +++ b/packages/nuxt/src/pages/runtime/plugins/router.ts @@ -179,9 +179,9 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ if (isAppManifestEnabled) { const routeRules = await nuxtApp.runWithContext(() => getRouteRules(to.path)) - if (routeRules.nuxtMiddleware) { - for (const key in routeRules.nuxtMiddleware) { - if (routeRules.nuxtMiddleware[key]) { + if (routeRules.appMiddleware) { + for (const key in routeRules.appMiddleware) { + if (routeRules.appMiddleware[key]) { middlewareEntries.add(key) } else { middlewareEntries.delete(key) diff --git a/packages/nuxt/types.d.mts b/packages/nuxt/types.d.mts index cdfd68e043..043bf0c49e 100644 --- a/packages/nuxt/types.d.mts +++ b/packages/nuxt/types.d.mts @@ -26,7 +26,7 @@ declare module 'nitropack' { interface NitroRouteRules { ssr?: boolean experimentalNoScripts?: boolean - nuxtMiddleware?: Record<string, boolean> + appMiddleware?: Record<string, boolean> } interface NitroRuntimeHooks { 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> diff --git a/packages/nuxt/types.d.ts b/packages/nuxt/types.d.ts index 23ca5b4ff8..1733bdec62 100644 --- a/packages/nuxt/types.d.ts +++ b/packages/nuxt/types.d.ts @@ -26,7 +26,7 @@ declare module 'nitropack' { interface NitroRouteRules { ssr?: boolean experimentalNoScripts?: boolean - nuxtMiddleware?: Record<string, boolean> + appMiddleware?: Record<string, boolean> } interface NitroRuntimeHooks { 'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void> diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index 5231b0dbed..61851c2373 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -60,7 +60,7 @@ export default defineNuxtConfig({ }, routeRules: { '/route-rules/spa': { ssr: false }, - '/route-rules/middleware': { nuxtMiddleware: 'route-rules-middleware' }, + '/route-rules/middleware': { appMiddleware: 'route-rules-middleware' }, '/hydration/spa-redirection/**': { ssr: false }, '/no-scripts': { experimentalNoScripts: true } }, From 70669012fb749b5ebe8a691be7d0e8966d0cb952 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 15:07:08 -0700 Subject: [PATCH 297/470] test: add type test for appMiddleware route rules --- test/fixtures/basic-types/types.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index 4cd0dbe9d0..e5dd13462d 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -107,6 +107,17 @@ describe('middleware', () => { // @ts-expect-error Invalid middleware definePageMeta({ middleware: 'nonexistent' }) }) + it('types routeRules', () => { + defineNuxtConfig({ + routeRules: { + // @ts-expect-error Invalid middleware + '/nonexistent': { appMiddleware: 'nonexistent' }, + // @ts-expect-error ignore global middleware + '/global': { appMiddleware: 'global' }, + '/named': { appMiddleware: 'named' } + } + }) + }) it('handles adding middleware', () => { addRouteMiddleware('example', (to, from) => { expectTypeOf(to).toEqualTypeOf<RouteLocationNormalized>() From 4925670dcd578d61339b04a203bd6bf9c17db3f9 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 15:09:04 -0700 Subject: [PATCH 298/470] refactor(nuxt): use addTypeTemplate for page augmentations --- packages/nuxt/src/pages/module.ts | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 4ddb48d077..25bd2c0e6a 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -106,7 +106,7 @@ export default defineNuxtModule({ }) // adds support for #vue-router alias (used for types) with and without pages integration - addTemplate({ + addTypeTemplate({ filename: 'vue-router-stub.d.ts', getContents: () => `export * from '${useExperimentalTypedPages ? 'vue-router/auto' : 'vue-router'}'` }) @@ -462,7 +462,7 @@ export default defineNuxtModule({ } }) - addTemplate({ + addTypeTemplate({ filename: 'types/middleware.d.ts', getContents: ({ nuxt, app }: { nuxt: Nuxt, app: NuxtApp }) => { const composablesFile = relative(join(nuxt.options.buildDir, 'types'), resolve(runtimeDir, 'composables')) @@ -484,7 +484,7 @@ export default defineNuxtModule({ } }) - addTemplate({ + addTypeTemplate({ filename: 'types/layouts.d.ts', getContents: ({ nuxt, app }: { nuxt: Nuxt, app: NuxtApp }) => { const composablesFile = relative(join(nuxt.options.buildDir, 'types'), resolve(runtimeDir, 'composables')) @@ -525,12 +525,5 @@ export default defineNuxtModule({ priority: 10, // built-in that we do not expect the user to override filePath: resolve(distDir, 'pages/runtime/page') }) - - // Add declarations for middleware keys - nuxt.hook('prepare:types', ({ references }) => { - references.push({ path: resolve(nuxt.options.buildDir, 'types/middleware.d.ts') }) - references.push({ path: resolve(nuxt.options.buildDir, 'types/layouts.d.ts') }) - references.push({ path: resolve(nuxt.options.buildDir, 'vue-router-stub.d.ts') }) - }) } }) From 87c0678f99bda1c895adf39d5f3e7eab05d5ca2a Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 15:12:49 -0700 Subject: [PATCH 299/470] fix(nuxt): provide appMiddleware types with universal router --- packages/nuxt/src/pages/module.ts | 13 ++++++++++++- test/fixtures/minimal-types/types.ts | 6 ++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 25bd2c0e6a..e8b76fe278 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -122,6 +122,17 @@ export default defineNuxtModule({ 'export const START_LOCATION = Symbol(\'router:start-location\')' ].join('\n') }) + addTypeTemplate({ + filename: 'types/middleware.d.ts', + getContents: () => [ + 'declare module \'nitropack\' {', + ' interface NitroRouteConfig {', + ' appMiddleware?: string | string[] | Record<string, boolean>', + ' }', + '}', + 'export {}' + ].join('\n') + }) addComponent({ name: 'NuxtPage', priority: 10, // built-in that we do not expect the user to override @@ -464,7 +475,7 @@ export default defineNuxtModule({ addTypeTemplate({ filename: 'types/middleware.d.ts', - getContents: ({ nuxt, app }: { nuxt: Nuxt, app: NuxtApp }) => { + getContents: ({ nuxt, app }) => { const composablesFile = relative(join(nuxt.options.buildDir, 'types'), resolve(runtimeDir, 'composables')) const namedMiddleware = app.middleware.filter(mw => !mw.global) return [ diff --git a/test/fixtures/minimal-types/types.ts b/test/fixtures/minimal-types/types.ts index 21feaeac4f..53232a4e76 100644 --- a/test/fixtures/minimal-types/types.ts +++ b/test/fixtures/minimal-types/types.ts @@ -19,6 +19,12 @@ describe('auto-imports', () => { // @ts-expect-error Should show error on unknown properties unknownProp: '' }) + defineNuxtConfig({ + routeRules: { + // Should accept any string + '/named': { appMiddleware: 'named' } + } + }) }) it('core composables', () => { ref() From 8c074937820369cf3e2fa5058e743a9525782d54 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Mar 2024 15:43:58 -0700 Subject: [PATCH 300/470] chore(deps): update devdependency @nuxt/test-utils to v3.12.0 (main) (#26299) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 56f7ce4f70..3ce09123db 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "devDependencies": { "@nuxt/eslint-config": "0.2.0", "@nuxt/kit": "workspace:*", - "@nuxt/test-utils": "3.11.0", + "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.2", "@types/fs-extra": "11.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4a7637203a..183e408f93 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,8 +26,8 @@ importers: specifier: workspace:* version: link:packages/kit '@nuxt/test-utils': - specifier: 3.11.0 - version: 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + specifier: 3.12.0 + version: 3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -2236,12 +2236,13 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): - resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: '@cucumber/cucumber': ^10.3.1 '@jest/globals': ^29.5.0 + '@playwright/test': ^1.42.1 '@testing-library/vue': ^7.0.0 || ^8.0.1 '@vitest/ui': ^0.34.6 || ^1.0.0 '@vue/test-utils': ^2.4.2 @@ -2258,6 +2259,8 @@ packages: optional: true '@jest/globals': optional: true + '@playwright/test': + optional: true '@testing-library/vue': optional: true '@vitest/ui': @@ -11083,10 +11086,11 @@ packages: /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' + - '@playwright/test' - '@testing-library/vue' - '@vitest/ui' - '@vue/test-utils' From 33ce71dd123c78dcef6b8ee451e3d2634b5265d9 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 15:20:29 -0700 Subject: [PATCH 301/470] refactor(nuxt): use addTypeTemplate in more places --- packages/nuxt/src/components/module.ts | 7 +++---- packages/nuxt/src/imports/module.ts | 12 +++--------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index 52248d0ad1..214746a982 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -1,6 +1,6 @@ import fs, { statSync } from 'node:fs' import { join, normalize, relative, resolve } from 'pathe' -import { addPluginTemplate, addTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, logger, resolveAlias, updateTemplates } from '@nuxt/kit' +import { addPluginTemplate, addTemplate, addTypeTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, logger, resolveAlias, updateTemplates } from '@nuxt/kit' import type { Component, ComponentsDir, ComponentsOptions } from 'nuxt/schema' import { distDir } from '../dirs' @@ -115,7 +115,7 @@ export default defineNuxtModule<ComponentsOptions>({ }) // components.d.ts - addTemplate(componentsTypeTemplate) + addTypeTemplate(componentsTypeTemplate) // components.plugin.mjs addPluginTemplate(componentsPluginTemplate) // component-names.mjs @@ -188,9 +188,8 @@ export default defineNuxtModule<ComponentsOptions>({ app.components = newComponents }) - nuxt.hook('prepare:types', ({ references, tsConfig }) => { + nuxt.hook('prepare:types', ({ tsConfig }) => { tsConfig.compilerOptions!.paths['#components'] = [resolve(nuxt.options.buildDir, 'components')] - references.push({ path: resolve(nuxt.options.buildDir, 'components.d.ts') }) }) // Watch for changes diff --git a/packages/nuxt/src/imports/module.ts b/packages/nuxt/src/imports/module.ts index c3fe0abdf8..dcd26b5c11 100644 --- a/packages/nuxt/src/imports/module.ts +++ b/packages/nuxt/src/imports/module.ts @@ -1,5 +1,5 @@ import { existsSync } from 'node:fs' -import { addTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, isIgnored, logger, resolveAlias, tryResolveModule, updateTemplates, useNuxt } from '@nuxt/kit' +import { addTemplate, addTypeTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, isIgnored, logger, resolveAlias, tryResolveModule, updateTemplates, useNuxt } from '@nuxt/kit' import { isAbsolute, join, normalize, relative, resolve } from 'pathe' import type { Import, Unimport } from 'unimport' import { createUnimport, scanDirExports, toExports } from 'unimport' @@ -124,12 +124,6 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ // Generate types addDeclarationTemplates(ctx, options) - // Add generated types to `nuxt.d.ts` - nuxt.hook('prepare:types', ({ references }) => { - references.push({ path: resolve(nuxt.options.buildDir, 'types/imports.d.ts') }) - references.push({ path: resolve(nuxt.options.buildDir, 'imports.d.ts') }) - }) - // Watch composables/ directory nuxt.hook('builder:watch', async (_, relativePath) => { const path = resolve(nuxt.options.srcDir, relativePath) @@ -186,12 +180,12 @@ function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions })) } - addTemplate({ + addTypeTemplate({ filename: 'imports.d.ts', getContents: async ({ nuxt }) => toExports(await ctx.getImports(), nuxt.options.buildDir, true) }) - addTemplate({ + addTypeTemplate({ filename: 'types/imports.d.ts', getContents: async () => { const imports = await ctx.getImports() From 3c7e68c84637d3aca9273921f8176e87e8423696 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 17:18:31 -0700 Subject: [PATCH 302/470] fix(nuxt): handle nightly releases for hoisted types --- packages/nuxt/src/core/nuxt.ts | 34 +++++++++++++++++++++--- packages/schema/src/config/typescript.ts | 2 +- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 0b83c3885c..9d260dad4f 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -4,7 +4,8 @@ import type { LoadNuxtOptions } from '@nuxt/kit' import { addBuildPlugin, addComponent, addPlugin, addRouteMiddleware, addServerPlugin, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' import { resolvePath as _resolvePath } from 'mlly' import type { Nuxt, NuxtHooks, NuxtOptions } from 'nuxt/schema' -import { resolvePackageJSON } from 'pkg-types' +import type { PackageJson } from 'pkg-types' +import { readPackageJSON, resolvePackageJSON } from 'pkg-types' import escapeRE from 'escape-string-regexp' import fse from 'fs-extra' @@ -51,6 +52,14 @@ export function createNuxt (options: NuxtOptions): Nuxt { return nuxt } +const nightlies = { + nitropack: 'nitropack-nightly', + h3: 'h3-nightly', + nuxt: 'nuxt-nightly', + '@nuxt/schema': '@nuxt/schema-nightly', + '@nuxt/kit': '@nuxt/kit-nightly' +} + async function initNuxt (nuxt: Nuxt) { // Register user hooks for (const config of nuxt.options._layers.map(layer => layer.config).reverse()) { @@ -64,11 +73,28 @@ async function initNuxt (nuxt: Nuxt) { nuxt.hook('close', () => nuxtCtx.unset()) const coreTypePackages = nuxt.options.typescript.hoist || [] + const packageJSON = await readPackageJSON(nuxt.options.rootDir).catch(() => ({}) as PackageJson) + const dependencies = new Set([...Object.keys(packageJSON.dependencies || {}), ...Object.keys(packageJSON.devDependencies || {})]) const paths = Object.fromEntries(await Promise.all(coreTypePackages.map(async (pkg) => { + // ignore packages that exist in `package.json` as these can be resolved by TypeScript + if (dependencies.has(pkg) && !(pkg in nightlies)) { return [] } + + // deduplicate types for nightly releases + if (pkg in nightlies) { + const nightly = nightlies[pkg as keyof typeof nightlies] + const path = await _resolvePath(nightly, { url: nuxt.options.modulesDir }).then(r => resolvePackageJSON(r)).catch(() => null) + if (path) { + return [[pkg, [dirname(path)]], [nightly, [dirname(path)]]] + } + } + const path = await _resolvePath(pkg, { url: nuxt.options.modulesDir }).then(r => resolvePackageJSON(r)).catch(() => null) - if (!path) { return } - return [pkg, [dirname(path)]] - })).then(r => r.filter(Boolean) as [string, [string]][])) + if (path) { + return [[pkg, [dirname(path)]]] + } + + return [] + })).then(r => r.flat())) // Set nitro resolutions for types that might be obscured with shamefully-hoist=false nuxt.options.nitro.typescript = defu(nuxt.options.nitro.typescript, { diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 8c9eb2c2d0..61cd176de5 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -32,7 +32,7 @@ export default defineUntypedSchema({ */ hoist: { $resolve: (val) => { - const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema'] + const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema', 'nuxt', 'consola'] return val === false ? [] : (Array.isArray(val) ? val.concat(defaults) : defaults) } }, From 02d68382936329fb8507ec44ae441b0326212036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Sun, 17 Mar 2024 01:19:44 +0100 Subject: [PATCH 303/470] feat(nuxt): add `clear` utility to `useAsyncData`/`useFetch` (#26259) --- docs/1.getting-started/6.data-fetching.md | 1 + docs/3.api/2.composables/use-async-data.md | 1 + docs/3.api/2.composables/use-fetch.md | 1 + .../nuxt/src/app/composables/asyncData.ts | 46 ++++++++++++------- test/nuxt/composables.test.ts | 13 ++++++ 5 files changed, 45 insertions(+), 17 deletions(-) diff --git a/docs/1.getting-started/6.data-fetching.md b/docs/1.getting-started/6.data-fetching.md index f55f32a7f5..5c45cf9110 100644 --- a/docs/1.getting-started/6.data-fetching.md +++ b/docs/1.getting-started/6.data-fetching.md @@ -150,6 +150,7 @@ Read more about `useAsyncData`. - `data`: the result of the asynchronous function that is passed in. - `pending`: a boolean indicating whether the data is still being fetched. - `refresh`/`execute`: a function that can be used to refresh the data returned by the `handler` function. +- `clear`: a function that can be used to set `data` to undefined, set `error` to `null`, set `pending` to `false`, set `status` to `idle`, and mark any currently pending requests as cancelled. - `error`: an error object if the data fetching failed. - `status`: a string indicating the status of the data request (`"idle"`, `"pending"`, `"success"`, `"error"`). diff --git a/docs/3.api/2.composables/use-async-data.md b/docs/3.api/2.composables/use-async-data.md index 4768cedafe..da3cb8f39c 100644 --- a/docs/3.api/2.composables/use-async-data.md +++ b/docs/3.api/2.composables/use-async-data.md @@ -130,6 +130,7 @@ type AsyncData<DataT, ErrorT> = { pending: Ref<boolean> refresh: (opts?: AsyncDataExecuteOptions) => Promise<void> execute: (opts?: AsyncDataExecuteOptions) => Promise<void> + clear: () => void error: Ref<ErrorT | null> status: Ref<AsyncDataRequestStatus> }; diff --git a/docs/3.api/2.composables/use-fetch.md b/docs/3.api/2.composables/use-fetch.md index 1b2c98ab93..bd4d30d647 100644 --- a/docs/3.api/2.composables/use-fetch.md +++ b/docs/3.api/2.composables/use-fetch.md @@ -158,6 +158,7 @@ type AsyncData<DataT, ErrorT> = { pending: Ref<boolean> refresh: (opts?: AsyncDataExecuteOptions) => Promise<void> execute: (opts?: AsyncDataExecuteOptions) => Promise<void> + clear: () => void error: Ref<ErrorT | null> status: Ref<AsyncDataRequestStatus> } diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 41bf259270..4ae5507330 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -111,6 +111,7 @@ export interface _AsyncData<DataT, ErrorT> { pending: Ref<boolean> refresh: (opts?: AsyncDataExecuteOptions) => Promise<void> execute: (opts?: AsyncDataExecuteOptions) => Promise<void> + clear: () => void error: Ref<ErrorT | null> status: Ref<AsyncDataRequestStatus> } @@ -221,8 +222,9 @@ export function useAsyncData< if (value) { return value as Promise<ResT> } const promise = nuxtApp.runWithContext(_handler) - nuxtApp.ssrContext!._sharedPrerenderCache!.set(key, promise) - return promise + + nuxtApp.ssrContext!._sharedPrerenderCache!.set(key, promise) + return promise } // Used to get default values @@ -322,6 +324,8 @@ export function useAsyncData< return nuxtApp._asyncDataPromises[key]! } + asyncData.clear = () => clearNuxtDataByKey(nuxtApp, key) + const initialFetch = () => asyncData.refresh({ _initial: true }) const fetchOnServer = options.server !== false && nuxtApp.payload.serverRendered @@ -499,21 +503,29 @@ export function clearNuxtData (keys?: string | string[] | ((key: string) => bool : toArray(keys) for (const key of _keys) { - if (key in nuxtApp.payload.data) { - nuxtApp.payload.data[key] = undefined - } - if (key in nuxtApp.payload._errors) { - nuxtApp.payload._errors[key] = null - } - if (nuxtApp._asyncData[key]) { - nuxtApp._asyncData[key]!.data.value = undefined - nuxtApp._asyncData[key]!.error.value = null - nuxtApp._asyncData[key]!.pending.value = false - nuxtApp._asyncData[key]!.status.value = 'idle' - } - if (key in nuxtApp._asyncDataPromises) { - nuxtApp._asyncDataPromises[key] = undefined - } + clearNuxtDataByKey(nuxtApp, key) + } +} + +function clearNuxtDataByKey (nuxtApp: NuxtApp, key: string): void { + if (key in nuxtApp.payload.data) { + nuxtApp.payload.data[key] = undefined + } + + if (key in nuxtApp.payload._errors) { + nuxtApp.payload._errors[key] = null + } + + if (nuxtApp._asyncData[key]) { + nuxtApp._asyncData[key]!.data.value = undefined + nuxtApp._asyncData[key]!.error.value = null + nuxtApp._asyncData[key]!.pending.value = false + nuxtApp._asyncData[key]!.status.value = 'idle' + } + + if (key in nuxtApp._asyncDataPromises) { + (nuxtApp._asyncDataPromises[key] as any).cancelled = true + nuxtApp._asyncDataPromises[key] = undefined } } diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index d74718302c..ab556a4b84 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -123,6 +123,7 @@ describe('useAsyncData', () => { "status", "execute", "refresh", + "clear", ] `) expect(res instanceof Promise).toBeTruthy() @@ -200,6 +201,18 @@ describe('useAsyncData', () => { expect(data.data.value).toMatchInlineSnapshot('"test"') }) + it('should be clearable', async () => { + const { data, error, pending, status, clear } = await useAsyncData(() => Promise.resolve('test')) + expect(data.value).toBe('test') + + clear() + + expect(data.value).toBeUndefined() + expect(error.value).toBeNull() + expect(pending.value).toBe(false) + expect(status.value).toBe('idle') + }) + it('allows custom access to a cache', async () => { const { data } = await useAsyncData(() => ({ val: true }), { getCachedData: () => ({ val: false }) }) expect(data.value).toMatchInlineSnapshot(` From 1cae15a3a4e3965080781f7a2e5eda8445d5eb34 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 17:21:27 -0700 Subject: [PATCH 304/470] chore(nuxt): ensure type template has const filename --- packages/nuxt/src/components/templates.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/components/templates.ts b/packages/nuxt/src/components/templates.ts index 8e3923c139..c5b31e8252 100644 --- a/packages/nuxt/src/components/templates.ts +++ b/packages/nuxt/src/components/templates.ts @@ -98,8 +98,8 @@ export const componentsIslandsTemplate: NuxtTemplate = { } } -export const componentsTypeTemplate: NuxtTemplate = { - filename: 'components.d.ts', +export const componentsTypeTemplate = { + filename: 'components.d.ts' as const, getContents: ({ app, nuxt }) => { const buildDir = nuxt.options.buildDir const componentTypes = app.components.filter(c => !c.island).map(c => [ @@ -123,7 +123,7 @@ ${componentTypes.map(([pascalName, type]) => `export const Lazy${pascalName}: ${ export const componentNames: string[] ` } -} +} satisfies NuxtTemplate export const componentsMetadataTemplate: NuxtTemplate = { filename: 'components.json', From 24217a9920f0045d230ce9f7f6d01173e94ac599 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 18:07:34 -0700 Subject: [PATCH 305/470] docs: add example for `clear` --- docs/1.getting-started/6.data-fetching.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/1.getting-started/6.data-fetching.md b/docs/1.getting-started/6.data-fetching.md index 5c45cf9110..b6b52457c9 100644 --- a/docs/1.getting-started/6.data-fetching.md +++ b/docs/1.getting-started/6.data-fetching.md @@ -295,6 +295,21 @@ The `execute` function is an alias for `refresh` that works in exactly the same To globally refetch or invalidate cached data, see [`clearNuxtData`](/docs/api/utils/clear-nuxt-data) and [`refreshNuxtData`](/docs/api/utils/refresh-nuxt-data). :: +#### Clear + +If you want to clear the data provided, for whatever reason, without needing to know the specific key to pass to `clearNuxtData`, you can use the `clear` function provided by the composables. + +```vue twoslash +<script setup lang="ts"> +const { data, clear } = await useFetch('/api/users') + +const route = useRoute() +watch(() => route.path, (path) => { + if (path === '/') clear() +}) +</script> +``` + #### Watch To re-run your fetching function each time other reactive values in your application change, use the `watch` option. You can use it for one or multiple _watchable_ elements. From 115298a447f821982bb11e04319b18a3f48d0ed9 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 18:20:47 -0700 Subject: [PATCH 306/470] docs: add docs about playwright runner support --- docs/1.getting-started/11.testing.md | 55 +++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index dba218d7dd..67437c1a5f 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -15,7 +15,7 @@ Nuxt offers first-class support for end-to-end and unit testing of your Nuxt app In order to allow you to manage your other testing dependencies, `@nuxt/test-utils` ships with various optional peer dependencies. For example: - you can choose between `happy-dom` and `jsdom` for a runtime Nuxt environment -- you can choose between `vitest` and `jest` for end-to-end test runners +- you can choose between `vitest`, `cucumber`, `jest` and `playwright` for end-to-end test runners - `playwright-core` is only required if you wish to use the built-in browser testing utilities ::code-group @@ -454,7 +454,7 @@ Please use the options below for the `setup` method. - `type`: The type of browser to launch - either `chromium`, `firefox` or `webkit` - `launch`: `object` of options that will be passed to playwright when launching the browser. See [full API reference](https://playwright.dev/docs/api/class-browsertype#browser-type-launch). - `runner`: Specify the runner for the test suite. Currently, [Vitest](https://vitest.dev) is recommended. - - Type: `'vitest' | 'jest'` + - Type: `'vitest' | 'jest' | 'cucumber'` - Default: `'vitest'` ### APIs @@ -505,3 +505,54 @@ import { createPage } from '@nuxt/test-utils/e2e' const page = await createPage('/page') // you can access all the Playwright APIs from the `page` variable ``` + +#### Testing with Playwright Test Runner + +We provide first-class support for using `@nuxt/test-utils` within a Playwright test runner. + +You can provide global Nuxt configuration, with the same configuration details as the `setup()` function mentioned earlier in this section. + +```ts [playwright.config.ts] +import { fileURLToPath } from 'node:url' +import { defineConfig, devices } from '@playwright/test' +import type { ConfigOptions } from '@nuxt/test-utils/playwright' + +export default defineConfig<ConfigOptions>({ + use: { + nuxt: { + rootDir: fileURLToPath(new URL('.', import.meta.url)) + } + }, + // ... +}) +``` + +::read-more{title="See full example config" to="https://github.com/nuxt/test-utils/blob/main/examples/app-playwright/playwright.config.ts" target="_blank"} + +Your test file should then use `expect` and `test` directly from `@nuxt/test-utils/playwright`: + +```ts [tests/example.test.ts] +import { expect, test } from '@nuxt/test-utils/playwright' + +test('test', async ({ page, goto }) => { + await goto('/', { waitUntil: 'hydration' }) + await expect(page.getByRole('heading')).toHaveText('Welcome to Playwright!') +}) +``` + +You can alternatively configure your Nuxt server directly within your test file: + +```ts [tests/example.test.ts] +import { expect, test } from '@nuxt/test-utils/playwright' + +test.use({ + nuxt: { + rootDir: fileURLToPath(new URL('..', import.meta.url)) + } +}) + +test('test', async ({ page, goto }) => { + await goto('/', { waitUntil: 'hydration' }) + await expect(page.getByRole('heading')).toHaveText('Welcome to Playwright!') +}) +``` From da8e8eba80c10f7391f9c76c99d5db1e171cca1f Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sat, 16 Mar 2024 18:40:57 -0700 Subject: [PATCH 307/470] docs: add some `appMiddleware` docs --- docs/1.getting-started/8.server.md | 4 ++-- docs/2.guide/1.concepts/3.rendering.md | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/1.getting-started/8.server.md b/docs/1.getting-started/8.server.md index 94e2da9e7c..49e0f21464 100644 --- a/docs/1.getting-started/8.server.md +++ b/docs/1.getting-started/8.server.md @@ -83,9 +83,9 @@ export default defineNuxtConfig({ Learn about all available route rules are available to customize the rendering mode of your routes. :: -In addition, there are some route rules (for example, `ssr` and `experimentalNoScripts`) that are Nuxt specific to change the behavior when rendering your pages to HTML. +In addition, there are some route rules (for example, `ssr`, `appMiddleware`, and `experimentalNoScripts`) that are Nuxt specific to change the behavior when rendering your pages to HTML. -Some route rules (`redirect` and `prerender`) also affect client-side behavior. +Some route rules (`appMiddleware`, `redirect` and `prerender`) also affect client-side behavior. Nitro is used to build the app for server side rendering, as well as pre-rendering. diff --git a/docs/2.guide/1.concepts/3.rendering.md b/docs/2.guide/1.concepts/3.rendering.md index 3c4fa6ca56..4adf1baaab 100644 --- a/docs/2.guide/1.concepts/3.rendering.md +++ b/docs/2.guide/1.concepts/3.rendering.md @@ -109,10 +109,11 @@ The different properties you can use are the following: - `ssr: boolean`{lang=ts} - Disables server-side rendering for sections of your app and make them SPA-only with `ssr: false` - `cors: boolean`{lang=ts} - Automatically adds cors headers with `cors: true` - you can customize the output by overriding with `headers` - `headers: object`{lang=ts} - Add specific headers to sections of your site - for example, your assets -- `swr: number|boolean`{lang=ts} - Add cache headers to the server response and cache it on the server or reverse proxy for a configurable TTL (time to live). The `node-server` preset of Nitro is able to cache the full response. When the TTL expired, the cached response will be sent while the page will be regenerated in the background. If true is used, a `stale-while-revalidate` header is added without a MaxAge. -- `isr: number|boolean`{lang=ts} - The behavior is the same as `swr` except that we are able to add the response to the CDN cache on platforms that support this (currently Netlify or Vercel). If `true` is used, the content persists until the next deploy inside the CDN. -- `prerender:boolean`{lang=ts} - Prerenders routes at build time and includes them in your build as static assets +- `swr: number | boolean`{lang=ts} - Add cache headers to the server response and cache it on the server or reverse proxy for a configurable TTL (time to live). The `node-server` preset of Nitro is able to cache the full response. When the TTL expired, the cached response will be sent while the page will be regenerated in the background. If true is used, a `stale-while-revalidate` header is added without a MaxAge. +- `isr: number | boolean`{lang=ts} - The behavior is the same as `swr` except that we are able to add the response to the CDN cache on platforms that support this (currently Netlify or Vercel). If `true` is used, the content persists until the next deploy inside the CDN. +- `prerender: boolean`{lang=ts} - Prerenders routes at build time and includes them in your build as static assets - `experimentalNoScripts: boolean`{lang=ts} - Disables rendering of Nuxt scripts and JS resource hints for sections of your site. +- `appMiddleware: string | string[] | Record<string, boolean>`{lang=ts} - Allows you to define middleware that should or should not run for page paths within the Vue app part of your application (that is, not your Nitro routes) Whenever possible, route rules will be automatically applied to the deployment platform's native rules for optimal performances (Netlify and Vercel are currently supported). From 78d5098c28d2e21622961d8b87ef9b4623194fec Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 17 Mar 2024 01:15:47 -0700 Subject: [PATCH 308/470] v3.11.0 --- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index eb76f6f9e8..0b2b2d3bd2 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/kit", - "version": "3.10.3", + "version": "3.11.0", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index d1454a234b..daa6bd5e5c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "3.10.3", + "version": "3.11.0", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/schema/package.json b/packages/schema/package.json index ce3da53268..2d5f9cf238 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/schema", - "version": "3.10.3", + "version": "3.11.0", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/vite/package.json b/packages/vite/package.json index 7674874e6b..cdd5da23ca 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vite-builder", - "version": "3.10.3", + "version": "3.11.0", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 22e46bd117..9da76f7abf 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/webpack-builder", - "version": "3.10.3", + "version": "3.11.0", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", From 68f7d4df8bb38416864687c2b1e47467d9372485 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sun, 17 Mar 2024 02:06:41 -0700 Subject: [PATCH 309/470] ci: configure npm registry in release workflow --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 606a60aa6d..3aec93b443 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,6 +24,7 @@ jobs: - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 20 + registry-url: "https://registry.npmjs.org/" cache: "pnpm" - name: Install dependencies From cfd34ec23434cf8acd5123e5729fe340f0772107 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre <contact@florian-lefebvre.dev> Date: Sun, 17 Mar 2024 16:17:07 +0100 Subject: [PATCH 310/470] docs: fix code block formatting for `usePreviewMode` (#26303) --- docs/3.api/2.composables/use-preview-mode.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/3.api/2.composables/use-preview-mode.md b/docs/3.api/2.composables/use-preview-mode.md index 3af249e023..360350f19e 100644 --- a/docs/3.api/2.composables/use-preview-mode.md +++ b/docs/3.api/2.composables/use-preview-mode.md @@ -24,7 +24,8 @@ export function useMyPreviewMode () { return !!route.query.customPreview } }); -}``` +} +``` ### Modify default state @@ -40,7 +41,7 @@ const { enabled, state } = usePreviewMode({ }) ``` -::alert{icon=👉} +::note The `getState` function will append returned values to current state, so be careful not to accidentally overwrite important state. :: From 1ba33d5dc529ff97b54e68f402255903de5bcfe7 Mon Sep 17 00:00:00 2001 From: Tanvir Rahman <rahmantanvir25558@gmail.com> Date: Sun, 17 Mar 2024 21:18:31 +0600 Subject: [PATCH 311/470] docs: fix confusing wording (#26301) --- docs/2.guide/1.concepts/1.auto-imports.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/2.guide/1.concepts/1.auto-imports.md b/docs/2.guide/1.concepts/1.auto-imports.md index b26265d3c6..0fd8a3b63f 100644 --- a/docs/2.guide/1.concepts/1.auto-imports.md +++ b/docs/2.guide/1.concepts/1.auto-imports.md @@ -84,7 +84,7 @@ export const useMyComposable = () => { ```ts twoslash [composables/example.ts] export const useMyComposable = () => { // Because your composable is called in the right place in the lifecycle, - // useRuntimeConfig will also work + // useRuntimeConfig will work here const config = useRuntimeConfig() // ... From 551ffaa9d5f6159042ce8bae0329e0213d951404 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 17 Mar 2024 16:35:33 +0100 Subject: [PATCH 312/470] chore(deps): update devdependency happy-dom to v13.9.0 (main) (#26313) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 3ce09123db..512b2ef319 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.8.6", + "happy-dom": "13.9.0", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 183e408f93..0626d392fd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.8.6 - version: 13.8.6 + specifier: 13.9.0 + version: 13.9.0 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.1 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) + version: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -232,7 +232,7 @@ importers: version: 5.1.6(@types/node@20.11.28) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) + version: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) webpack: specifier: 5.90.3 version: 5.90.3 @@ -431,7 +431,7 @@ importers: version: 5.1.6(@types/node@20.11.28) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) + version: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) packages/schema: dependencies: @@ -868,7 +868,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.28)(happy-dom@13.8.6) + version: 1.0.2(@types/node@20.11.28)(happy-dom@13.9.0) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -2236,7 +2236,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2289,7 +2289,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.8.6 + happy-dom: 13.9.0 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2304,8 +2304,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.28) - vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3330,7 +3330,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.8.6) + vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) transitivePeerDependencies: - supports-color dev: true @@ -6221,8 +6221,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.8.6: - resolution: {integrity: sha512-Urcv2jvNel19QirWimOwYTW3slpEYGS8PLtzEwAlpTWpnKycXF8s0I7xUBK9fPvWAIc8uZf/CnV2cIwWE8jptw==} + /happy-dom@13.9.0: + resolution: {integrity: sha512-hMzsFn2x+B61TF7wsJ3La/exaxW9AWZePlNGzAkMvoVYXI3pMqPSGTT1qXTwcsVLB+44TM8KjHuoQLLx4EX9Vg==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11083,10 +11083,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.8.6)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11104,7 +11104,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.28)(happy-dom@13.8.6): + /vitest@1.0.2(@types/node@20.11.28)(happy-dom@13.9.0): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11140,7 +11140,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.8.6 + happy-dom: 13.9.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11162,7 +11162,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.28)(happy-dom@13.8.6): + /vitest@1.4.0(@types/node@20.11.28)(happy-dom@13.9.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11197,7 +11197,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.8.6 + happy-dom: 13.9.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 From b3ced3d694c89344c8e77b804a2dc76434d27668 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sun, 17 Mar 2024 16:36:29 +0100 Subject: [PATCH 313/470] fix(nuxt): ignore console.logs called outside event context resolves https://github.com/nuxt/nuxt/issues/26308 --- packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts index 63b955eae6..b1fd618e00 100644 --- a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts +++ b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts @@ -25,7 +25,9 @@ export default (nitroApp: NitroApp) => { } onConsoleLog((_log) => { - const ctx = asyncContext.use() + const ctx = asyncContext.tryUse() + if (!ctx) { return } + const stack = getStack() if (stack.includes('runtime/vite-node.mjs')) { return } From 4c8793587bffae428ca0427b188ccc5dccfaaebf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= <userquin@gmail.com> Date: Sun, 17 Mar 2024 17:56:47 +0100 Subject: [PATCH 314/470] fix(schema): include `ofetch` in `typescript.hoist` defaults (#26316) --- packages/schema/src/config/typescript.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 61cd176de5..9fcdf4ada2 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -32,7 +32,7 @@ export default defineUntypedSchema({ */ hoist: { $resolve: (val) => { - const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema', 'nuxt', 'consola'] + const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema', 'nuxt', 'consola', 'ofetch'] return val === false ? [] : (Array.isArray(val) ? val.concat(defaults) : defaults) } }, From 5b29dd3f3c929a69e5f647190a64e67be92892f7 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sun, 17 Mar 2024 17:57:11 +0100 Subject: [PATCH 315/470] fix(nuxt): conditionally use `tsx` parser (#26314) --- packages/nuxt/src/core/app.ts | 4 +++- packages/nuxt/src/core/plugins/plugin-metadata.ts | 4 ++-- packages/nuxt/test/plugin-metadata.test.ts | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 86b3e10b3c..255ef0d061 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -204,13 +204,15 @@ function resolvePaths<Item extends Record<string, any>> (items: Item[], key: { [ })) } +const IS_TSX = /\.[jt]sx$/ + export async function annotatePlugins (nuxt: Nuxt, plugins: NuxtPlugin[]) { const _plugins: Array<NuxtPlugin & Omit<PluginMeta, 'enforce'>> = [] for (const plugin of plugins) { try { const code = plugin.src in nuxt.vfs ? nuxt.vfs[plugin.src] : await fsp.readFile(plugin.src!, 'utf-8') _plugins.push({ - ...await extractMetadata(code), + ...await extractMetadata(code, IS_TSX.test(plugin.src) ? 'tsx' : 'ts'), ...plugin }) } catch (e) { diff --git a/packages/nuxt/src/core/plugins/plugin-metadata.ts b/packages/nuxt/src/core/plugins/plugin-metadata.ts index bd29f61a38..596372f83f 100644 --- a/packages/nuxt/src/core/plugins/plugin-metadata.ts +++ b/packages/nuxt/src/core/plugins/plugin-metadata.ts @@ -42,12 +42,12 @@ export const orderMap: Record<NonNullable<ObjectPlugin['enforce']>, number> = { } const metaCache: Record<string, Omit<PluginMeta, 'enforce'>> = {} -export async function extractMetadata (code: string) { +export async function extractMetadata (code: string, loader = 'ts' as 'ts' | 'tsx') { let meta: PluginMeta = {} if (metaCache[code]) { return metaCache[code] } - const js = await transform(code, { loader: 'tsx' }) + const js = await transform(code, { loader }) walk(parse(js.code, { sourceType: 'module', ecmaVersion: 'latest' diff --git a/packages/nuxt/test/plugin-metadata.test.ts b/packages/nuxt/test/plugin-metadata.test.ts index 09a88f0827..b06b3f2371 100644 --- a/packages/nuxt/test/plugin-metadata.test.ts +++ b/packages/nuxt/test/plugin-metadata.test.ts @@ -21,7 +21,7 @@ describe('plugin-metadata', () => { 'export default defineNuxtPlugin({', ...obj.map(([key, value]) => `${key}: ${typeof value === 'function' ? value.toString().replace('"[JSX]"', '() => <span>JSX</span>') : JSON.stringify(value)},`), '})' - ].join('\n')) + ].join('\n'), 'tsx') expect(meta).toMatchInlineSnapshot(` { From 401370b3a04b0651370dc5d4726b0d8dd5a70511 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sun, 17 Mar 2024 19:17:25 +0100 Subject: [PATCH 316/470] docs: add note that `useId` must be used with single root element --- docs/3.api/2.composables/use-id.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/3.api/2.composables/use-id.md b/docs/3.api/2.composables/use-id.md index 63a470a5db..ecadfa8f94 100644 --- a/docs/3.api/2.composables/use-id.md +++ b/docs/3.api/2.composables/use-id.md @@ -19,11 +19,15 @@ const id = useId() <template> <div> <label :for="id">Email</label> - <input :id="id" name="email" type="email"/> + <input :id="id" name="email" type="email" /> </div> </template> ``` +::note +`useId` must be used in a component with a single root element, as it uses this root element's attributes to pass the id from server to client. +:: + ## Parameters `useId` does not take any parameters. From 0d9c63b828f471664a7624558e287eb9df87f8e5 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sun, 17 Mar 2024 20:09:19 +0100 Subject: [PATCH 317/470] fix(nuxt): correct `finish` types and add to docs resolves https://github.com/nuxt/nuxt/issues/26317 --- docs/3.api/2.composables/use-loading-indicator.md | 2 +- packages/nuxt/src/app/composables/loading-indicator.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/3.api/2.composables/use-loading-indicator.md b/docs/3.api/2.composables/use-loading-indicator.md index a451518d71..2e4a5bb97b 100644 --- a/docs/3.api/2.composables/use-loading-indicator.md +++ b/docs/3.api/2.composables/use-loading-indicator.md @@ -39,7 +39,7 @@ Set `isLoading` to true and start to increase the `progress` value. ### `finish()` -Set the `progress` value to `100`, stop all timers and intervals then reset the loading state `500` ms later. +Set the `progress` value to `100`, stop all timers and intervals then reset the loading state `500` ms later. `finish` accepts a `{ force: true }` option to skip the interval before the state is reset. ### `clear()` diff --git a/packages/nuxt/src/app/composables/loading-indicator.ts b/packages/nuxt/src/app/composables/loading-indicator.ts index 191841d46d..7037f74438 100644 --- a/packages/nuxt/src/app/composables/loading-indicator.ts +++ b/packages/nuxt/src/app/composables/loading-indicator.ts @@ -25,7 +25,7 @@ export type LoadingIndicator = { isLoading: Ref<boolean> start: () => void set: (value: number) => void - finish: (opts: { force?: boolean }) => void + finish: (opts?: { force?: boolean }) => void clear: () => void } From 523db1a1972d13dee05bfcf6c14523cb55b6e5b7 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Sun, 17 Mar 2024 20:12:45 +0100 Subject: [PATCH 318/470] fix(nuxt): ignore failures to access asyncContext in environments without it --- packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts index b1fd618e00..b7efca61e4 100644 --- a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts +++ b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts @@ -44,12 +44,15 @@ export default (nitroApp: NitroApp) => { }) nitroApp.hooks.hook('afterResponse', () => { - const ctx = asyncContext.use() + const ctx = asyncContext.tryUse() + if (!ctx) { return } return nitroApp.hooks.callHook('dev:ssr-logs', { logs: ctx.logs, path: ctx.event.path }) }) // Pass any logs to the client nitroApp.hooks.hook('render:html', (htmlContext) => { + const ctx = asyncContext.tryUse() + if (!ctx) { return } htmlContext.bodyAppend.unshift(`<script>window.__NUXT_LOGS__ = ${devalue(asyncContext.use().logs)}</script>`) }) } From 03f7b0941e3b2096b4f87f9cba890cda3b854c76 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Sun, 17 Mar 2024 22:27:43 +0100 Subject: [PATCH 319/470] chore(nuxt): remove unused code (#26319) --- packages/nuxt/src/app/components/utils.ts | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/packages/nuxt/src/app/components/utils.ts b/packages/nuxt/src/app/components/utils.ts index 11108cb583..1411c2c329 100644 --- a/packages/nuxt/src/app/components/utils.ts +++ b/packages/nuxt/src/app/components/utils.ts @@ -75,24 +75,6 @@ export function createBuffer () { } } -const TRANSLATE_RE = /&(nbsp|amp|quot|lt|gt);/g -const NUMSTR_RE = /&#(\d+);/gi -export function decodeHtmlEntities (html: string) { - const translateDict = { - nbsp: ' ', - amp: '&', - quot: '"', - lt: '<', - gt: '>' - } as const - return html.replace(TRANSLATE_RE, function (_, entity: keyof typeof translateDict) { - return translateDict[entity] - }).replace(NUMSTR_RE, function (_, numStr: string) { - const num = parseInt(numStr, 10) - return String.fromCharCode(num) - }) -} - /** * helper for NuxtIsland to generate a correct array for scoped data */ From 97a98b08381477939095d15e6423acdf2d9c077e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:29:28 +0000 Subject: [PATCH 320/470] chore(deps): update all non-major dependencies (main) (#26321) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 312 ++++++++++++++++++---------------- 4 files changed, 166 insertions(+), 154 deletions(-) diff --git a/package.json b/package.json index 512b2ef319..13166a1f29 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", - "@testing-library/vue": "8.0.2", + "@testing-library/vue": "8.0.3", "@types/fs-extra": "11.0.4", "@types/node": "20.11.28", "@types/semver": "7.5.8", @@ -89,7 +89,7 @@ "vue-router": "4.3.0", "vue-tsc": "2.0.6" }, - "packageManager": "pnpm@8.15.4", + "packageManager": "pnpm@8.15.5", "engines": { "node": "^14.18.0 || >=16.10.0" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index cdd5da23ca..4e573439d8 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -55,7 +55,7 @@ "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "postcss": "^8.4.35", + "postcss": "^8.4.36", "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 9da76f7abf..cbf16c2169 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -48,7 +48,7 @@ "ohash": "^1.1.3", "pathe": "^1.1.2", "pify": "^6.1.0", - "postcss": "^8.4.35", + "postcss": "^8.4.36", "postcss-import": "^16.0.1", "postcss-import-resolver": "^2.0.0", "postcss-loader": "^8.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0626d392fd..ffb5edbd82 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,13 +27,13 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack '@testing-library/vue': - specifier: 8.0.2 - version: 8.0.2(vue@3.4.21) + specifier: 8.0.3 + version: 8.0.3(vue@3.4.21) '@types/fs-extra': specifier: 11.0.4 version: 11.0.4 @@ -141,7 +141,7 @@ importers: version: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -561,7 +561,7 @@ importers: version: 3.1.0(vite@5.1.6)(vue@3.4.21) autoprefixer: specifier: ^10.4.18 - version: 10.4.18(postcss@8.4.35) + version: 10.4.18(postcss@8.4.36) clear: specifier: ^0.1.0 version: 0.1.0 @@ -570,7 +570,7 @@ importers: version: 3.2.3 cssnano: specifier: ^6.1.0 - version: 6.1.0(postcss@8.4.35) + version: 6.1.0(postcss@8.4.36) defu: specifier: ^6.1.4 version: 6.1.4 @@ -617,8 +617,8 @@ importers: specifier: ^1.0.3 version: 1.0.3 postcss: - specifier: ^8.4.35 - version: 8.4.35 + specifier: ^8.4.36 + version: 8.4.36 rollup-plugin-visualizer: specifier: ^5.12.0 version: 5.12.0(rollup@4.13.0) @@ -679,7 +679,7 @@ importers: version: link:../kit autoprefixer: specifier: ^10.4.18 - version: 10.4.18(postcss@8.4.35) + version: 10.4.18(postcss@8.4.36) css-loader: specifier: ^6.10.0 version: 6.10.0(webpack@5.90.3) @@ -688,7 +688,7 @@ importers: version: 6.0.0(webpack@5.90.3) cssnano: specifier: ^6.1.0 - version: 6.1.0(postcss@8.4.35) + version: 6.1.0(postcss@8.4.36) defu: specifier: ^6.1.4 version: 6.1.4 @@ -741,20 +741,20 @@ importers: specifier: ^6.1.0 version: 6.1.0 postcss: - specifier: ^8.4.35 - version: 8.4.35 + specifier: ^8.4.36 + version: 8.4.36 postcss-import: specifier: ^16.0.1 - version: 16.0.1(postcss@8.4.35) + version: 16.0.1(postcss@8.4.36) postcss-import-resolver: specifier: ^2.0.0 version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.35)(typescript@5.4.2)(webpack@5.90.3) + version: 8.1.1(postcss@8.4.36)(typescript@5.4.2)(webpack@5.90.3) postcss-url: specifier: ^10.1.3 - version: 10.1.3(postcss@8.4.35) + version: 10.1.3(postcss@8.4.36) pug-plain-loader: specifier: ^1.1.0 version: 1.1.0(pug@3.0.2) @@ -2236,7 +2236,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2278,7 +2278,7 @@ packages: dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema - '@testing-library/vue': 8.0.2(vue@3.4.21) + '@testing-library/vue': 8.0.3(vue@3.4.21) '@vue/test-utils': 2.4.5 c12: 1.10.0 consola: 3.2.3 @@ -2305,7 +2305,7 @@ packages: unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.28) vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2813,8 +2813,8 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/vue@8.0.2(vue@3.4.21): - resolution: {integrity: sha512-A8wWX+qQn0o0izpQWnGCpwQt8wAdpsVP8vPP2h5Q/jcGhZ5yKXz9PPUqhQv+45LTFaWlyRf8bArTVaB/KFFd5A==} + /@testing-library/vue@8.0.3(vue@3.4.21): + resolution: {integrity: sha512-wSsbNlZ69ZFQgVlHMtc/ZC/g9BHO7MhyDrd4nHyfEubtMr3kToN/w4/BsSBknGIF8w9UmPbsgbIuq/CbdBHzCA==} engines: {node: '>=14'} peerDependencies: '@vue/compiler-sfc': '>= 3' @@ -3506,7 +3506,7 @@ packages: '@vue/shared': 3.4.21 estree-walker: 2.0.2 magic-string: 0.30.8 - postcss: 8.4.35 + postcss: 8.4.36 source-map-js: 1.0.2 /@vue/compiler-ssr@3.4.21: @@ -4033,7 +4033,7 @@ packages: /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - /autoprefixer@10.4.18(postcss@8.4.35): + /autoprefixer@10.4.18(postcss@8.4.36): resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -4045,7 +4045,7 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false @@ -4600,13 +4600,13 @@ packages: uWebSockets.js: optional: true - /css-declaration-sorter@7.1.1(postcss@8.4.35): + /css-declaration-sorter@7.1.1(postcss@8.4.36): resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false /css-loader@6.10.0(webpack@5.90.3): @@ -4621,12 +4621,12 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.35) - postcss-modules-scope: 3.1.1(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.36) + postcss: 8.4.36 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.36) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.36) + postcss-modules-scope: 3.1.1(postcss@8.4.36) + postcss-modules-values: 4.0.0(postcss@8.4.36) postcss-value-parser: 4.2.0 semver: 7.6.0 webpack: 5.90.3 @@ -4658,9 +4658,9 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.0(postcss@8.4.35) + cssnano: 6.1.0(postcss@8.4.36) jest-worker: 29.7.0 - postcss: 8.4.35 + postcss: 8.4.36 schema-utils: 4.2.0 serialize-javascript: 6.0.2 webpack: 5.90.3 @@ -4702,63 +4702,63 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.1.0(postcss@8.4.35): + /cssnano-preset-default@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-4DUXZoDj+PI3fRl3MqMjl9DwLGjcsFP4qt+92nLUcN1RGfw2TY+GwNoG2B38Usu1BrcTs8j9pxNfSusmvtSjfg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - css-declaration-sorter: 7.1.1(postcss@8.4.35) - cssnano-utils: 4.0.2(postcss@8.4.35) - postcss: 8.4.35 - postcss-calc: 9.0.1(postcss@8.4.35) - postcss-colormin: 6.1.0(postcss@8.4.35) - postcss-convert-values: 6.1.0(postcss@8.4.35) - postcss-discard-comments: 6.0.2(postcss@8.4.35) - postcss-discard-duplicates: 6.0.3(postcss@8.4.35) - postcss-discard-empty: 6.0.3(postcss@8.4.35) - postcss-discard-overridden: 6.0.2(postcss@8.4.35) - postcss-merge-longhand: 6.0.4(postcss@8.4.35) - postcss-merge-rules: 6.1.0(postcss@8.4.35) - postcss-minify-font-values: 6.0.3(postcss@8.4.35) - postcss-minify-gradients: 6.0.3(postcss@8.4.35) - postcss-minify-params: 6.1.0(postcss@8.4.35) - postcss-minify-selectors: 6.0.3(postcss@8.4.35) - postcss-normalize-charset: 6.0.2(postcss@8.4.35) - postcss-normalize-display-values: 6.0.2(postcss@8.4.35) - postcss-normalize-positions: 6.0.2(postcss@8.4.35) - postcss-normalize-repeat-style: 6.0.2(postcss@8.4.35) - postcss-normalize-string: 6.0.2(postcss@8.4.35) - postcss-normalize-timing-functions: 6.0.2(postcss@8.4.35) - postcss-normalize-unicode: 6.1.0(postcss@8.4.35) - postcss-normalize-url: 6.0.2(postcss@8.4.35) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.35) - postcss-ordered-values: 6.0.2(postcss@8.4.35) - postcss-reduce-initial: 6.1.0(postcss@8.4.35) - postcss-reduce-transforms: 6.0.2(postcss@8.4.35) - postcss-svgo: 6.0.3(postcss@8.4.35) - postcss-unique-selectors: 6.0.3(postcss@8.4.35) + css-declaration-sorter: 7.1.1(postcss@8.4.36) + cssnano-utils: 4.0.2(postcss@8.4.36) + postcss: 8.4.36 + postcss-calc: 9.0.1(postcss@8.4.36) + postcss-colormin: 6.1.0(postcss@8.4.36) + postcss-convert-values: 6.1.0(postcss@8.4.36) + postcss-discard-comments: 6.0.2(postcss@8.4.36) + postcss-discard-duplicates: 6.0.3(postcss@8.4.36) + postcss-discard-empty: 6.0.3(postcss@8.4.36) + postcss-discard-overridden: 6.0.2(postcss@8.4.36) + postcss-merge-longhand: 6.0.4(postcss@8.4.36) + postcss-merge-rules: 6.1.0(postcss@8.4.36) + postcss-minify-font-values: 6.0.3(postcss@8.4.36) + postcss-minify-gradients: 6.0.3(postcss@8.4.36) + postcss-minify-params: 6.1.0(postcss@8.4.36) + postcss-minify-selectors: 6.0.3(postcss@8.4.36) + postcss-normalize-charset: 6.0.2(postcss@8.4.36) + postcss-normalize-display-values: 6.0.2(postcss@8.4.36) + postcss-normalize-positions: 6.0.2(postcss@8.4.36) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.36) + postcss-normalize-string: 6.0.2(postcss@8.4.36) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.36) + postcss-normalize-unicode: 6.1.0(postcss@8.4.36) + postcss-normalize-url: 6.0.2(postcss@8.4.36) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.36) + postcss-ordered-values: 6.0.2(postcss@8.4.36) + postcss-reduce-initial: 6.1.0(postcss@8.4.36) + postcss-reduce-transforms: 6.0.2(postcss@8.4.36) + postcss-svgo: 6.0.3(postcss@8.4.36) + postcss-unique-selectors: 6.0.3(postcss@8.4.36) dev: false - /cssnano-utils@4.0.2(postcss@8.4.35): + /cssnano-utils@4.0.2(postcss@8.4.36): resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false - /cssnano@6.1.0(postcss@8.4.35): + /cssnano@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-e2v4w/t3OFM6HTuSweI4RSdABaqgVgHlJp5FZrQsopHnKKHLFIvK2D3C4kHWeFIycN/1L1J5VIrg5KlDzn3r/g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.1.0(postcss@8.4.35) + cssnano-preset-default: 6.1.0(postcss@8.4.36) lilconfig: 3.1.1 - postcss: 8.4.35 + postcss: 8.4.36 dev: false /csso@5.0.5: @@ -6476,13 +6476,13 @@ packages: dev: false optional: true - /icss-utils@5.1.0(postcss@8.4.35): + /icss-utils@5.1.0(postcss@8.4.36): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false /ieee754@1.2.1: @@ -8703,18 +8703,18 @@ packages: engines: {node: '>=4'} dev: true - /postcss-calc@9.0.1(postcss@8.4.35): + /postcss-calc@9.0.1(postcss@8.4.36): resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@6.1.0(postcss@8.4.35): + /postcss-colormin@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -8723,55 +8723,55 @@ packages: browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@6.1.0(postcss@8.4.35): + /postcss-convert-values@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-discard-comments@6.0.2(postcss@8.4.35): + /postcss-discard-comments@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false - /postcss-discard-duplicates@6.0.3(postcss@8.4.35): + /postcss-discard-duplicates@6.0.3(postcss@8.4.36): resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false - /postcss-discard-empty@6.0.3(postcss@8.4.35): + /postcss-discard-empty@6.0.3(postcss@8.4.36): resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false - /postcss-discard-overridden@6.0.2(postcss@8.4.35): + /postcss-discard-overridden@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false /postcss-import-resolver@2.0.0: @@ -8780,19 +8780,19 @@ packages: enhanced-resolve: 4.5.0 dev: false - /postcss-import@16.0.1(postcss@8.4.35): + /postcss-import@16.0.1(postcss@8.4.36): resolution: {integrity: sha512-i2Pci0310NaLHr/5JUFSw1j/8hf1CzwMY13g6ZDxgOavmRHQi2ba3PmUHoihO+sjaum+KmCNzskNsw7JDrg03g==} engines: {node: '>=18.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: false - /postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.4.2)(webpack@5.90.3): + /postcss-loader@8.1.1(postcss@8.4.36)(typescript@5.4.2)(webpack@5.90.3): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -8807,25 +8807,25 @@ packages: dependencies: cosmiconfig: 9.0.0(typescript@5.4.2) jiti: 1.21.0 - postcss: 8.4.35 + postcss: 8.4.36 semver: 7.6.0 webpack: 5.90.3 transitivePeerDependencies: - typescript dev: false - /postcss-merge-longhand@6.0.4(postcss@8.4.35): + /postcss-merge-longhand@6.0.4(postcss@8.4.36): resolution: {integrity: sha512-vAfWGcxUUGlFiPM3nDMZA+/Yo9sbpc3JNkcYZez8FfJDv41Dh7tAgA3QGVTocaHCZZL6aXPXPOaBMJsjujodsA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 - stylehacks: 6.1.0(postcss@8.4.35) + stylehacks: 6.1.0(postcss@8.4.36) dev: false - /postcss-merge-rules@6.1.0(postcss@8.4.35): + /postcss-merge-rules@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-lER+W3Gr6XOvxOYk1Vi/6UsAgKMg6MDBthmvbNqi2XxAk/r9XfhdYZSigfWjuWWn3zYw2wLelvtM8XuAEFqRkA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -8833,198 +8833,198 @@ packages: dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.35) - postcss: 8.4.35 + cssnano-utils: 4.0.2(postcss@8.4.36) + postcss: 8.4.36 postcss-selector-parser: 6.0.15 dev: false - /postcss-minify-font-values@6.0.3(postcss@8.4.35): + /postcss-minify-font-values@6.0.3(postcss@8.4.36): resolution: {integrity: sha512-SmAeTA1We5rMnN3F8X9YBNo9bj9xB4KyDHnaNJnBfQIPi+60fNiR9OTRnIaMqkYzAQX0vObIw4Pn0vuKEOettg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@6.0.3(postcss@8.4.35): + /postcss-minify-gradients@6.0.3(postcss@8.4.36): resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.4.35) - postcss: 8.4.35 + cssnano-utils: 4.0.2(postcss@8.4.36) + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@6.1.0(postcss@8.4.35): + /postcss-minify-params@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - cssnano-utils: 4.0.2(postcss@8.4.35) - postcss: 8.4.35 + cssnano-utils: 4.0.2(postcss@8.4.36) + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@6.0.3(postcss@8.4.35): + /postcss-minify-selectors@6.0.3(postcss@8.4.36): resolution: {integrity: sha512-IcV7ZQJcaXyhx4UBpWZMsinGs2NmiUC60rJSkyvjPCPqhNjVGsrJUM+QhAtCaikZ0w0/AbZuH4wVvF/YMuMhvA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-selector-parser: 6.0.15 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.36): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false - /postcss-modules-local-by-default@4.0.4(postcss@8.4.35): + /postcss-modules-local-by-default@4.0.4(postcss@8.4.36): resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.36) + postcss: 8.4.36 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.1.1(postcss@8.4.35): + /postcss-modules-scope@3.1.1(postcss@8.4.36): resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-selector-parser: 6.0.15 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.35): + /postcss-modules-values@4.0.0(postcss@8.4.36): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.36) + postcss: 8.4.36 dev: false - /postcss-normalize-charset@6.0.2(postcss@8.4.35): + /postcss-normalize-charset@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: false - /postcss-normalize-display-values@6.0.2(postcss@8.4.35): + /postcss-normalize-display-values@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@6.0.2(postcss@8.4.35): + /postcss-normalize-positions@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@6.0.2(postcss@8.4.35): + /postcss-normalize-repeat-style@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@6.0.2(postcss@8.4.35): + /postcss-normalize-string@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@6.0.2(postcss@8.4.35): + /postcss-normalize-timing-functions@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@6.1.0(postcss@8.4.35): + /postcss-normalize-unicode@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@6.0.2(postcss@8.4.35): + /postcss-normalize-url@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@6.0.2(postcss@8.4.35): + /postcss-normalize-whitespace@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@6.0.2(postcss@8.4.35): + /postcss-ordered-values@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-utils: 4.0.2(postcss@8.4.35) - postcss: 8.4.35 + cssnano-utils: 4.0.2(postcss@8.4.36) + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@6.1.0(postcss@8.4.35): + /postcss-reduce-initial@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -9032,16 +9032,16 @@ packages: dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - postcss: 8.4.35 + postcss: 8.4.36 dev: false - /postcss-reduce-transforms@6.0.2(postcss@8.4.35): + /postcss-reduce-transforms@6.0.2(postcss@8.4.36): resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 dev: false @@ -9052,28 +9052,28 @@ packages: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo@6.0.3(postcss@8.4.35): + /postcss-svgo@6.0.3(postcss@8.4.36): resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 svgo: 3.2.0 dev: false - /postcss-unique-selectors@6.0.3(postcss@8.4.35): + /postcss-unique-selectors@6.0.3(postcss@8.4.36): resolution: {integrity: sha512-NFXbYr8qdmCr/AFceaEfdcsKGCvWTeGO6QVC9h2GvtWgj0/0dklKQcaMMVzs6tr8bY+ase8hOtHW8OBTTRvS8A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-selector-parser: 6.0.15 dev: false - /postcss-url@10.1.3(postcss@8.4.35): + /postcss-url@10.1.3(postcss@8.4.36): resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} engines: {node: '>=10'} peerDependencies: @@ -9082,7 +9082,7 @@ packages: make-dir: 3.1.0 mime: 2.5.2 minimatch: 3.0.8 - postcss: 8.4.35 + postcss: 8.4.36 xxhashjs: 0.2.2 dev: false @@ -9098,6 +9098,14 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.36: + resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.1.0 + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -9985,6 +9993,10 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-js@1.1.0: + resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} + engines: {node: '>=0.10.0'} + /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -10170,14 +10182,14 @@ packages: dependencies: js-tokens: 8.0.2 - /stylehacks@6.1.0(postcss@8.4.35): + /stylehacks@6.1.0(postcss@8.4.36): resolution: {integrity: sha512-ETErsPFgwlfYZ/CSjMO2Ddf+TsnkCVPBPaoB99Ro8WMAxf7cglzmFsRBhRmKObFjibtcvlNxFFPHuyr3sNlNUQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.35 + postcss: 8.4.36 postcss-selector-parser: 6.0.15 dev: false @@ -11083,10 +11095,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.2)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' From 9b9558bcf94e337198310c578e124379e0fcd239 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:58:17 +0000 Subject: [PATCH 321/470] chore(deps): update dependency ufo to v1.5.2 (main) (#26339) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 50 +++++++++++++++++++---------------- 7 files changed, 33 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 13166a1f29..f6bd60a299 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "semver": "7.6.0", "std-env": "3.7.0", "typescript": "5.4.2", - "ufo": "1.5.1", + "ufo": "1.5.2", "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", diff --git a/packages/kit/package.json b/packages/kit/package.json index 0b2b2d3bd2..dea0af5f46 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -40,7 +40,7 @@ "pkg-types": "^1.0.3", "scule": "^1.3.0", "semver": "^7.6.0", - "ufo": "^1.5.1", + "ufo": "^1.5.2", "unctx": "^2.3.1", "unimport": "^3.7.1", "untyped": "^1.4.2" diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index daa6bd5e5c..6380b4a3d7 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -101,7 +101,7 @@ "scule": "^1.3.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", - "ufo": "^1.5.1", + "ufo": "^1.5.2", "ultrahtml": "^1.5.3", "uncrypto": "^0.1.3", "unctx": "^2.3.1", diff --git a/packages/schema/package.json b/packages/schema/package.json index 2d5f9cf238..e190e1c12d 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -69,7 +69,7 @@ "pkg-types": "^1.0.3", "scule": "^1.3.0", "std-env": "^3.7.0", - "ufo": "^1.5.1", + "ufo": "^1.5.2", "unimport": "^3.7.1", "untyped": "^1.4.2" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index 4e573439d8..92fced1b0a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -59,7 +59,7 @@ "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", - "ufo": "^1.5.1", + "ufo": "^1.5.2", "unenv": "^1.9.0", "unplugin": "^1.10.0", "vite": "^5.1.6", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index cbf16c2169..131e37ac79 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -56,7 +56,7 @@ "pug-plain-loader": "^1.1.0", "std-env": "^3.7.0", "time-fix-plugin": "^2.0.7", - "ufo": "^1.5.1", + "ufo": "^1.5.2", "unenv": "^1.9.0", "unplugin": "^1.10.0", "url-loader": "^4.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ffb5edbd82..fc0b85da42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -134,8 +134,8 @@ importers: specifier: 5.4.2 version: 5.4.2 ufo: - specifier: 1.5.1 - version: 1.5.1 + specifier: 1.5.2 + version: 1.5.2 vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) @@ -197,8 +197,8 @@ importers: specifier: ^7.6.0 version: 7.6.0 ufo: - specifier: ^1.5.1 - version: 1.5.1 + specifier: ^1.5.2 + version: 1.5.2 unctx: specifier: ^2.3.1 version: 2.3.1 @@ -369,8 +369,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ufo: - specifier: ^1.5.1 - version: 1.5.1 + specifier: ^1.5.2 + version: 1.5.2 ultrahtml: specifier: ^1.5.3 version: 1.5.3 @@ -460,8 +460,8 @@ importers: specifier: ^3.7.0 version: 3.7.0 ufo: - specifier: ^1.5.1 - version: 1.5.1 + specifier: ^1.5.2 + version: 1.5.2 unimport: specifier: ^3.7.1 version: 3.7.1(rollup@4.13.0) @@ -629,8 +629,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ufo: - specifier: ^1.5.1 - version: 1.5.1 + specifier: ^1.5.2 + version: 1.5.2 unenv: specifier: ^1.9.0 version: 1.9.0 @@ -765,8 +765,8 @@ importers: specifier: ^2.0.7 version: 2.0.7(webpack@5.90.3) ufo: - specifier: ^1.5.1 - version: 1.5.1 + specifier: ^1.5.2 + version: 1.5.2 unenv: specifier: ^1.9.0 version: 1.9.0 @@ -2300,7 +2300,7 @@ packages: radix3: 1.1.1 scule: 1.3.0 std-env: 3.7.0 - ufo: 1.5.1 + ufo: 1.5.2 unenv: 1.9.0 unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.28) @@ -2347,7 +2347,7 @@ packages: remark-rehype: 11.1.0 scule: 1.3.0 shiki: 1.1.6 - ufo: 1.5.1 + ufo: 1.5.2 unified: 11.0.4 unist-builder: 4.0.0 unist-util-visit: 5.0.0 @@ -5742,7 +5742,7 @@ packages: enhanced-resolve: 5.15.0 mlly: 1.6.1 pathe: 1.1.2 - ufo: 1.5.1 + ufo: 1.5.2 dev: false /fake-indexeddb@5.0.2: @@ -6215,7 +6215,7 @@ packages: iron-webcrypto: 1.0.0 ohash: 1.1.3 radix3: 1.1.1 - ufo: 1.5.1 + ufo: 1.5.2 uncrypto: 0.1.3 unenv: 1.9.0 transitivePeerDependencies: @@ -7113,7 +7113,7 @@ packages: node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 - ufo: 1.5.1 + ufo: 1.5.2 untun: 0.1.3 uqr: 0.1.2 transitivePeerDependencies: @@ -7970,7 +7970,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.5.1 + ufo: 1.5.2 /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -8088,7 +8088,7 @@ packages: serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 - ufo: 1.5.1 + ufo: 1.5.2 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 @@ -8356,7 +8356,7 @@ packages: consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 - ufo: 1.5.1 + ufo: 1.5.2 /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -8421,7 +8421,7 @@ packages: dependencies: destr: 2.0.3 node-fetch-native: 1.6.2 - ufo: 1.5.1 + ufo: 1.5.2 /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} @@ -10520,6 +10520,10 @@ packages: /ufo@1.5.1: resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==} + dev: true + + /ufo@1.5.2: + resolution: {integrity: sha512-eiutMaL0J2MKdhcOM1tUy13pIrYnyR87fEd8STJQFrrAwImwvlXkxlZEjaKah8r2viPohld08lt73QfLG1NxMg==} /ultrahtml@1.5.3: resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} @@ -10798,7 +10802,7 @@ packages: mri: 1.2.0 node-fetch-native: 1.6.2 ofetch: 1.3.3 - ufo: 1.5.1 + ufo: 1.5.2 transitivePeerDependencies: - uWebSockets.js @@ -11279,7 +11283,7 @@ packages: /vue-bundle-renderer@2.0.0: resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} dependencies: - ufo: 1.5.1 + ufo: 1.5.2 /vue-component-type-helpers@2.0.6: resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} From 2c0fc3a15e241fc53b97632b96f5466e87092345 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 18 Mar 2024 14:15:10 +0000 Subject: [PATCH 322/470] fix(nuxt): handle failure creating BroadcastChannel (#26340) --- packages/nuxt/src/app/composables/cookie.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/cookie.ts b/packages/nuxt/src/app/composables/cookie.ts index 9293e217e8..37156c81dd 100644 --- a/packages/nuxt/src/app/composables/cookie.ts +++ b/packages/nuxt/src/app/composables/cookie.ts @@ -63,7 +63,15 @@ export function useCookie<T = string | null | undefined> (name: string, _opts?: } if (import.meta.client) { - const channel = store || typeof BroadcastChannel === 'undefined' ? null : new BroadcastChannel(`nuxt:cookies:${name}`) + let channel: null | BroadcastChannel = null + try { + if (!store && typeof BroadcastChannel !== 'undefined') { + channel = new BroadcastChannel(`nuxt:cookies:${name}`) + } + } catch { + // BroadcastChannel will fail in certain situations when cookies are disabled + // or running in an iframe: see https://github.com/nuxt/nuxt/issues/26338 + } const callback = () => { if (opts.readonly || isEqual(cookie.value, cookies[name])) { return } writeClientCookie(name, cookie.value, opts as CookieSerializeOptions) From 90591e3a3c928cfb95e7e9a78bf51031874ef3c1 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 18 Mar 2024 14:41:01 +0000 Subject: [PATCH 323/470] fix(nuxt): don't warn when injecting client-only components (#26341) --- packages/nuxt/src/components/module.ts | 6 ++++-- packages/nuxt/src/core/templates.ts | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index 214746a982..0394c5fb1b 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -165,6 +165,8 @@ export default defineNuxtModule<ComponentsOptions>({ } }) + const serverPlaceholderPath = resolve(distDir, 'app/components/server-placeholder') + // Scan components and add to plugin nuxt.hook('app:templates', async (app) => { const newComponents = await scanComponents(componentDirs, nuxt.options.srcDir!) @@ -176,11 +178,11 @@ export default defineNuxtModule<ComponentsOptions>({ ...component, _raw: true, mode: 'server', - filePath: resolve(distDir, 'app/components/server-placeholder'), + filePath: serverPlaceholderPath, chunkName: 'components/' + component.kebabName }) } - if (component.mode === 'server' && !nuxt.options.ssr) { + if (component.mode === 'server' && !nuxt.options.ssr && !newComponents.some(other => other.pascalName === component.pascalName && other.mode === 'client')) { logger.warn(`Using server components with \`ssr: false\` is not supported with auto-detected component islands. If you need to use server component \`${component.pascalName}\`, set \`experimental.componentIslands\` to \`true\`.`) } } diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index fc33188e2e..4264c7751f 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -378,7 +378,7 @@ export const nuxtConfigTemplate: NuxtTemplate = { headers: undefined } const shouldEnableComponentIslands = ctx.nuxt.options.experimental.componentIslands && ( - ctx.nuxt.options.dev || ctx.nuxt.options.experimental.componentIslands !== 'auto' || ctx.app.pages?.some(p => p.mode === 'server') || ctx.app.components?.some(c => c.mode === 'server') + ctx.nuxt.options.dev || ctx.nuxt.options.experimental.componentIslands !== 'auto' || ctx.app.pages?.some(p => p.mode === 'server') || ctx.app.components?.some(c => c.mode === 'server' && !ctx.app.components.some(other => other.pascalName === c.pascalName && other.mode === 'client')) ) return [ ...Object.entries(ctx.nuxt.options.app).map(([k, v]) => `export const ${camelCase('app-' + k)} = ${JSON.stringify(v)}`), From 70b2986c78f97bc46a59d75984b0fbb80ee1d9e5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 14:41:13 +0000 Subject: [PATCH 324/470] chore(deps): update github/codeql-action action to v3.24.8 (main) (#26342) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 4 ++-- .github/workflows/scorecards.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 794399403c..d3004c427f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 + uses: github/codeql-action/init@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 + uses: github/codeql-action/analyze@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 91734e2214..6247c398e7 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 + uses: github/codeql-action/upload-sarif@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 with: sarif_file: results.sarif From ac540315114fa5a33783844eb394272f22eb21a5 Mon Sep 17 00:00:00 2001 From: Turdalin Nurassyl <78026760+trdln@users.noreply.github.com> Date: Mon, 18 Mar 2024 21:17:20 +0600 Subject: [PATCH 325/470] docs: mention `<DevOnly>` component in api section (#26029) --- .../2.directory-structure/1.components.md | 87 ++----------------- docs/3.api/1.components/1.client-only.md | 17 ++-- docs/3.api/1.components/1.dev-only.md | 51 +++++++++++ .../1.components/1.nuxt-client-fallback.md | 17 +++- 4 files changed, 86 insertions(+), 86 deletions(-) create mode 100644 docs/3.api/1.components/1.dev-only.md diff --git a/docs/2.guide/2.directory-structure/1.components.md b/docs/2.guide/2.directory-structure/1.components.md index 1addc266c2..a33a0cbff8 100644 --- a/docs/2.guide/2.directory-structure/1.components.md +++ b/docs/2.guide/2.directory-structure/1.components.md @@ -244,6 +244,10 @@ This feature only works with Nuxt auto-imports and `#components` imports. Explic `.client` components are rendered only after being mounted. To access the rendered template using `onMounted()`, add `await nextTick()` in the callback of the `onMounted()` hook. :: +::read-more{to="/docs/api/components/client-only"} +You can also achieve a similar result with the `<ClientOnly>` component. +:: + ## Server Components Server components allow server-rendering individual components within your client-side apps. It's possible to use server components within Nuxt, even if you are generating a static site. That makes it possible to build complex sites that mix dynamic components, server-rendered HTML and even static chunks of markup. @@ -357,89 +361,12 @@ In this case, the `.server` + `.client` components are two 'halves' of a compone </template> ``` -## `<ClientOnly>` Component +## Built-In Nuxt Components -Nuxt provides the [`<ClientOnly>`](/docs/api/components/client-only) component for purposely rendering a component only on client side. +There are a number of components that Nuxt provides, including `<ClientOnly>` and `<DevOnly>`. You can read more about them in the API documentation. -```vue [pages/example.vue] -<template> - <div> - <Sidebar /> - <ClientOnly> - <!-- this component will only be rendered on client-side --> - <Comments /> - </ClientOnly> - </div> -</template> -``` - -Use a slot as fallback until `<ClientOnly>` is mounted on client side. - -```vue [pages/example.vue] -<template> - <div> - <Sidebar /> - <!-- This renders the "span" element on the server side --> - <ClientOnly fallbackTag="span"> - <!-- this component will only be rendered on client side --> - <Comments /> - <template #fallback> - <!-- this will be rendered on server side --> - <p>Loading comments...</p> - </template> - </ClientOnly> - </div> -</template> -``` - -<!-- TODO: Add back after passing treeshakeClientOnly experiment --> -<!-- -::note -Make sure not to _nest_ `<ClientOnly>` components or other client-only components. Nuxt performs an optimization to remove the contents of these components from the server-side render, which can break in this case. +::read-more{to="/docs/api"} :: ---> - -## `<DevOnly>` Component - -Nuxt provides the `<DevOnly>` component to render a component only during development. - -The content will not be included in production builds and tree-shaken. - -```vue [pages/example.vue] -<template> - <div> - <Sidebar /> - <DevOnly> - <!-- this component will only be rendered during development --> - <LazyDebugBar /> - - <!-- if you ever require to have a replacement during production --> - <!-- be sure to test these using `nuxt preview` --> - <template #fallback> - <div><!-- empty div for flex.justify-between --></div> - </template> - </DevOnly> - </div> -</template> -``` - -## `<NuxtClientFallback>` Component - -Nuxt provides the `<NuxtClientFallback>` component to render its content on the client if any of its children trigger an error in SSR. -You can specify a `fallbackTag` to make it render a specific tag if it fails to render on the server. - -```vue [pages/example.vue] -<template> - <div> - <Sidebar /> - <!-- this component will be rendered on client-side --> - <NuxtClientFallback fallback-tag="span"> - <Comments /> - <BrokeInSSR /> - </NuxtClientFallback> - </div> -</template> -``` ## Library Authors diff --git a/docs/3.api/1.components/1.client-only.md b/docs/3.api/1.components/1.client-only.md index 481ab8ab9c..86e56d2547 100644 --- a/docs/3.api/1.components/1.client-only.md +++ b/docs/3.api/1.components/1.client-only.md @@ -8,7 +8,11 @@ links: size: xs --- -The `<ClientOnly>` component renders its slot only in client-side. To import a component only on the client, register the component in a client-side only plugin. +The `<ClientOnly>` component is used for purposely rendering a component only on client side. + +::note +The content of the default slot will be tree-shaken out of the server build. (This does mean that any CSS used by components within it may not be inlined when rendering the initial HTML.) +:: ## Props @@ -19,6 +23,7 @@ The `<ClientOnly>` component renders its slot only in client-side. To import a c <template> <div> <Sidebar /> + <!-- The <Comment> component will only be rendered on client-side --> <ClientOnly fallback-tag="span" fallback="Loading comments..."> <Comment /> </ClientOnly> @@ -28,14 +33,16 @@ The `<ClientOnly>` component renders its slot only in client-side. To import a c ## Slots -- `#fallback`: specify a content to be displayed server-side. +- `#fallback`: specify a content to be rendered on the server and displayed until `<ClientOnly>` is mounted in the browser. -```vue +```vue [pages/example.vue] <template> <div> <Sidebar /> - <ClientOnly> - <!-- ... --> + <!-- This renders the "span" element on the server side --> + <ClientOnly fallbackTag="span"> + <!-- this component will only be rendered on client side --> + <Comments /> <template #fallback> <!-- this will be rendered on server side --> <p>Loading comments...</p> diff --git a/docs/3.api/1.components/1.dev-only.md b/docs/3.api/1.components/1.dev-only.md new file mode 100644 index 0000000000..a65b5cbc56 --- /dev/null +++ b/docs/3.api/1.components/1.dev-only.md @@ -0,0 +1,51 @@ +--- +title: '<DevOnly>' +description: Render components only during development with the <DevOnly> component. +links: + - label: Source + icon: i-simple-icons-github + to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/dev-only.ts + size: xs +--- + +Nuxt provides the `<DevOnly>` component to render a component only during development. + +The content will not be included in production builds. + +```vue [pages/example.vue] +<template> + <div> + <Sidebar /> + <DevOnly> + <!-- this component will only be rendered during development --> + <LazyDebugBar /> + + <!-- if you ever require to have a replacement during production --> + <!-- be sure to test these using `nuxt preview` --> + <template #fallback> + <div><!-- empty div for flex.justify-between --></div> + </template> + </DevOnly> + </div> +</template> +``` + +## Slots + +- `#fallback`: if you ever require to have a replacement during production. + +```vue +<template> + <div> + <Sidebar /> + <DevOnly> + <!-- this component will only be rendered during development --> + <LazyDebugBar /> + <!-- be sure to test these using `nuxt preview` --> + <template #fallback> + <div><!-- empty div for flex.justify-between --></div> + </template> + </DevOnly> + </div> +</template> +``` diff --git a/docs/3.api/1.components/1.nuxt-client-fallback.md b/docs/3.api/1.components/1.nuxt-client-fallback.md index 1f07dd09fa..22d9d6b6f0 100644 --- a/docs/3.api/1.components/1.nuxt-client-fallback.md +++ b/docs/3.api/1.components/1.nuxt-client-fallback.md @@ -12,10 +12,25 @@ links: size: xs --- +Nuxt provides the `<NuxtClientFallback>` component to render its content on the client if any of its children trigger an error in SSR. + ::note{to="/docs/guide/going-further/experimental-features#clientfallback"} This component is experimental and in order to use it you must enable the `experimental.clientFallback` option in your `nuxt.config`. :: +```vue [pages/example.vue] +<template> + <div> + <Sidebar /> + <!-- this component will be rendered on client-side --> + <NuxtClientFallback fallback-tag="span"> + <Comments /> + <BrokeInSSR /> + </NuxtClientFallback> + </div> +</template> +``` + ## Events - `@ssr-error`: Event emitted when a child triggers an error in SSR. Note that this will only be triggered on the server. @@ -30,7 +45,7 @@ This component is experimental and in order to use it you must enable the `exper ## Props -- `placeholderTag` | `fallbackTag`: Specify a fallback tag to be rendered if the slot fails to render. +- `placeholderTag` | `fallbackTag`: Specify a fallback tag to be rendered if the slot fails to render on the server. - **type**: `string` - **default**: `div` - `placeholder` | `fallback`: Specify fallback content to be rendered if the slot fails to render. From 41f6a0a3a00ba69a1bad0b243b9c198ecc5fab63 Mon Sep 17 00:00:00 2001 From: Volker Rose <volker.rose@gmail.com> Date: Mon, 18 Mar 2024 16:17:30 +0100 Subject: [PATCH 326/470] docs: note that `@nuxt/schema` should be used by module authors (#26190) --- docs/2.guide/3.going-further/10.runtime-config.md | 4 ++++ 1 file changed, 4 insertions(+) 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 f4ca19cd94..192f73df94 100644 --- a/docs/2.guide/3.going-further/10.runtime-config.md +++ b/docs/2.guide/3.going-further/10.runtime-config.md @@ -164,3 +164,7 @@ declare module 'nuxt/schema' { // It is always important to ensure you import/export something when augmenting a type export {} ``` + +::note +`nuxt/schema` is provided as a convenience for end-users to access the version of the schema used by Nuxt in their project. Module authors should instead augment `@nuxt/schema`. +:: From f4173b362b65bbbf41a7f20df50a60dc263649b3 Mon Sep 17 00:00:00 2001 From: Serge Doda <33413869+bargel@users.noreply.github.com> Date: Mon, 18 Mar 2024 08:18:41 -0700 Subject: [PATCH 327/470] docs: add `routeNameSplitter` example in migration docs (#25838) --- docs/7.migration/2.configuration.md | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/7.migration/2.configuration.md b/docs/7.migration/2.configuration.md index 1ee7a3d042..5a1697b647 100644 --- a/docs/7.migration/2.configuration.md +++ b/docs/7.migration/2.configuration.md @@ -57,6 +57,44 @@ Nuxt configuration will be loaded using [`unjs/jiti`](https://github.com/unjs/ji :: +1. If you were using `router.routeNameSplitter` you can achieve same result by updating route name generation logic in the new `pages:extend` hook: + + ::code-group + + ```ts [Nuxt 2] + export default { + router: { + routeNameSplitter: '/' + } + } + + ```ts [Nuxt 3] + import { createResolver } from '@nuxt/kit' + + export default defineNuxtConfig({ + hooks: { + 'pages:extend' (routes) { + const routeNameSplitter = '/' + const root = createResolver(import.meta.url).resolve('./pages') + + function updateName(routes) { + if (!routes) return + + for (const route of routes) { + const relativePath = route.file.substring(root.length + 1) + route.name = relativePath.replace(/\//g, routeNameSplitter).slice(0, -4) + + updateName(route.children) + } + } + updateName(routes) + }, + }, + }) + ``` + + :: + #### ESM Syntax Nuxt 3 is an [ESM native framework](/docs/guide/concepts/esm). Although [`unjs/jiti`](https://github.com/unjs/jiti) provides semi compatibility when loading `nuxt.config` file, avoid any usage of `require` and `module.exports` in this file. From c72951b0688200aa722eddc226ebf3fed9fba26b Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 18 Mar 2024 16:08:24 +0000 Subject: [PATCH 328/470] chore: revert update github/codeql-action action This reverts commit 70b2986c78f97bc46a59d75984b0fbb80ee1d9e5. --- .github/workflows/ci.yml | 4 ++-- .github/workflows/scorecards.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d3004c427f..794399403c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 + uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 + uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 6247c398e7..91734e2214 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 + uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 with: sarif_file: results.sarif From 0bc49eb0ca573c8ed53211a5150a246eccfdb910 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 20:14:51 +0000 Subject: [PATCH 329/470] chore(deps): update dependency nuxi to v3.11.0 (main) (#26353) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index f6bd60a299..f43f21068e 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", - "nuxi": "3.10.1", + "nuxi": "3.11.0", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", "ofetch": "1.3.3", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 6380b4a3d7..2fa037a588 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -90,7 +90,7 @@ "magic-string": "^0.30.8", "mlly": "^1.6.1", "nitropack": "^2.9.4", - "nuxi": "^3.10.1", + "nuxi": "^3.11.0", "nypm": "^0.3.8", "ofetch": "^1.3.3", "ohash": "^1.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fc0b85da42..8e920ea2cb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,8 +104,8 @@ importers: specifier: 2.9.4 version: 2.9.4 nuxi: - specifier: 3.10.1 - version: 3.10.1 + specifier: 3.11.0 + version: 3.11.0 nuxt: specifier: workspace:* version: link:packages/nuxt @@ -336,8 +336,8 @@ importers: specifier: ^2.9.4 version: 2.9.4 nuxi: - specifier: ^3.10.1 - version: 3.10.1 + specifier: ^3.11.0 + version: 3.11.0 nypm: specifier: ^0.3.8 version: 0.3.8 @@ -8315,9 +8315,9 @@ packages: dependencies: boolbase: 1.0.0 - /nuxi@3.10.1: - resolution: {integrity: sha512-ZNt858+FOZDIiKKFJkXO7uJAnALytDdn1XbLgtZAqbtWNMayHbOnWcnxh+WSOE4H9uOi2+loWXEqKElmNWLgcQ==} - engines: {node: ^14.18.0 || >=16.10.0} + /nuxi@3.11.0: + resolution: {integrity: sha512-0LHrUNvQ2E+izHllvoGPPfgWkKkD7bxVjUekWeO7FjKLo83N4oumZdK78Qiau/HOh6CW3Y9mcc7kkJd4IPh5uw==} + engines: {node: ^16.10.0 || >=18.0.0} hasBin: true optionalDependencies: fsevents: 2.3.3 From 7284e70de9d92b1cd320b6e922504d2db47302c6 Mon Sep 17 00:00:00 2001 From: zunderbolt <zunderbolt@gmail.com> Date: Mon, 18 Mar 2024 20:27:18 +0000 Subject: [PATCH 330/470] fix(nuxt): prevent losing pages routes on prerender (#26354) --- packages/nuxt/src/pages/module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index e8b76fe278..63859a7b30 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -293,8 +293,8 @@ export default defineNuxtModule({ if (route === '/') { continue } prerenderRoutes.add(route) } - nitro.options.prerender.routes = Array.from(prerenderRoutes) } + nitro.options.prerender.routes = Array.from(prerenderRoutes) }) }) From 8d6eab4822f97fe65cf9d4d95e373e4ea4e4b613 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 20:52:21 +0000 Subject: [PATCH 331/470] chore(deps): update all non-major dependencies (main) (#26344) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- package.json | 4 +- pnpm-lock.yaml | 208 ++++++++++++++++++++++++------- 4 files changed, 168 insertions(+), 50 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 794399403c..d3004c427f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 + uses: github/codeql-action/init@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 + uses: github/codeql-action/analyze@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 91734e2214..6247c398e7 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 + uses: github/codeql-action/upload-sarif@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 with: sarif_file: results.sarif diff --git a/package.json b/package.json index f43f21068e..b705bef928 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.11.28", + "@types/node": "20.11.29", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.9.0", + "happy-dom": "13.10.1", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e920ea2cb..2e2b5a2331 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -38,8 +38,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.28 - version: 20.11.28 + specifier: 20.11.29 + version: 20.11.29 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.9.0 - version: 13.9.0 + specifier: 13.10.1 + version: 13.10.1 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.2 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) + version: 1.4.0(@types/node@20.11.29)(happy-dom@13.10.1) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -229,10 +229,10 @@ importers: version: 2.0.0(typescript@5.4.2) vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.28) + version: 5.1.6(@types/node@20.11.29) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) + version: 1.4.0(@types/node@20.11.29)(happy-dom@13.10.1) webpack: specifier: 5.90.3 version: 5.90.3 @@ -431,7 +431,7 @@ importers: version: 5.1.6(@types/node@20.11.28) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) + version: 1.4.0(@types/node@20.11.28)(happy-dom@13.10.1) packages/schema: dependencies: @@ -525,7 +525,7 @@ importers: version: 1.9.0 vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.28) + version: 5.1.6(@types/node@20.11.29) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -639,10 +639,10 @@ importers: version: 1.10.0 vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.28) + version: 5.1.6(@types/node@20.11.29) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.11.28) + version: 1.4.0(@types/node@20.11.29) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6) @@ -868,7 +868,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.28)(happy-dom@13.9.0) + version: 1.0.2(@types/node@20.11.29)(happy-dom@13.10.1) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -1932,7 +1932,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.11.28 + '@types/node': 20.11.29 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2236,7 +2236,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2289,7 +2289,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.9.0 + happy-dom: 13.10.1 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2303,9 +2303,9 @@ packages: ufo: 1.5.2 unenv: 1.9.0 unplugin: 1.10.0 - vite: 5.1.6(@types/node@20.11.28) - vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vite: 5.1.6(@types/node@20.11.29) + vitest: 1.4.0(@types/node@20.11.29)(happy-dom@13.10.1) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2863,7 +2863,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 dev: true /@types/debug@4.1.12: @@ -2913,7 +2913,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -2940,7 +2940,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 dev: true /@types/lodash-es@4.17.12: @@ -2966,7 +2966,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 dev: true /@types/node@20.11.28: @@ -2974,6 +2974,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.11.29: + resolution: {integrity: sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -3053,7 +3058,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3067,7 +3072,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3296,7 +3301,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.6(@types/node@20.11.28) + vite: 5.1.6(@types/node@20.11.29) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - supports-color @@ -3330,7 +3335,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.28)(happy-dom@13.9.0) + vitest: 1.4.0(@types/node@20.11.29)(happy-dom@13.10.1) transitivePeerDependencies: - supports-color dev: true @@ -6221,8 +6226,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.9.0: - resolution: {integrity: sha512-hMzsFn2x+B61TF7wsJ3La/exaxW9AWZePlNGzAkMvoVYXI3pMqPSGTT1qXTwcsVLB+44TM8KjHuoQLLx4EX9Vg==} + /happy-dom@13.10.1: + resolution: {integrity: sha512-9GZLEFvQL5EgfJX2zcBgu1nsPUn98JF/EiJnSfQbdxI6YEQGqpd09lXXxOmYonRBIEFz9JlGCOiPflDzgS1p8w==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -6908,7 +6913,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.28 + '@types/node': 20.11.29 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6919,7 +6924,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6927,7 +6932,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10927,7 +10932,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.0.2(@types/node@20.11.28): + /vite-node@1.0.2(@types/node@20.11.29): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10936,7 +10941,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.28) + vite: 5.1.6(@types/node@20.11.29) transitivePeerDependencies: - '@types/node' - less @@ -10967,6 +10972,27 @@ packages: - sugarss - supports-color - terser + dev: true + + /vite-node@1.4.0(@types/node@20.11.29): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.6(@types/node@20.11.29) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} @@ -11012,7 +11038,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.2 - vite: 5.1.6(@types/node@20.11.28) + vite: 5.1.6(@types/node@20.11.29) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11099,10 +11125,45 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vite@5.1.6(@types/node@20.11.29): + resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.29 + esbuild: 0.19.11 + postcss: 8.4.35 + rollup: 4.13.0 + optionalDependencies: + fsevents: 2.3.3 + + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.9.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11120,7 +11181,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.28)(happy-dom@13.9.0): + /vitest@1.0.2(@types/node@20.11.29)(happy-dom@13.10.1): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11145,7 +11206,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11156,7 +11217,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.9.0 + happy-dom: 13.10.1 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11165,8 +11226,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.28) - vite-node: 1.0.2(@types/node@20.11.28) + vite: 5.1.6(@types/node@20.11.29) + vite-node: 1.0.2(@types/node@20.11.29) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11178,7 +11239,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.28)(happy-dom@13.9.0): + /vitest@1.4.0(@types/node@20.11.28)(happy-dom@13.10.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11213,7 +11274,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.9.0 + happy-dom: 13.10.1 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11235,6 +11296,63 @@ packages: - terser dev: true + /vitest@1.4.0(@types/node@20.11.29)(happy-dom@13.10.1): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.11.29 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + happy-dom: 13.10.1 + local-pkg: 0.5.0 + magic-string: 0.30.8 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.5.1 + tinypool: 0.8.2 + vite: 5.1.6(@types/node@20.11.29) + vite-node: 1.4.0(@types/node@20.11.29) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} From c49d2066473c1b5fbd6efaa7bdbc104ae56e9657 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 18 Mar 2024 21:12:17 +0000 Subject: [PATCH 332/470] fix(nuxt): pass `undefined` name when resolving trailing slash (#26358) --- packages/nuxt/src/app/components/nuxt-link.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index 13c9141b10..659001884b 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -113,14 +113,10 @@ export function defineNuxtLink (options: NuxtLinkOptions) { const resolvedPath = { ...to, + name: undefined, // named routes would otherwise always override trailing slash behavior path: applyTrailingSlashBehavior(path, options.trailingSlash) } - // named routes would otherwise always override trailing slash behavior - if ('name' in resolvedPath) { - delete resolvedPath.name - } - return resolvedPath } From dfe31aa1437033bf96d2ad4509e135c23887ebfc Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 18 Mar 2024 21:17:08 +0000 Subject: [PATCH 333/470] fix(vite): use ssr result if it exists (#26356) --- packages/vite/src/utils/warmup.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/utils/warmup.ts b/packages/vite/src/utils/warmup.ts index 38f0ef705e..85ff884bad 100644 --- a/packages/vite/src/utils/warmup.ts +++ b/packages/vite/src/utils/warmup.ts @@ -63,7 +63,7 @@ export async function warmupViteServer ( try { const mod = await server.moduleGraph.getModuleByUrl(url, isServer) - const deps = mod?.ssrTransformResult?.deps /* server */ || mod?.importedModules.size ? Array.from(mod?.importedModules /* client */).map(m => m.url) : [] + const deps = mod?.ssrTransformResult?.deps /* server */ || (mod?.importedModules.size ? Array.from(mod?.importedModules /* client */).map(m => m.url) : []) await Promise.all(deps.map(m => warmup(m))) } catch (e) { logger.debug('[warmup] tracking dependencies for %s failed with: %s', url, e) From a80d1a0d6349bf1003666fc79a513c0d7370c931 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 21:33:40 +0000 Subject: [PATCH 334/470] v3.11.1 --- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index dea0af5f46..5876934e09 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/kit", - "version": "3.11.0", + "version": "3.11.1", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 2fa037a588..2e7a6ba8c5 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "3.11.0", + "version": "3.11.1", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/schema/package.json b/packages/schema/package.json index e190e1c12d..42cdd784fc 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/schema", - "version": "3.11.0", + "version": "3.11.1", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/vite/package.json b/packages/vite/package.json index 92fced1b0a..2a5f06967d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vite-builder", - "version": "3.11.0", + "version": "3.11.1", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 131e37ac79..78c08c37b1 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/webpack-builder", - "version": "3.11.0", + "version": "3.11.1", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", From c073548b5b0f8e9d65819dd223af8affa11c9c6d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Mar 2024 03:13:58 +0000 Subject: [PATCH 335/470] chore(deps): update devdependency happy-dom to v14 (main) (#26359) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 46 +++++++++++++++++++++++----------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index b705bef928..c3ae17188c 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "13.10.1", + "happy-dom": "14.0.0", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e2b5a2331..0173bdc29a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 13.10.1 - version: 13.10.1 + specifier: 14.0.0 + version: 14.0.0 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.2 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.29)(happy-dom@13.10.1) + version: 1.4.0(@types/node@20.11.29)(happy-dom@14.0.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -232,7 +232,7 @@ importers: version: 5.1.6(@types/node@20.11.29) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.29)(happy-dom@13.10.1) + version: 1.4.0(@types/node@20.11.29)(happy-dom@14.0.0) webpack: specifier: 5.90.3 version: 5.90.3 @@ -431,7 +431,7 @@ importers: version: 5.1.6(@types/node@20.11.28) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@13.10.1) + version: 1.4.0(@types/node@20.11.28)(happy-dom@14.0.0) packages/schema: dependencies: @@ -868,7 +868,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.29)(happy-dom@13.10.1) + version: 1.0.2(@types/node@20.11.29)(happy-dom@14.0.0) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -2236,7 +2236,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2289,7 +2289,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 13.10.1 + happy-dom: 14.0.0 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2304,8 +2304,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.1.6(@types/node@20.11.29) - vitest: 1.4.0(@types/node@20.11.29)(happy-dom@13.10.1) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.4.0(@types/node@20.11.29)(happy-dom@14.0.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3335,7 +3335,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.29)(happy-dom@13.10.1) + vitest: 1.4.0(@types/node@20.11.29)(happy-dom@14.0.0) transitivePeerDependencies: - supports-color dev: true @@ -6226,8 +6226,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@13.10.1: - resolution: {integrity: sha512-9GZLEFvQL5EgfJX2zcBgu1nsPUn98JF/EiJnSfQbdxI6YEQGqpd09lXXxOmYonRBIEFz9JlGCOiPflDzgS1p8w==} + /happy-dom@14.0.0: + resolution: {integrity: sha512-XdxaqufN4QZs0WFuo7L4vGkKpj08gmpEpSMFxDtvYo4OipZLssz7VlavE03FuLabHBTJAWxcR6MlKyOQZM9e0w==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11160,10 +11160,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@13.10.1)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11181,7 +11181,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.29)(happy-dom@13.10.1): + /vitest@1.0.2(@types/node@20.11.29)(happy-dom@14.0.0): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11217,7 +11217,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.10.1 + happy-dom: 14.0.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11239,7 +11239,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.28)(happy-dom@13.10.1): + /vitest@1.4.0(@types/node@20.11.28)(happy-dom@14.0.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11274,7 +11274,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.10.1 + happy-dom: 14.0.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11296,7 +11296,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.29)(happy-dom@13.10.1): + /vitest@1.4.0(@types/node@20.11.29)(happy-dom@14.0.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11331,7 +11331,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 13.10.1 + happy-dom: 14.0.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 From cbf4d5436aa7892fe2816430d01e0c67a9098821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Rosato?= <rosato.francois@gmail.com> Date: Tue, 19 Mar 2024 11:07:12 +0100 Subject: [PATCH 336/470] chore: fix typo in test descriptions (#26366) --- packages/kit/test/generate-types.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kit/test/generate-types.spec.ts b/packages/kit/test/generate-types.spec.ts index 35646fb197..cc48e78489 100644 --- a/packages/kit/test/generate-types.spec.ts +++ b/packages/kit/test/generate-types.spec.ts @@ -30,7 +30,7 @@ const mockNuxt = { const mockNuxtWithOptions = (options: NuxtConfig) => defu({ options }, mockNuxt) as Nuxt describe('tsConfig generation', () => { - it('should add add correct relative paths for aliases', async () => { + it('should add correct relative paths for aliases', async () => { const { tsConfig } = await _generateTypes(mockNuxt) expect(tsConfig.compilerOptions?.paths).toMatchInlineSnapshot(` { @@ -47,7 +47,7 @@ describe('tsConfig generation', () => { `) }) - it('should add add exclude for module paths', async () => { + it('should add exclude for module paths', async () => { const { tsConfig } = await _generateTypes(mockNuxtWithOptions({ modulesDir: ['/my-app/modules/test/node_modules', '/my-app/modules/node_modules', '/my-app/node_modules/@some/module/node_modules'] })) From 8e635fd23310af09b48b2fd4542201c0c8984d11 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Tue, 19 Mar 2024 10:34:26 +0000 Subject: [PATCH 337/470] docs: update information about playwright test runner --- docs/1.getting-started/11.testing.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index 67437c1a5f..b56f67c601 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -16,7 +16,7 @@ In order to allow you to manage your other testing dependencies, `@nuxt/test-uti - you can choose between `happy-dom` and `jsdom` for a runtime Nuxt environment - you can choose between `vitest`, `cucumber`, `jest` and `playwright` for end-to-end test runners -- `playwright-core` is only required if you wish to use the built-in browser testing utilities +- `playwright-core` is only required if you wish to use the built-in browser testing utilities (and are not using `@playwright/test` as your test runner) ::code-group ```bash [yarn] @@ -388,7 +388,7 @@ await setup({ ## End-To-End Testing -For end-to-end testing, we support [Vitest](https://github.com/vitest-dev/vitest) and [Jest](https://jestjs.io) as test runners. +For end-to-end testing, we support [Vitest](https://github.com/vitest-dev/vitest), [Jest](https://jestjs.io), [Cucumber](https://cucumber.io/) and [Playwright](https://playwright.dev/) as test runners. ### Setup @@ -493,11 +493,11 @@ const pageUrl = url('/page') ### Testing in a Browser -We provide built-in support using Playwright within `@nuxt/test-utils`, but you can also use other test runners for end-to-end browser testing. +We provide built-in support using Playwright within `@nuxt/test-utils`, either programmatically or via the Playwright test runner. #### `createPage(url)` -You can create a configured Playwright browser instance, and (optionally) point it at a path from the running server. You can find out more about the API methods available from [in the Playwright documentation](https://playwright.dev/docs/api/class-page). +Within `vitest`, `jest` or `cucumber`, you can create a configured Playwright browser instance with `createPage`, and (optionally) point it at a path from the running server. You can find out more about the API methods available from [in the Playwright documentation](https://playwright.dev/docs/api/class-page). ```ts twoslash import { createPage } from '@nuxt/test-utils/e2e' @@ -508,7 +508,7 @@ const page = await createPage('/page') #### Testing with Playwright Test Runner -We provide first-class support for using `@nuxt/test-utils` within a Playwright test runner. +We also provide first-class support for using `@nuxt/test-utils` within [the Playwright test runner](https://playwright.dev/docs/intro). You can provide global Nuxt configuration, with the same configuration details as the `setup()` function mentioned earlier in this section. From a258bfc34745e5ad11932ecb7f44e1a278736630 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Tue, 19 Mar 2024 10:39:03 +0000 Subject: [PATCH 338/470] docs: add info about dependencies to install --- docs/1.getting-started/11.testing.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index b56f67c601..2b3c50619f 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -508,7 +508,22 @@ const page = await createPage('/page') #### Testing with Playwright Test Runner -We also provide first-class support for using `@nuxt/test-utils` within [the Playwright test runner](https://playwright.dev/docs/intro). +We also provide first-class support for testing Nuxt within [the Playwright test runner](https://playwright.dev/docs/intro). + +::code-group +```bash [yarn] +yarn add --dev @playwright/test @nuxt/test-utils +``` +```bash [npm] +npm i --save-dev @playwright/test @nuxt/test-utils +``` +```bash [pnpm] +pnpm add -D @playwright/test @nuxt/test-utils +``` +```bash [bun] +bun add --dev @playwright/test @nuxt/test-utils +``` +:: You can provide global Nuxt configuration, with the same configuration details as the `setup()` function mentioned earlier in this section. From f55f7479849e2ea913251c3681e1f627fb61c261 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Tue, 19 Mar 2024 10:43:38 +0000 Subject: [PATCH 339/470] docs: add missing end block --- docs/1.getting-started/11.testing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index 2b3c50619f..729b830bea 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -543,6 +543,7 @@ export default defineConfig<ConfigOptions>({ ``` ::read-more{title="See full example config" to="https://github.com/nuxt/test-utils/blob/main/examples/app-playwright/playwright.config.ts" target="_blank"} +:: Your test file should then use `expect` and `test` directly from `@nuxt/test-utils/playwright`: From 00018084d3c8ccbce07d2d6f8767701bed8d7c04 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Tue, 19 Mar 2024 19:54:04 +0000 Subject: [PATCH 340/470] chore: rename to yaml --- tea.yml => tea.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tea.yml => tea.yaml (100%) diff --git a/tea.yml b/tea.yaml similarity index 100% rename from tea.yml rename to tea.yaml From 5de7244032cb195ced3d2acd3e4d1df25615c1d0 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 20 Mar 2024 00:01:28 +0000 Subject: [PATCH 341/470] fix(nuxt): handle underscores in island names (#26370) --- packages/nuxt/src/core/runtime/nitro/renderer.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index cde9312494..cfa22ff733 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -205,6 +205,7 @@ const sharedPrerenderCache = import.meta.prerender && process.env.NUXT_SHARED_DA } : null +const ISLAND_SUFFIX_RE = /\.json(\?.*)?$/ async function getIslandContext (event: H3Event): Promise<NuxtIslandContext> { // TODO: Strict validation for url let url = event.path || '' @@ -212,8 +213,9 @@ async function getIslandContext (event: H3Event): Promise<NuxtIslandContext> { // rehydrate props from cache so we can rerender island if cache does not have it any more url = await islandPropCache!.getItem(event.path) as string } - url = url.substring('/__nuxt_island'.length + 1) || '' - const [componentName, hashId] = url.split('?')[0].replace(/\.json$/, '').split('_') + const componentParts = url.substring('/__nuxt_island'.length + 1).replace(ISLAND_SUFFIX_RE, '').split('_') + const hashId = componentParts.length > 1 ? componentParts.pop() : undefined + const componentName = componentParts.join('_') // TODO: Validate context const context = event.method === 'GET' ? getQuery(event) : await readBody(event) From 0fd83d2ff019b21be0e3c8b524a551d97fc36679 Mon Sep 17 00:00:00 2001 From: Serge Doda <33413869+bargel@users.noreply.github.com> Date: Wed, 20 Mar 2024 02:06:30 -0700 Subject: [PATCH 342/470] docs: migration page typo (#26389) --- docs/7.migration/2.configuration.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/7.migration/2.configuration.md b/docs/7.migration/2.configuration.md index 5a1697b647..13508d7339 100644 --- a/docs/7.migration/2.configuration.md +++ b/docs/7.migration/2.configuration.md @@ -67,6 +67,7 @@ Nuxt configuration will be loaded using [`unjs/jiti`](https://github.com/unjs/ji routeNameSplitter: '/' } } + ``` ```ts [Nuxt 3] import { createResolver } from '@nuxt/kit' @@ -82,7 +83,7 @@ Nuxt configuration will be loaded using [`unjs/jiti`](https://github.com/unjs/ji for (const route of routes) { const relativePath = route.file.substring(root.length + 1) - route.name = relativePath.replace(/\//g, routeNameSplitter).slice(0, -4) + route.name = relativePath.slice(0, -4).replace(/\/index$/, '').replace(/\//g, routeNameSplitter) updateName(route.children) } From 30d885248f45dab73b64e590fb59208bdbafb5af Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Mar 2024 09:07:01 +0000 Subject: [PATCH 343/470] chore(deps): update all non-major dependencies (main) (#26376) --- .github/workflows/check-links.yml | 2 +- package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 6 +- pnpm-lock.yaml | 399 +++++++++++++++--------------- 6 files changed, 209 insertions(+), 204 deletions(-) diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 5165111a0b..d4bd197866 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -18,7 +18,7 @@ jobs: steps: # Cache lychee results (e.g. to avoid hitting rate limits) - name: Restore lychee cache - uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 with: path: .lycheecache key: cache-lychee-${{ github.sha }} diff --git a/package.json b/package.json index c3ae17188c..77e19c148c 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.11.29", + "@types/node": "20.11.30", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", diff --git a/packages/schema/package.json b/packages/schema/package.json index 42cdd784fc..92f5b84807 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -58,7 +58,7 @@ "vue-loader": "17.4.2", "vue-router": "4.3.0", "webpack": "5.90.3", - "webpack-dev-middleware": "7.0.0" + "webpack-dev-middleware": "7.1.0" }, "dependencies": { "@nuxt/ui-templates": "^1.3.1", diff --git a/packages/vite/package.json b/packages/vite/package.json index 2a5f06967d..fa6b1a3af3 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -55,7 +55,7 @@ "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "postcss": "^8.4.36", + "postcss": "^8.4.37", "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 78c08c37b1..9b784a3c68 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -42,13 +42,13 @@ "hash-sum": "^2.0.0", "lodash-es": "4.17.21", "magic-string": "^0.30.8", - "memfs": "^4.7.7", + "memfs": "^4.8.0", "mini-css-extract-plugin": "^2.8.1", "mlly": "^1.6.1", "ohash": "^1.1.3", "pathe": "^1.1.2", "pify": "^6.1.0", - "postcss": "^8.4.36", + "postcss": "^8.4.37", "postcss-import": "^16.0.1", "postcss-import-resolver": "^2.0.0", "postcss-loader": "^8.1.1", @@ -64,7 +64,7 @@ "vue-loader": "^17.4.2", "webpack": "^5.90.3", "webpack-bundle-analyzer": "^4.10.1", - "webpack-dev-middleware": "^7.0.0", + "webpack-dev-middleware": "^7.1.0", "webpack-hot-middleware": "^2.26.1", "webpack-virtual-modules": "^0.6.1", "webpackbar": "^6.0.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0173bdc29a..42053035be 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,8 +38,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.29 - version: 20.11.29 + specifier: 20.11.30 + version: 20.11.30 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -138,7 +138,7 @@ importers: version: 1.5.2 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.29)(happy-dom@14.0.0) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.0.0) vitest-environment-nuxt: specifier: 1.0.0 version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) @@ -229,10 +229,10 @@ importers: version: 2.0.0(typescript@5.4.2) vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.29) + version: 5.1.6(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.29)(happy-dom@14.0.0) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.0.0) webpack: specifier: 5.90.3 version: 5.90.3 @@ -525,7 +525,7 @@ importers: version: 1.9.0 vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.29) + version: 5.1.6(@types/node@20.11.30) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -542,8 +542,8 @@ importers: specifier: 5.90.3 version: 5.90.3 webpack-dev-middleware: - specifier: 7.0.0 - version: 7.0.0(webpack@5.90.3) + specifier: 7.1.0 + version: 7.1.0(webpack@5.90.3) packages/vite: dependencies: @@ -561,7 +561,7 @@ importers: version: 3.1.0(vite@5.1.6)(vue@3.4.21) autoprefixer: specifier: ^10.4.18 - version: 10.4.18(postcss@8.4.36) + version: 10.4.18(postcss@8.4.37) clear: specifier: ^0.1.0 version: 0.1.0 @@ -570,7 +570,7 @@ importers: version: 3.2.3 cssnano: specifier: ^6.1.0 - version: 6.1.0(postcss@8.4.36) + version: 6.1.0(postcss@8.4.37) defu: specifier: ^6.1.4 version: 6.1.4 @@ -617,8 +617,8 @@ importers: specifier: ^1.0.3 version: 1.0.3 postcss: - specifier: ^8.4.36 - version: 8.4.36 + specifier: ^8.4.37 + version: 8.4.37 rollup-plugin-visualizer: specifier: ^5.12.0 version: 5.12.0(rollup@4.13.0) @@ -639,10 +639,10 @@ importers: version: 1.10.0 vite: specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.29) + version: 5.1.6(@types/node@20.11.30) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.11.29) + version: 1.4.0(@types/node@20.11.30) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6) @@ -679,7 +679,7 @@ importers: version: link:../kit autoprefixer: specifier: ^10.4.18 - version: 10.4.18(postcss@8.4.36) + version: 10.4.18(postcss@8.4.37) css-loader: specifier: ^6.10.0 version: 6.10.0(webpack@5.90.3) @@ -688,7 +688,7 @@ importers: version: 6.0.0(webpack@5.90.3) cssnano: specifier: ^6.1.0 - version: 6.1.0(postcss@8.4.36) + version: 6.1.0(postcss@8.4.37) defu: specifier: ^6.1.4 version: 6.1.4 @@ -723,8 +723,8 @@ importers: specifier: ^0.30.8 version: 0.30.8 memfs: - specifier: ^4.7.7 - version: 4.7.7 + specifier: ^4.8.0 + version: 4.8.0 mini-css-extract-plugin: specifier: ^2.8.1 version: 2.8.1(webpack@5.90.3) @@ -741,20 +741,20 @@ importers: specifier: ^6.1.0 version: 6.1.0 postcss: - specifier: ^8.4.36 - version: 8.4.36 + specifier: ^8.4.37 + version: 8.4.37 postcss-import: specifier: ^16.0.1 - version: 16.0.1(postcss@8.4.36) + version: 16.0.1(postcss@8.4.37) postcss-import-resolver: specifier: ^2.0.0 version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.36)(typescript@5.4.2)(webpack@5.90.3) + version: 8.1.1(postcss@8.4.37)(typescript@5.4.2)(webpack@5.90.3) postcss-url: specifier: ^10.1.3 - version: 10.1.3(postcss@8.4.36) + version: 10.1.3(postcss@8.4.37) pug-plain-loader: specifier: ^1.1.0 version: 1.1.0(pug@3.0.2) @@ -789,8 +789,8 @@ importers: specifier: ^4.10.1 version: 4.10.1 webpack-dev-middleware: - specifier: ^7.0.0 - version: 7.0.0(webpack@5.90.3) + specifier: ^7.1.0 + version: 7.1.0(webpack@5.90.3) webpack-hot-middleware: specifier: ^2.26.1 version: 2.26.1 @@ -868,7 +868,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.29)(happy-dom@14.0.0) + version: 1.0.2(@types/node@20.11.30)(happy-dom@14.0.0) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -1932,7 +1932,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2303,8 +2303,8 @@ packages: ufo: 1.5.2 unenv: 1.9.0 unplugin: 1.10.0 - vite: 5.1.6(@types/node@20.11.29) - vitest: 1.4.0(@types/node@20.11.29)(happy-dom@14.0.0) + vite: 5.1.6(@types/node@20.11.30) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.0.0) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) @@ -2863,7 +2863,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 dev: true /@types/debug@4.1.12: @@ -2913,7 +2913,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -2940,7 +2940,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 dev: true /@types/lodash-es@4.17.12: @@ -2966,7 +2966,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 dev: true /@types/node@20.11.28: @@ -2974,8 +2974,8 @@ packages: dependencies: undici-types: 5.26.5 - /@types/node@20.11.29: - resolution: {integrity: sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA==} + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} dependencies: undici-types: 5.26.5 @@ -3058,7 +3058,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3072,7 +3072,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3301,7 +3301,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.6(@types/node@20.11.29) + vite: 5.1.6(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - supports-color @@ -3335,7 +3335,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.29)(happy-dom@14.0.0) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.0.0) transitivePeerDependencies: - supports-color dev: true @@ -3511,7 +3511,7 @@ packages: '@vue/shared': 3.4.21 estree-walker: 2.0.2 magic-string: 0.30.8 - postcss: 8.4.36 + postcss: 8.4.37 source-map-js: 1.0.2 /@vue/compiler-ssr@3.4.21: @@ -4038,7 +4038,7 @@ packages: /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - /autoprefixer@10.4.18(postcss@8.4.36): + /autoprefixer@10.4.18(postcss@8.4.37): resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -4050,7 +4050,7 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false @@ -4605,13 +4605,13 @@ packages: uWebSockets.js: optional: true - /css-declaration-sorter@7.1.1(postcss@8.4.36): + /css-declaration-sorter@7.1.1(postcss@8.4.37): resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false /css-loader@6.10.0(webpack@5.90.3): @@ -4626,12 +4626,12 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.36) - postcss: 8.4.36 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.36) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.36) - postcss-modules-scope: 3.1.1(postcss@8.4.36) - postcss-modules-values: 4.0.0(postcss@8.4.36) + icss-utils: 5.1.0(postcss@8.4.37) + postcss: 8.4.37 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.37) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.37) + postcss-modules-scope: 3.1.1(postcss@8.4.37) + postcss-modules-values: 4.0.0(postcss@8.4.37) postcss-value-parser: 4.2.0 semver: 7.6.0 webpack: 5.90.3 @@ -4663,9 +4663,9 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.0(postcss@8.4.36) + cssnano: 6.1.0(postcss@8.4.37) jest-worker: 29.7.0 - postcss: 8.4.36 + postcss: 8.4.37 schema-utils: 4.2.0 serialize-javascript: 6.0.2 webpack: 5.90.3 @@ -4686,7 +4686,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dependencies: mdn-data: 2.0.28 - source-map-js: 1.0.2 + source-map-js: 1.1.0 dev: false /css-tree@2.3.1: @@ -4694,7 +4694,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: mdn-data: 2.0.30 - source-map-js: 1.0.2 + source-map-js: 1.1.0 dev: false /css-what@6.1.0: @@ -4707,63 +4707,63 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.1.0(postcss@8.4.36): + /cssnano-preset-default@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-4DUXZoDj+PI3fRl3MqMjl9DwLGjcsFP4qt+92nLUcN1RGfw2TY+GwNoG2B38Usu1BrcTs8j9pxNfSusmvtSjfg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - css-declaration-sorter: 7.1.1(postcss@8.4.36) - cssnano-utils: 4.0.2(postcss@8.4.36) - postcss: 8.4.36 - postcss-calc: 9.0.1(postcss@8.4.36) - postcss-colormin: 6.1.0(postcss@8.4.36) - postcss-convert-values: 6.1.0(postcss@8.4.36) - postcss-discard-comments: 6.0.2(postcss@8.4.36) - postcss-discard-duplicates: 6.0.3(postcss@8.4.36) - postcss-discard-empty: 6.0.3(postcss@8.4.36) - postcss-discard-overridden: 6.0.2(postcss@8.4.36) - postcss-merge-longhand: 6.0.4(postcss@8.4.36) - postcss-merge-rules: 6.1.0(postcss@8.4.36) - postcss-minify-font-values: 6.0.3(postcss@8.4.36) - postcss-minify-gradients: 6.0.3(postcss@8.4.36) - postcss-minify-params: 6.1.0(postcss@8.4.36) - postcss-minify-selectors: 6.0.3(postcss@8.4.36) - postcss-normalize-charset: 6.0.2(postcss@8.4.36) - postcss-normalize-display-values: 6.0.2(postcss@8.4.36) - postcss-normalize-positions: 6.0.2(postcss@8.4.36) - postcss-normalize-repeat-style: 6.0.2(postcss@8.4.36) - postcss-normalize-string: 6.0.2(postcss@8.4.36) - postcss-normalize-timing-functions: 6.0.2(postcss@8.4.36) - postcss-normalize-unicode: 6.1.0(postcss@8.4.36) - postcss-normalize-url: 6.0.2(postcss@8.4.36) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.36) - postcss-ordered-values: 6.0.2(postcss@8.4.36) - postcss-reduce-initial: 6.1.0(postcss@8.4.36) - postcss-reduce-transforms: 6.0.2(postcss@8.4.36) - postcss-svgo: 6.0.3(postcss@8.4.36) - postcss-unique-selectors: 6.0.3(postcss@8.4.36) + css-declaration-sorter: 7.1.1(postcss@8.4.37) + cssnano-utils: 4.0.2(postcss@8.4.37) + postcss: 8.4.37 + postcss-calc: 9.0.1(postcss@8.4.37) + postcss-colormin: 6.1.0(postcss@8.4.37) + postcss-convert-values: 6.1.0(postcss@8.4.37) + postcss-discard-comments: 6.0.2(postcss@8.4.37) + postcss-discard-duplicates: 6.0.3(postcss@8.4.37) + postcss-discard-empty: 6.0.3(postcss@8.4.37) + postcss-discard-overridden: 6.0.2(postcss@8.4.37) + postcss-merge-longhand: 6.0.4(postcss@8.4.37) + postcss-merge-rules: 6.1.0(postcss@8.4.37) + postcss-minify-font-values: 6.0.3(postcss@8.4.37) + postcss-minify-gradients: 6.0.3(postcss@8.4.37) + postcss-minify-params: 6.1.0(postcss@8.4.37) + postcss-minify-selectors: 6.0.3(postcss@8.4.37) + postcss-normalize-charset: 6.0.2(postcss@8.4.37) + postcss-normalize-display-values: 6.0.2(postcss@8.4.37) + postcss-normalize-positions: 6.0.2(postcss@8.4.37) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.37) + postcss-normalize-string: 6.0.2(postcss@8.4.37) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.37) + postcss-normalize-unicode: 6.1.0(postcss@8.4.37) + postcss-normalize-url: 6.0.2(postcss@8.4.37) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.37) + postcss-ordered-values: 6.0.2(postcss@8.4.37) + postcss-reduce-initial: 6.1.0(postcss@8.4.37) + postcss-reduce-transforms: 6.0.2(postcss@8.4.37) + postcss-svgo: 6.0.3(postcss@8.4.37) + postcss-unique-selectors: 6.0.3(postcss@8.4.37) dev: false - /cssnano-utils@4.0.2(postcss@8.4.36): + /cssnano-utils@4.0.2(postcss@8.4.37): resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false - /cssnano@6.1.0(postcss@8.4.36): + /cssnano@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-e2v4w/t3OFM6HTuSweI4RSdABaqgVgHlJp5FZrQsopHnKKHLFIvK2D3C4kHWeFIycN/1L1J5VIrg5KlDzn3r/g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.1.0(postcss@8.4.36) + cssnano-preset-default: 6.1.0(postcss@8.4.37) lilconfig: 3.1.1 - postcss: 8.4.36 + postcss: 8.4.37 dev: false /csso@5.0.5: @@ -6481,13 +6481,13 @@ packages: dev: false optional: true - /icss-utils@5.1.0(postcss@8.4.36): + /icss-utils@5.1.0(postcss@8.4.37): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false /ieee754@1.2.1: @@ -6913,7 +6913,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.29 + '@types/node': 20.11.30 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6924,7 +6924,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6932,7 +6932,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7246,7 +7246,7 @@ packages: dependencies: '@babel/parser': 7.23.9 '@babel/types': 7.23.9 - source-map-js: 1.0.2 + source-map-js: 1.1.0 /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} @@ -7510,8 +7510,8 @@ packages: fs-monkey: 1.0.5 dev: false - /memfs@4.7.7: - resolution: {integrity: sha512-x9qc6k88J/VVwnfTkJV8pRRswJ2156Rc4w5rciRqKceFDZ0y1MqsNL9pkg5sE0GOcDzZYbonreALhaHzg1siFw==} + /memfs@4.8.0: + resolution: {integrity: sha512-fcs7trFxZlOMadmTw5nyfOwS3il9pr3y+6xzLfXNwmuR/D0i4wz6rJURxArAbcJDGalbpbMvQ/IFI0NojRZgRg==} engines: {node: '>= 4.0.0'} dependencies: tslib: 2.6.2 @@ -8708,18 +8708,18 @@ packages: engines: {node: '>=4'} dev: true - /postcss-calc@9.0.1(postcss@8.4.36): + /postcss-calc@9.0.1(postcss@8.4.37): resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@6.1.0(postcss@8.4.36): + /postcss-colormin@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -8728,55 +8728,55 @@ packages: browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@6.1.0(postcss@8.4.36): + /postcss-convert-values@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-discard-comments@6.0.2(postcss@8.4.36): + /postcss-discard-comments@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false - /postcss-discard-duplicates@6.0.3(postcss@8.4.36): + /postcss-discard-duplicates@6.0.3(postcss@8.4.37): resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false - /postcss-discard-empty@6.0.3(postcss@8.4.36): + /postcss-discard-empty@6.0.3(postcss@8.4.37): resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false - /postcss-discard-overridden@6.0.2(postcss@8.4.36): + /postcss-discard-overridden@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false /postcss-import-resolver@2.0.0: @@ -8785,19 +8785,19 @@ packages: enhanced-resolve: 4.5.0 dev: false - /postcss-import@16.0.1(postcss@8.4.36): + /postcss-import@16.0.1(postcss@8.4.37): resolution: {integrity: sha512-i2Pci0310NaLHr/5JUFSw1j/8hf1CzwMY13g6ZDxgOavmRHQi2ba3PmUHoihO+sjaum+KmCNzskNsw7JDrg03g==} engines: {node: '>=18.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: false - /postcss-loader@8.1.1(postcss@8.4.36)(typescript@5.4.2)(webpack@5.90.3): + /postcss-loader@8.1.1(postcss@8.4.37)(typescript@5.4.2)(webpack@5.90.3): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -8812,25 +8812,25 @@ packages: dependencies: cosmiconfig: 9.0.0(typescript@5.4.2) jiti: 1.21.0 - postcss: 8.4.36 + postcss: 8.4.37 semver: 7.6.0 webpack: 5.90.3 transitivePeerDependencies: - typescript dev: false - /postcss-merge-longhand@6.0.4(postcss@8.4.36): + /postcss-merge-longhand@6.0.4(postcss@8.4.37): resolution: {integrity: sha512-vAfWGcxUUGlFiPM3nDMZA+/Yo9sbpc3JNkcYZez8FfJDv41Dh7tAgA3QGVTocaHCZZL6aXPXPOaBMJsjujodsA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 - stylehacks: 6.1.0(postcss@8.4.36) + stylehacks: 6.1.0(postcss@8.4.37) dev: false - /postcss-merge-rules@6.1.0(postcss@8.4.36): + /postcss-merge-rules@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-lER+W3Gr6XOvxOYk1Vi/6UsAgKMg6MDBthmvbNqi2XxAk/r9XfhdYZSigfWjuWWn3zYw2wLelvtM8XuAEFqRkA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -8838,198 +8838,198 @@ packages: dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.36) - postcss: 8.4.36 + cssnano-utils: 4.0.2(postcss@8.4.37) + postcss: 8.4.37 postcss-selector-parser: 6.0.15 dev: false - /postcss-minify-font-values@6.0.3(postcss@8.4.36): + /postcss-minify-font-values@6.0.3(postcss@8.4.37): resolution: {integrity: sha512-SmAeTA1We5rMnN3F8X9YBNo9bj9xB4KyDHnaNJnBfQIPi+60fNiR9OTRnIaMqkYzAQX0vObIw4Pn0vuKEOettg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@6.0.3(postcss@8.4.36): + /postcss-minify-gradients@6.0.3(postcss@8.4.37): resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.4.36) - postcss: 8.4.36 + cssnano-utils: 4.0.2(postcss@8.4.37) + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@6.1.0(postcss@8.4.36): + /postcss-minify-params@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - cssnano-utils: 4.0.2(postcss@8.4.36) - postcss: 8.4.36 + cssnano-utils: 4.0.2(postcss@8.4.37) + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@6.0.3(postcss@8.4.36): + /postcss-minify-selectors@6.0.3(postcss@8.4.37): resolution: {integrity: sha512-IcV7ZQJcaXyhx4UBpWZMsinGs2NmiUC60rJSkyvjPCPqhNjVGsrJUM+QhAtCaikZ0w0/AbZuH4wVvF/YMuMhvA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-selector-parser: 6.0.15 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.36): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.37): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false - /postcss-modules-local-by-default@4.0.4(postcss@8.4.36): + /postcss-modules-local-by-default@4.0.4(postcss@8.4.37): resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.36) - postcss: 8.4.36 + icss-utils: 5.1.0(postcss@8.4.37) + postcss: 8.4.37 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.1.1(postcss@8.4.36): + /postcss-modules-scope@3.1.1(postcss@8.4.37): resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-selector-parser: 6.0.15 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.36): + /postcss-modules-values@4.0.0(postcss@8.4.37): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.36) - postcss: 8.4.36 + icss-utils: 5.1.0(postcss@8.4.37) + postcss: 8.4.37 dev: false - /postcss-normalize-charset@6.0.2(postcss@8.4.36): + /postcss-normalize-charset@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 dev: false - /postcss-normalize-display-values@6.0.2(postcss@8.4.36): + /postcss-normalize-display-values@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@6.0.2(postcss@8.4.36): + /postcss-normalize-positions@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@6.0.2(postcss@8.4.36): + /postcss-normalize-repeat-style@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@6.0.2(postcss@8.4.36): + /postcss-normalize-string@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@6.0.2(postcss@8.4.36): + /postcss-normalize-timing-functions@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@6.1.0(postcss@8.4.36): + /postcss-normalize-unicode@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@6.0.2(postcss@8.4.36): + /postcss-normalize-url@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@6.0.2(postcss@8.4.36): + /postcss-normalize-whitespace@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@6.0.2(postcss@8.4.36): + /postcss-ordered-values@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-utils: 4.0.2(postcss@8.4.36) - postcss: 8.4.36 + cssnano-utils: 4.0.2(postcss@8.4.37) + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@6.1.0(postcss@8.4.36): + /postcss-reduce-initial@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -9037,16 +9037,16 @@ packages: dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - postcss: 8.4.36 + postcss: 8.4.37 dev: false - /postcss-reduce-transforms@6.0.2(postcss@8.4.36): + /postcss-reduce-transforms@6.0.2(postcss@8.4.37): resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 dev: false @@ -9057,28 +9057,28 @@ packages: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo@6.0.3(postcss@8.4.36): + /postcss-svgo@6.0.3(postcss@8.4.37): resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-value-parser: 4.2.0 svgo: 3.2.0 dev: false - /postcss-unique-selectors@6.0.3(postcss@8.4.36): + /postcss-unique-selectors@6.0.3(postcss@8.4.37): resolution: {integrity: sha512-NFXbYr8qdmCr/AFceaEfdcsKGCvWTeGO6QVC9h2GvtWgj0/0dklKQcaMMVzs6tr8bY+ase8hOtHW8OBTTRvS8A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.36 + postcss: 8.4.37 postcss-selector-parser: 6.0.15 dev: false - /postcss-url@10.1.3(postcss@8.4.36): + /postcss-url@10.1.3(postcss@8.4.37): resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} engines: {node: '>=10'} peerDependencies: @@ -9087,7 +9087,7 @@ packages: make-dir: 3.1.0 mime: 2.5.2 minimatch: 3.0.8 - postcss: 8.4.36 + postcss: 8.4.37 xxhashjs: 0.2.2 dev: false @@ -9103,13 +9103,13 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss@8.4.36: - resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==} + /postcss@8.4.37: + resolution: {integrity: sha512-7iB/v/r7Woof0glKLH8b1SPHrsX7uhdO+Geb41QpF/+mWZHU3uxxSlN+UXGVit1PawOYDToO+AbZzhBzWRDwbQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.1.0 + source-map-js: 1.2.0 /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -10002,6 +10002,10 @@ packages: resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -10187,14 +10191,14 @@ packages: dependencies: js-tokens: 8.0.2 - /stylehacks@6.1.0(postcss@8.4.36): + /stylehacks@6.1.0(postcss@8.4.37): resolution: {integrity: sha512-ETErsPFgwlfYZ/CSjMO2Ddf+TsnkCVPBPaoB99Ro8WMAxf7cglzmFsRBhRmKObFjibtcvlNxFFPHuyr3sNlNUQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.36 + postcss: 8.4.37 postcss-selector-parser: 6.0.15 dev: false @@ -10932,7 +10936,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.0.2(@types/node@20.11.29): + /vite-node@1.0.2(@types/node@20.11.30): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10941,7 +10945,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.29) + vite: 5.1.6(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -10974,7 +10978,7 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.11.29): + /vite-node@1.4.0(@types/node@20.11.30): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10983,7 +10987,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.29) + vite: 5.1.6(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11038,7 +11042,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.2 - vite: 5.1.6(@types/node@20.11.29) + vite: 5.1.6(@types/node@20.11.30) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11120,12 +11124,12 @@ packages: dependencies: '@types/node': 20.11.28 esbuild: 0.19.11 - postcss: 8.4.35 + postcss: 8.4.37 rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 - /vite@5.1.6(@types/node@20.11.29): + /vite@5.1.6(@types/node@20.11.30): resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11153,7 +11157,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 esbuild: 0.19.11 postcss: 8.4.35 rollup: 4.13.0 @@ -11181,7 +11185,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.29)(happy-dom@14.0.0): + /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.0.0): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11206,7 +11210,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11226,8 +11230,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.29) - vite-node: 1.0.2(@types/node@20.11.29) + vite: 5.1.6(@types/node@20.11.30) + vite-node: 1.0.2(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11296,7 +11300,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.29)(happy-dom@14.0.0): + /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.0.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11321,7 +11325,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -11340,8 +11344,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.29) - vite-node: 1.4.0(@types/node@20.11.29) + vite: 5.1.6(@types/node@20.11.30) + vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11537,8 +11541,8 @@ packages: - utf-8-validate dev: false - /webpack-dev-middleware@7.0.0(webpack@5.90.3): - resolution: {integrity: sha512-tZ5hqsWwww/8DislmrzXE3x+4f+v10H1z57mA2dWFrILb4i3xX+dPhTkcdR0DLyQztrhF2AUmO5nN085UYjd/Q==} + /webpack-dev-middleware@7.1.0(webpack@5.90.3): + resolution: {integrity: sha512-+RYhGOyviHkKdMi1aaT8WZBQW033YgyBgtQHF2kMWo3mYA9z7W2AjsyY/DIzvp2Bhzys4UgHXFsIyTiL5qRBVw==} engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.0.0 @@ -11547,8 +11551,9 @@ packages: optional: true dependencies: colorette: 2.0.20 - memfs: 4.7.7 + memfs: 4.8.0 mime-types: 2.1.35 + on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 webpack: 5.90.3 From 4e6812d92c7719c78604f9be1813123978313b73 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 20 Mar 2024 09:54:25 +0000 Subject: [PATCH 344/470] fix(nuxt): don't append new route for redirect if one exists (#26368) --- packages/nuxt/src/pages/module.ts | 6 +++++- packages/nuxt/src/pages/utils.ts | 7 +++++++ test/fixtures/basic-types/nuxt.config.ts | 5 +++++ test/fixtures/basic-types/pages/param.vue | 5 +++++ 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/basic-types/pages/param.vue diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 63859a7b30..25d5c95ab9 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -12,7 +12,7 @@ import type { EditableTreeNode, Options as TypedRouterOptions } from 'unplugin-v import type { NitroRouteConfig } from 'nitropack' import { defu } from 'defu' import { distDir } from '../dirs' -import { normalizeRoutes, resolvePagesRoutes } from './utils' +import { normalizeRoutes, resolvePagesRoutes, resolveRoutePaths } from './utils' import { extractRouteRules, getMappedPages } from './route-rules' import type { PageMetaPluginOptions } from './plugins/page-meta' import { PageMetaPlugin } from './plugins/page-meta' @@ -371,9 +371,13 @@ export default defineNuxtModule({ // when the app manifest is enabled. nuxt.hook('pages:extend', (routes) => { const nitro = useNitro() + let resolvedRoutes: string[] for (const path in nitro.options.routeRules) { const rule = nitro.options.routeRules[path] if (!rule.redirect) { continue } + resolvedRoutes ||= routes.flatMap(route => resolveRoutePaths(route)) + // skip if there's already a route matching this path + if (resolvedRoutes.includes(path)) { continue } routes.push({ _sync: true, path: path.replace(/\/[^/]*\*\*/, '/:pathMatch(.*)'), diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 28ece519e6..1d7b750fae 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -539,3 +539,10 @@ export function pathToNitroGlob (path: string) { return path.replace(/\/(?:[^:/]+)?:\w+.*$/, '/**') } + +export function resolveRoutePaths (page: NuxtPage, parent = '/'): string[] { + return [ + joinURL(parent, page.path), + ...page.children?.flatMap(child => resolveRoutePaths(child, joinURL(parent, page.path))) || [] + ] +} diff --git a/test/fixtures/basic-types/nuxt.config.ts b/test/fixtures/basic-types/nuxt.config.ts index 64719eea3b..e5b56da9ad 100644 --- a/test/fixtures/basic-types/nuxt.config.ts +++ b/test/fixtures/basic-types/nuxt.config.ts @@ -30,6 +30,11 @@ export default defineNuxtConfig({ val: 1 } }, + routeRules: { + '/param': { + redirect: '/param/1' + } + }, modules: [ function () { addTypeTemplate({ diff --git a/test/fixtures/basic-types/pages/param.vue b/test/fixtures/basic-types/pages/param.vue new file mode 100644 index 0000000000..41b642051a --- /dev/null +++ b/test/fixtures/basic-types/pages/param.vue @@ -0,0 +1,5 @@ +<template> + <div> + <!-- --> + </div> +</template> From 6f2e7a8b2327695048a9c8cf0090b4e6ecee629c Mon Sep 17 00:00:00 2001 From: Alexander Lichter <github@lichter.io> Date: Wed, 20 Mar 2024 10:55:40 +0100 Subject: [PATCH 345/470] fix(nuxt): ignore `navigateTo` `open` option on server side (#26392) --- packages/nuxt/src/app/composables/router.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index a0c033d73d..0f2eac9811 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -135,9 +135,8 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na .join(', ') open(toPath, target, features) + return Promise.resolve() } - - return Promise.resolve() } const isExternal = options?.external || hasProtocol(toPath, { acceptRelative: true }) From 291348e0ab8a00addaae4cabf6a7abdc30b417b0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Mar 2024 17:31:08 +0000 Subject: [PATCH 346/470] chore(deps): update all non-major dependencies (main) (#26399) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 8 +- packages/kit/package.json | 6 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 8 +- packages/vite/package.json | 6 +- packages/webpack/package.json | 8 +- pnpm-lock.yaml | 1541 ++++++++++++++++++++++++++------- 7 files changed, 1244 insertions(+), 339 deletions(-) diff --git a/package.json b/package.json index 77e19c148c..4810bc6ad9 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@nuxt/webpack-builder": "workspace:*", "rollup": "^4.13.0", "nuxt": "workspace:*", - "vite": "5.1.6", + "vite": "5.2.2", "vue": "3.4.21", "magic-string": "^0.30.8" }, @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.0.0", + "happy-dom": "14.1.1", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", @@ -82,12 +82,12 @@ "semver": "7.6.0", "std-env": "3.7.0", "typescript": "5.4.2", - "ufo": "1.5.2", + "ufo": "1.5.3", "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", "vue-router": "4.3.0", - "vue-tsc": "2.0.6" + "vue-tsc": "2.0.7" }, "packageManager": "pnpm@8.15.5", "engines": { diff --git a/packages/kit/package.json b/packages/kit/package.json index 5876934e09..f36e0bd98a 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -40,7 +40,7 @@ "pkg-types": "^1.0.3", "scule": "^1.3.0", "semver": "^7.6.0", - "ufo": "^1.5.2", + "ufo": "^1.5.3", "unctx": "^2.3.1", "unimport": "^3.7.1", "untyped": "^1.4.2" @@ -52,9 +52,9 @@ "lodash-es": "4.17.21", "nitropack": "2.9.4", "unbuild": "latest", - "vite": "5.1.6", + "vite": "5.2.2", "vitest": "1.4.0", - "webpack": "5.90.3" + "webpack": "5.91.0" }, "engines": { "node": "^14.18.0 || >=16.10.0" diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 2e7a6ba8c5..d567e9be6d 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -60,7 +60,7 @@ }, "dependencies": { "@nuxt/devalue": "^2.0.2", - "@nuxt/devtools": "^1.0.8", + "@nuxt/devtools": "^1.1.0", "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.3", @@ -101,7 +101,7 @@ "scule": "^1.3.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", - "ufo": "^1.5.2", + "ufo": "^1.5.3", "ultrahtml": "^1.5.3", "uncrypto": "^0.1.3", "unctx": "^2.3.1", @@ -122,7 +122,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.1.6", + "vite": "5.2.2", "vitest": "1.4.0" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 92f5b84807..509d44f2a9 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,7 +42,7 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", - "@vue/language-core": "2.0.6", + "@vue/language-core": "2.0.7", "c12": "1.10.0", "esbuild-loader": "4.1.0", "h3": "1.11.1", @@ -52,12 +52,12 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.1.6", + "vite": "5.2.2", "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", "vue-router": "4.3.0", - "webpack": "5.90.3", + "webpack": "5.91.0", "webpack-dev-middleware": "7.1.0" }, "dependencies": { @@ -69,7 +69,7 @@ "pkg-types": "^1.0.3", "scule": "^1.3.0", "std-env": "^3.7.0", - "ufo": "^1.5.2", + "ufo": "^1.5.3", "unimport": "^3.7.1", "untyped": "^1.4.2" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index fa6b1a3af3..d174c03525 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -39,7 +39,7 @@ "autoprefixer": "^10.4.18", "clear": "^0.1.0", "consola": "^3.2.3", - "cssnano": "^6.1.0", + "cssnano": "^6.1.1", "defu": "^6.1.4", "esbuild": "^0.20.2", "escape-string-regexp": "^5.0.0", @@ -59,10 +59,10 @@ "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", - "ufo": "^1.5.2", + "ufo": "^1.5.3", "unenv": "^1.9.0", "unplugin": "^1.10.0", - "vite": "^5.1.6", + "vite": "^5.2.2", "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 9b784a3c68..2e8c3f7bc7 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.18", "css-loader": "^6.10.0", "css-minimizer-webpack-plugin": "^6.0.0", - "cssnano": "^6.1.0", + "cssnano": "^6.1.1", "defu": "^6.1.4", "esbuild-loader": "^4.1.0", "escape-string-regexp": "^5.0.0", @@ -56,13 +56,13 @@ "pug-plain-loader": "^1.1.0", "std-env": "^3.7.0", "time-fix-plugin": "^2.0.7", - "ufo": "^1.5.2", + "ufo": "^1.5.3", "unenv": "^1.9.0", "unplugin": "^1.10.0", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", - "webpack": "^5.90.3", + "webpack": "^5.91.0", "webpack-bundle-analyzer": "^4.10.1", "webpack-dev-middleware": "^7.1.0", "webpack-hot-middleware": "^2.26.1", @@ -76,7 +76,7 @@ "@types/pify": "5.0.4", "@types/webpack-bundle-analyzer": "4.7.0", "@types/webpack-hot-middleware": "2.25.9", - "@types/webpack-virtual-modules": "0.1.3", + "@types/webpack-virtual-modules": "0.4.2", "unbuild": "latest", "vue": "3.4.21" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 42053035be..e9c5adb7e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: '@nuxt/webpack-builder': workspace:* rollup: ^4.13.0 nuxt: workspace:* - vite: 5.1.6 + vite: 5.2.2 vue: 3.4.21 magic-string: ^0.30.8 @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.0.0 - version: 14.0.0 + specifier: 14.1.1 + version: 14.1.1 jiti: specifier: 1.21.0 version: 1.21.0 @@ -134,14 +134,14 @@ importers: specifier: 5.4.2 version: 5.4.2 ufo: - specifier: 1.5.2 - version: 1.5.2 + specifier: 1.5.3 + version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.0.0) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.1.1) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -149,8 +149,8 @@ importers: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) vue-tsc: - specifier: 2.0.6 - version: 2.0.6(typescript@5.4.2) + specifier: 2.0.7 + version: 2.0.7(typescript@5.4.2) packages/kit: dependencies: @@ -197,8 +197,8 @@ importers: specifier: ^7.6.0 version: 7.6.0 ufo: - specifier: ^1.5.2 - version: 1.5.2 + specifier: ^1.5.3 + version: 1.5.3 unctx: specifier: ^2.3.1 version: 2.3.1 @@ -228,14 +228,14 @@ importers: specifier: latest version: 2.0.0(typescript@5.4.2) vite: - specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.30) + specifier: 5.2.2 + version: 5.2.2(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.0.0) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.1.1) webpack: - specifier: 5.90.3 - version: 5.90.3 + specifier: 5.91.0 + version: 5.91.0 packages/nuxt: dependencies: @@ -243,8 +243,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 '@nuxt/devtools': - specifier: ^1.0.8 - version: 1.0.8(nuxt@packages+nuxt)(rollup@4.13.0)(vite@5.1.6) + specifier: ^1.1.0 + version: 1.1.0(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -369,8 +369,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ufo: - specifier: ^1.5.2 - version: 1.5.2 + specifier: ^1.5.3 + version: 1.5.3 ultrahtml: specifier: ^1.5.3 version: 1.5.3 @@ -422,16 +422,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.6)(vue@3.4.21) + version: 5.0.4(vite@5.2.2)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.4.2) vite: - specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.28) + specifier: 5.2.2 + version: 5.2.2(@types/node@20.11.28) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@14.0.0) + version: 1.4.0(@types/node@20.11.28)(happy-dom@14.1.1) packages/schema: dependencies: @@ -460,8 +460,8 @@ importers: specifier: ^3.7.0 version: 3.7.0 ufo: - specifier: ^1.5.2 - version: 1.5.2 + specifier: ^1.5.3 + version: 1.5.3 unimport: specifier: ^3.7.1 version: 3.7.1(rollup@4.13.0) @@ -486,22 +486,22 @@ importers: version: 1.8.20 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.1.6)(vue@3.4.21) + version: 5.0.4(vite@5.2.2)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.1.6)(vue@3.4.21) + version: 3.1.0(vite@5.2.2)(vue@3.4.21) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 '@vue/language-core': - specifier: 2.0.6 - version: 2.0.6(typescript@5.4.2) + specifier: 2.0.7 + version: 2.0.7(typescript@5.4.2) c12: specifier: 1.10.0 version: 1.10.0 esbuild-loader: specifier: 4.1.0 - version: 4.1.0(webpack@5.90.3) + version: 4.1.0(webpack@5.91.0) h3: specifier: 1.11.1 version: 1.11.1 @@ -524,8 +524,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.30) + specifier: 5.2.2 + version: 5.2.2(@types/node@20.11.30) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -534,16 +534,16 @@ importers: version: 2.0.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(vue@3.4.21)(webpack@5.90.3) + version: 17.4.2(vue@3.4.21)(webpack@5.91.0) vue-router: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) webpack: - specifier: 5.90.3 - version: 5.90.3 + specifier: 5.91.0 + version: 5.91.0 webpack-dev-middleware: specifier: 7.1.0 - version: 7.1.0(webpack@5.90.3) + version: 7.1.0(webpack@5.91.0) packages/vite: dependencies: @@ -555,10 +555,10 @@ importers: version: 5.0.5(rollup@4.13.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.6)(vue@3.4.21) + version: 5.0.4(vite@5.2.2)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.1.6)(vue@3.4.21) + version: 3.1.0(vite@5.2.2)(vue@3.4.21) autoprefixer: specifier: ^10.4.18 version: 10.4.18(postcss@8.4.37) @@ -569,8 +569,8 @@ importers: specifier: ^3.2.3 version: 3.2.3 cssnano: - specifier: ^6.1.0 - version: 6.1.0(postcss@8.4.37) + specifier: ^6.1.1 + version: 6.1.1(postcss@8.4.37) defu: specifier: ^6.1.4 version: 6.1.4 @@ -629,8 +629,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ufo: - specifier: ^1.5.2 - version: 1.5.2 + specifier: ^1.5.3 + version: 1.5.3 unenv: specifier: ^1.9.0 version: 1.9.0 @@ -638,14 +638,14 @@ importers: specifier: ^1.10.0 version: 1.10.0 vite: - specifier: 5.1.6 - version: 5.1.6(@types/node@20.11.30) + specifier: 5.2.2 + version: 5.2.2(@types/node@20.11.30) vite-node: specifier: ^1.4.0 version: 1.4.0(@types/node@20.11.30) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.2.2)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -673,7 +673,7 @@ importers: dependencies: '@nuxt/friendly-errors-webpack-plugin': specifier: ^2.6.0 - version: 2.6.0(webpack@5.90.3) + version: 2.6.0(webpack@5.91.0) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -682,19 +682,19 @@ importers: version: 10.4.18(postcss@8.4.37) css-loader: specifier: ^6.10.0 - version: 6.10.0(webpack@5.90.3) + version: 6.10.0(webpack@5.91.0) css-minimizer-webpack-plugin: specifier: ^6.0.0 - version: 6.0.0(webpack@5.90.3) + version: 6.0.0(webpack@5.91.0) cssnano: - specifier: ^6.1.0 - version: 6.1.0(postcss@8.4.37) + specifier: ^6.1.1 + version: 6.1.1(postcss@8.4.37) defu: specifier: ^6.1.4 version: 6.1.4 esbuild-loader: specifier: ^4.1.0 - version: 4.1.0(webpack@5.90.3) + version: 4.1.0(webpack@5.91.0) escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -703,10 +703,10 @@ importers: version: 3.0.3 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.90.3) + version: 6.2.0(webpack@5.91.0) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.4.2)(webpack@5.90.3) + version: 9.0.2(typescript@5.4.2)(webpack@5.91.0) fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -727,7 +727,7 @@ importers: version: 4.8.0 mini-css-extract-plugin: specifier: ^2.8.1 - version: 2.8.1(webpack@5.90.3) + version: 2.8.1(webpack@5.91.0) mlly: specifier: ^1.6.1 version: 1.6.1 @@ -751,7 +751,7 @@ importers: version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.37)(typescript@5.4.2)(webpack@5.90.3) + version: 8.1.1(postcss@8.4.37)(typescript@5.4.2)(webpack@5.91.0) postcss-url: specifier: ^10.1.3 version: 10.1.3(postcss@8.4.37) @@ -763,10 +763,10 @@ importers: version: 3.7.0 time-fix-plugin: specifier: ^2.0.7 - version: 2.0.7(webpack@5.90.3) + version: 2.0.7(webpack@5.91.0) ufo: - specifier: ^1.5.2 - version: 1.5.2 + specifier: ^1.5.3 + version: 1.5.3 unenv: specifier: ^1.9.0 version: 1.9.0 @@ -775,22 +775,22 @@ importers: version: 1.10.0 url-loader: specifier: ^4.1.1 - version: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) + version: 4.1.1(file-loader@6.2.0)(webpack@5.91.0) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(vue@3.4.21)(webpack@5.90.3) + version: 17.4.2(vue@3.4.21)(webpack@5.91.0) webpack: - specifier: ^5.90.3 - version: 5.90.3 + specifier: ^5.91.0 + version: 5.91.0 webpack-bundle-analyzer: specifier: ^4.10.1 version: 4.10.1 webpack-dev-middleware: specifier: ^7.1.0 - version: 7.1.0(webpack@5.90.3) + version: 7.1.0(webpack@5.91.0) webpack-hot-middleware: specifier: ^2.26.1 version: 2.26.1 @@ -799,7 +799,7 @@ importers: version: 0.6.1 webpackbar: specifier: ^6.0.1 - version: 6.0.1(webpack@5.90.3) + version: 6.0.1(webpack@5.91.0) devDependencies: '@nuxt/schema': specifier: workspace:* @@ -820,8 +820,8 @@ importers: specifier: 2.25.9 version: 2.25.9 '@types/webpack-virtual-modules': - specifier: 0.1.3 - version: 0.1.3 + specifier: 0.4.2 + version: 0.4.2 unbuild: specifier: latest version: 2.0.0(typescript@5.4.2) @@ -868,7 +868,7 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.30)(happy-dom@14.0.0) + version: 1.0.2(@types/node@20.11.30)(happy-dom@14.1.1) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.2) @@ -926,6 +926,21 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.25 + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: false + + /@antfu/install-pkg@0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: false + /@antfu/utils@0.7.7: resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} dev: false @@ -937,6 +952,14 @@ packages: '@babel/highlight': 7.23.4 chalk: 2.4.2 + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + dev: false + /@babel/compat-data@7.23.5: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} @@ -963,6 +986,29 @@ packages: transitivePeerDependencies: - supports-color + /@babel/core@7.24.3: + resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} @@ -972,6 +1018,16 @@ packages: '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + /@babel/generator@7.24.1: + resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: false + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -1005,6 +1061,24 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: false + /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} @@ -1047,6 +1121,20 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} @@ -1057,6 +1145,11 @@ packages: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + dev: false + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} @@ -1068,6 +1161,18 @@ packages: '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: false + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -1108,6 +1213,17 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helpers@7.24.1: + resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} @@ -1117,6 +1233,16 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: false + /@babel/parser@7.23.9: resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} engines: {node: '>=6.0.0'} @@ -1124,6 +1250,14 @@ packages: dependencies: '@babel/types': 7.23.9 + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: false + /@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.23.9): resolution: {integrity: sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==} engines: {node: '>=6.9.0'} @@ -1176,6 +1310,16 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: false + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} @@ -1185,6 +1329,28 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + dev: false + + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + dev: false + /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} engines: {node: '>=6.9.0'} @@ -1197,6 +1363,33 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) + dev: false + + /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) + dev: false + /@babel/runtime@7.23.9: resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} engines: {node: '>=6.9.0'} @@ -1216,6 +1409,15 @@ packages: '@babel/parser': 7.23.9 '@babel/types': 7.23.9 + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + dev: false + /@babel/traverse@7.23.9: resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} engines: {node: '>=6.9.0'} @@ -1233,6 +1435,24 @@ packages: transitivePeerDependencies: - supports-color + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/types@7.23.9: resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} engines: {node: '>=6.9.0'} @@ -1241,6 +1461,15 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: false + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true @@ -1270,6 +1499,7 @@ packages: cpu: [ppc64] os: [aix] requiresBuild: true + dev: true optional: true /@esbuild/aix-ppc64@0.20.2: @@ -1295,6 +1525,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm64@0.20.2: @@ -1320,6 +1551,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm@0.20.2: @@ -1345,6 +1577,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-x64@0.20.2: @@ -1370,6 +1603,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-arm64@0.20.2: @@ -1395,6 +1629,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-x64@0.20.2: @@ -1420,6 +1655,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-arm64@0.20.2: @@ -1445,6 +1681,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-x64@0.20.2: @@ -1470,6 +1707,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm64@0.20.2: @@ -1495,6 +1733,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm@0.20.2: @@ -1520,6 +1759,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ia32@0.20.2: @@ -1545,6 +1785,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-loong64@0.20.2: @@ -1570,6 +1811,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-mips64el@0.20.2: @@ -1595,6 +1837,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ppc64@0.20.2: @@ -1620,6 +1863,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-riscv64@0.20.2: @@ -1645,6 +1889,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-s390x@0.20.2: @@ -1670,6 +1915,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-x64@0.20.2: @@ -1695,6 +1941,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: true optional: true /@esbuild/netbsd-x64@0.20.2: @@ -1720,6 +1967,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: true optional: true /@esbuild/openbsd-x64@0.20.2: @@ -1745,6 +1993,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: true optional: true /@esbuild/sunos-x64@0.20.2: @@ -1770,6 +2019,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-arm64@0.20.2: @@ -1795,6 +2045,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-ia32@0.20.2: @@ -1820,6 +2071,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-x64@0.20.2: @@ -1871,17 +2123,14 @@ packages: resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} dependencies: '@floating-ui/utils': 0.2.1 - dev: true /@floating-ui/dom@1.1.1: resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==} dependencies: '@floating-ui/core': 1.6.0 - dev: true /@floating-ui/utils@0.2.1: resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - dev: true /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} @@ -1900,6 +2149,24 @@ packages: /@humanwhocodes/object-schema@2.0.2: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: false + + /@iconify/utils@2.1.22: + resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.7 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.6.1 + transitivePeerDependencies: + - supports-color + dev: false + /@ioredis/commands@1.2.0: resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} @@ -1945,6 +2212,15 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: false + /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} @@ -1953,6 +2229,11 @@ packages: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: false + /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: @@ -2106,25 +2387,25 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.0.8(nuxt@packages+nuxt)(vite@5.1.6): - resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} + /@nuxt/devtools-kit@1.1.0(nuxt@packages+nuxt)(vite@5.2.2): + resolution: {integrity: sha512-Mf198/nwoM6VaAuAA9TPB6gt0Ic9DiDjBGCuVDiUBVFEr253y30474bKU8+P3JQa0LYYkzzBLJVKDSd8wb4fZg==} peerDependencies: nuxt: workspace:* - vite: 5.1.6 + vite: 5.2.2 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.1.6(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.28) dev: false - /@nuxt/devtools-wizard@1.0.8: - resolution: {integrity: sha512-RxyOlM7Isk5npwXwDJ/rjm9ekX5sTNG0LS0VOBMdSx+D5nlRPMRr/r9yO+9WQDyzPLClLzHaXRHBWLPlRX3IMw==} + /@nuxt/devtools-wizard@1.1.0: + resolution: {integrity: sha512-2sPIny6q9vs1Pc781q99JPlR+nj4/oOcojWEULdnLh6M8Z+C3HtMSyDhN3X/acGakchxj0nS6DahapMvsO3UUg==} hasBin: true dependencies: consola: 3.2.3 - diff: 5.1.0 + diff: 5.2.0 execa: 7.2.0 global-directory: 4.0.1 magicast: 0.3.3 @@ -2135,24 +2416,28 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.0.8(nuxt@packages+nuxt)(rollup@4.13.0)(vite@5.1.6): - resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} + /@nuxt/devtools@1.1.0(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21): + resolution: {integrity: sha512-55oopcCMA8TLcVXUEEPX5gWwtQeOV3ux0XdYL0ougXtsgeBf4Jr5cO/VxI5pC7kPYojJmxy/cxbVVgTDVd4TfA==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.1.6 + vite: 5.2.2 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.0.8(nuxt@packages+nuxt)(vite@5.1.6) - '@nuxt/devtools-wizard': 1.0.8 + '@nuxt/devtools-kit': 1.1.0(nuxt@packages+nuxt)(vite@5.2.2) + '@nuxt/devtools-wizard': 1.1.0 '@nuxt/kit': link:packages/kit - birpc: 0.2.14 + '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) + '@vue/devtools-core': 7.0.20(vite@5.2.2)(vue@3.4.21) + '@vue/devtools-kit': 7.0.20(vue@3.4.21) + birpc: 0.2.17 consola: 3.2.3 + cronstrue: 2.48.0 destr: 2.0.3 error-stack-parser-es: 0.1.1 execa: 7.2.0 fast-glob: 3.3.2 - flatted: 3.2.9 + flatted: 3.3.1 get-port-please: 3.1.2 hookable: 5.5.3 image-meta: 0.2.0 @@ -2163,27 +2448,43 @@ packages: nuxt: link:packages/nuxt nypm: 0.3.8 ohash: 1.1.3 - pacote: 17.0.5 + pacote: 17.0.6 pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 rc9: 2.1.1 scule: 1.3.0 semver: 7.6.0 - simple-git: 3.22.0 + simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.13.0) - vite: 5.1.6(@types/node@20.11.28) - vite-plugin-inspect: 0.8.1(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.1.6) - vite-plugin-vue-inspector: 4.0.2(vite@5.1.6) + vite: 5.2.2(@types/node@20.11.28) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.2) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.2) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: + - '@unocss/reset' + - '@vue/composition-api' + - async-validator + - axios - bluebird - bufferutil + - change-case + - drauu + - floating-vue + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode - rollup + - sortablejs - supports-color + - universal-cookie + - unocss - utf-8-validate + - vue dev: false /@nuxt/eslint-config@0.2.0(eslint@8.57.0): @@ -2201,7 +2502,7 @@ packages: - supports-color dev: true - /@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.90.3): + /@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.91.0): resolution: {integrity: sha512-3IZj6MXbzlvUxDncAxgBMLQwGPY/JlNhy2i+AGyOHCAReR5HcBxYjVRBvyaKM9R3s5k4OODYKeHAbrToZH/47w==} engines: {node: '>=14.18.0', npm: '>=5.0.0'} peerDependencies: @@ -2211,7 +2512,7 @@ packages: consola: 3.2.3 error-stack-parser: 2.1.4 string-width: 4.2.3 - webpack: 5.90.3 + webpack: 5.91.0 dev: false /@nuxt/telemetry@2.5.3: @@ -2236,7 +2537,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2250,7 +2551,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.1.6 + vite: 5.2.2 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.21 vue-router: ^4.0.0 @@ -2289,7 +2590,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.0.0 + happy-dom: 14.1.1 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2300,12 +2601,12 @@ packages: radix3: 1.1.1 scule: 1.3.0 std-env: 3.7.0 - ufo: 1.5.2 + ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.0 - vite: 5.1.6(@types/node@20.11.30) - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.0.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vite: 5.2.2(@types/node@20.11.30) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.1.1) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2347,7 +2648,7 @@ packages: remark-rehype: 11.1.0 scule: 1.3.0 shiki: 1.1.6 - ufo: 1.5.2 + ufo: 1.5.3 unified: 11.0.4 unist-builder: 4.0.0 unist-util-visit: 5.0.0 @@ -2754,39 +3055,54 @@ packages: - typescript dev: true - /@sigstore/bundle@2.1.0: - resolution: {integrity: sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==} + /@sigstore/bundle@2.2.0: + resolution: {integrity: sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/protobuf-specs': 0.3.0 dev: false - /@sigstore/protobuf-specs@0.2.1: - resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} + /@sigstore/core@1.0.0: + resolution: {integrity: sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==} + engines: {node: ^16.14.0 || >=18.0.0} + dev: false + + /@sigstore/protobuf-specs@0.3.0: + resolution: {integrity: sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false - /@sigstore/sign@2.1.0: - resolution: {integrity: sha512-4VRpfJxs+8eLqzLVrZngVNExVA/zAhVbi4UT4zmtLi4xRd7vz5qie834OgkrGsLlLB1B2nz/3wUxT1XAUBe8gw==} + /@sigstore/sign@2.2.3: + resolution: {integrity: sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@sigstore/bundle': 2.1.0 - '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 make-fetch-happen: 13.0.0 transitivePeerDependencies: - supports-color dev: false - /@sigstore/tuf@2.2.0: - resolution: {integrity: sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==} + /@sigstore/tuf@2.3.1: + resolution: {integrity: sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@sigstore/protobuf-specs': 0.2.1 - tuf-js: 2.1.0 + '@sigstore/protobuf-specs': 0.3.0 + tuf-js: 2.2.0 transitivePeerDependencies: - supports-color dev: false + /@sigstore/verify@1.1.0: + resolution: {integrity: sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + dev: false + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -3029,12 +3345,16 @@ packages: resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} dev: true + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + dev: false + /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: '@types/node': 20.11.28 tapable: 2.2.1 - webpack: 5.90.3 + webpack: 5.91.0 transitivePeerDependencies: - '@swc/core' - esbuild @@ -3047,7 +3367,7 @@ packages: dependencies: '@types/connect': 3.4.37 tapable: 2.2.1 - webpack: 5.90.3 + webpack: 5.91.0 transitivePeerDependencies: - '@swc/core' - esbuild @@ -3063,10 +3383,11 @@ packages: source-map: 0.7.4 dev: true - /@types/webpack-virtual-modules@0.1.3: - resolution: {integrity: sha512-VO4MxGPvoV0jgj9Lk2Yhy3mLvyncDXh5HKh7TnCyBAiNx45u238T6tBk35qsaaiFsWpWlTqITEbUWg8sfwmIow==} + /@types/webpack-virtual-modules@0.4.2: + resolution: {integrity: sha512-0ff/n3TXx1FysQV/kSpF8bxnCXUf7cw3Mp6WbXq0IfrgFK/MBIZqAQFN7VUkGwRzHZb+9DfLPZ3dOI+/L+m9ww==} + deprecated: This is a stub types definition. webpack-virtual-modules provides its own type definitions, so you do not need this installed. dependencies: - '@types/webpack': 4.41.34 + webpack-virtual-modules: 0.6.1 dev: true /@types/webpack@4.41.34: @@ -3270,6 +3591,220 @@ packages: vue: 3.4.21(typescript@5.4.2) dev: false + /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.2): + resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} + peerDependencies: + vite: 5.2.2 + peerDependenciesMeta: + vite: + optional: true + dependencies: + '@unocss/core': 0.58.6 + '@unocss/reset': 0.58.6 + '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.2) + vite: 5.2.2(@types/node@20.11.28) + transitivePeerDependencies: + - rollup + dev: false + + /@unocss/cli@0.58.6(rollup@4.13.0): + resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@unocss/config': 0.58.6 + '@unocss/core': 0.58.6 + '@unocss/preset-uno': 0.58.6 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.8 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + dev: false + + /@unocss/config@0.58.6: + resolution: {integrity: sha512-YyywfigaEzGkDJ0ztp/tvruD+0xfdCcMZUvaGH4IElAwZDdcSsuaHdR1HW3EixCETOyFHBcuFk6sJwfLPIZLTw==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.58.6 + unconfig: 0.3.11 + dev: false + + /@unocss/core@0.58.6: + resolution: {integrity: sha512-m87iuENM/PLqLKnfE2mJbpfzj7NQ99LP2go0r+x5X4kXKppyGRJNQg6RIW3AqTS22jup1YPgd62UNXvvRtHtww==} + dev: false + + /@unocss/extractor-arbitrary-variants@0.58.6: + resolution: {integrity: sha512-iSrjLEM+dtcpCmJ8myttPZ/0Dg4HKYVYpM71rNTybrX1HB/cfRsGwIHobjsvvRnve+LAxC4Hmdi8EXRd8V1xPg==} + dependencies: + '@unocss/core': 0.58.6 + dev: false + + /@unocss/inspector@0.58.6: + resolution: {integrity: sha512-JCcnIwSofdIdpR/GYTZ78d4dMZP8Z2oF/g9f9MlPG96LLLwqXSmYtR83vC34fUWm1hz7FZyTLK5OqTV7VfUb+w==} + dependencies: + '@unocss/core': 0.58.6 + '@unocss/rule-utils': 0.58.6 + gzip-size: 6.0.0 + sirv: 2.0.4 + dev: false + + /@unocss/postcss@0.58.6(postcss@8.4.37): + resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + dependencies: + '@unocss/config': 0.58.6 + '@unocss/core': 0.58.6 + '@unocss/rule-utils': 0.58.6 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.8 + postcss: 8.4.37 + dev: false + + /@unocss/preset-attributify@0.58.6: + resolution: {integrity: sha512-IW2aIBH0RiYsP50VckgxXhMwjDk/XVZykUUklgko9aT+gNC2xDBm3936RWLVLmHdBHG1Vnnjc71BG6aUAqrtEA==} + dependencies: + '@unocss/core': 0.58.6 + dev: false + + /@unocss/preset-icons@0.58.6: + resolution: {integrity: sha512-20P1ISxEX2J5mhyNkMm0nKp2p0qJfmDArolC10Fjyl+GUTCsojDNFfonzQEkHeIIJwzgRcubdtNaotTgYSKSRg==} + dependencies: + '@iconify/utils': 2.1.22 + '@unocss/core': 0.58.6 + ofetch: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@unocss/preset-mini@0.58.6: + resolution: {integrity: sha512-COaM/04Z6/gawzrFcCwoyD6t0FCpuKRyljKKs3VxitoGxsN9BHKiFE3U/cPSQarpG789rmZg8D/wmLHCChSXvg==} + dependencies: + '@unocss/core': 0.58.6 + '@unocss/extractor-arbitrary-variants': 0.58.6 + '@unocss/rule-utils': 0.58.6 + dev: false + + /@unocss/preset-tagify@0.58.6: + resolution: {integrity: sha512-xhpHMz8KLrFlLXaOCeShu0/yVpe6J8bd2WcOTd5VuU5W1uCsplcaagpfTRkBpaH1tJt/MTTU5e4cQLa20l0JZQ==} + dependencies: + '@unocss/core': 0.58.6 + dev: false + + /@unocss/preset-typography@0.58.6: + resolution: {integrity: sha512-s4SSw3SK/JjAqYlga51XnxzPc7jF+TmkEkW09IkYYLPrmqJ76U4i5Po2N7HzyjpVGWnmIp1fQ5mCvbhj4tNyNQ==} + dependencies: + '@unocss/core': 0.58.6 + '@unocss/preset-mini': 0.58.6 + dev: false + + /@unocss/preset-uno@0.58.6: + resolution: {integrity: sha512-QFbgvxCvTFqKIA/VGcPM+XcfPGDgbmaiXKbnh7hIbkER6TRxjt4DIGapPt150w/kQT+zC/jerWditSdyn+s3xQ==} + dependencies: + '@unocss/core': 0.58.6 + '@unocss/preset-mini': 0.58.6 + '@unocss/preset-wind': 0.58.6 + '@unocss/rule-utils': 0.58.6 + dev: false + + /@unocss/preset-web-fonts@0.58.6: + resolution: {integrity: sha512-W/8102vurABwfnb9QQyp9GBKP80kpy/IADSM7hbqLNaqmgxHASELXkjhqqt+et39Zn2tnXpIHNVWoqG6QNWBwQ==} + dependencies: + '@unocss/core': 0.58.6 + ofetch: 1.3.3 + dev: false + + /@unocss/preset-wind@0.58.6: + resolution: {integrity: sha512-zs41CpFVvLB8CutroUeI1iqxzPsztiur9ei0QjRshxpYerPSsTSgdTkF+eul5D1q3BcsebLebzqtCSqnpFOuOA==} + dependencies: + '@unocss/core': 0.58.6 + '@unocss/preset-mini': 0.58.6 + '@unocss/rule-utils': 0.58.6 + dev: false + + /@unocss/reset@0.58.6: + resolution: {integrity: sha512-mYyOe5QDRHc1BBRff+G97j3SGGC8s3Vk7cCcXc/l48FvPHKtLCphMZaBS+KkGkzWqwAtxv0QRbGhTixJCVDRug==} + dev: false + + /@unocss/rule-utils@0.58.6: + resolution: {integrity: sha512-qbVDeyKzExFY/YeoIbMw/lu8PXEGJzSHrFXRumNHX5lvTu8ggAjH6p9xyvYa/YnuNU0+pFKuYxG8LNK2F8f1EQ==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.58.6 + magic-string: 0.30.8 + dev: false + + /@unocss/scope@0.58.6: + resolution: {integrity: sha512-22BDrZPOkfEKuXY4NROhY+J25TAXN+GIxZpE4IbT1Wh+dkjnMXyC85VKGzOAuY/0v0zbaj12dYkmtndueQ/04w==} + dev: false + + /@unocss/transformer-attributify-jsx-babel@0.58.6: + resolution: {integrity: sha512-IVU/ZozKTFhP9z1I9ZgSKiEx3WfDFDNXbTYTqwNW2SHPmAj5Qf99kn6o7br7Kd1dnxSjKFXOmNfNGkW9AMDraA==} + dependencies: + '@babel/core': 7.24.3 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) + '@unocss/core': 0.58.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@unocss/transformer-attributify-jsx@0.58.6: + resolution: {integrity: sha512-S+mTR5qwMsEaq8nYtqUgYdYIIRAA4oltxfGMYGj3Gxy9V0uteyo56QNp7IOjlYxAB8Dq9jQ8GLYEQe5JlffO1A==} + dependencies: + '@unocss/core': 0.58.6 + dev: false + + /@unocss/transformer-compile-class@0.58.6: + resolution: {integrity: sha512-iung3cPA+IpBHoP6dTs9gkPN/wEVujqMZYxf6FQLjRH+v70rPxqTgaeGDyuQZAYikfDhdUZF8PJ4IUMOxEFsmw==} + dependencies: + '@unocss/core': 0.58.6 + dev: false + + /@unocss/transformer-directives@0.58.6: + resolution: {integrity: sha512-8/+KGRmRnlkAJCRt4VqcYK16SnEr9wf1q7D9OCM2kZhk33Sx5SlsO6vjNZ1IH4c67/WviwNV6+KeS4elnQY8bA==} + dependencies: + '@unocss/core': 0.58.6 + '@unocss/rule-utils': 0.58.6 + css-tree: 2.3.1 + dev: false + + /@unocss/transformer-variant-group@0.58.6: + resolution: {integrity: sha512-6IFmfzketh4j+Mc/ik4nU+Oec0cptNR+aVfZZkGb4wd2h1lH+teAT2Y/Vz2xY8rDExOrbjY5y5FgRGd16LY2Rw==} + dependencies: + '@unocss/core': 0.58.6 + dev: false + + /@unocss/vite@0.58.6(rollup@4.13.0)(vite@5.2.2): + resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} + peerDependencies: + vite: 5.2.2 + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@unocss/config': 0.58.6 + '@unocss/core': 0.58.6 + '@unocss/inspector': 0.58.6 + '@unocss/scope': 0.58.6 + '@unocss/transformer-directives': 0.58.6 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.8 + vite: 5.2.2(@types/node@20.11.28) + transitivePeerDependencies: + - rollup + dev: false + /@vercel/nft@0.26.4: resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} engines: {node: '>=16'} @@ -3291,29 +3826,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.6)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.2)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.1.6 + vite: 5.2.2 vue: 3.4.21 dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) - vite: 5.1.6(@types/node@20.11.30) + vite: 5.2.2(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.1.6)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.2)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.1.6 + vite: 5.2.2 vue: 3.4.21 dependencies: - vite: 5.1.6(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.28) vue: 3.4.21(typescript@5.4.2) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3335,7 +3870,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.0.0) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.1.1) transitivePeerDependencies: - supports-color dev: true @@ -3423,10 +3958,10 @@ packages: '@volar/source-map': 1.11.1 dev: true - /@volar/language-core@2.1.2: - resolution: {integrity: sha512-5qsDp0Gf6fE09UWCeK7bkVn6NxMwC9OqFWQkMMkeej8h8XjyABPdRygC2RCrqDrfVdGijqlMQeXs6yRS+vfZYA==} + /@volar/language-core@2.1.3: + resolution: {integrity: sha512-F93KYZYqcYltG7NihfnLt/omMZOtrQtsh2+wj+cgx3xolopU+TZvmwlZWOjw3ObZGFj3SKBb4jJn6VSfSch6RA==} dependencies: - '@volar/source-map': 2.1.2 + '@volar/source-map': 2.1.3 /@volar/source-map@1.11.1: resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} @@ -3434,15 +3969,15 @@ packages: muggle-string: 0.3.1 dev: true - /@volar/source-map@2.1.2: - resolution: {integrity: sha512-yFJqsuLm1OaWrsz9E3yd3bJcYIlHqdZ8MbmIoZLrAzMYQDcoF26/INIhgziEXSdyHc8xd7rd/tJdSnUyh0gH4Q==} + /@volar/source-map@2.1.3: + resolution: {integrity: sha512-j+R+NG/OlDgdNMttADxNuSM9Z26StT/Bjw0NgSydI05Vihngn9zvaP/xXwfWs5qQrRzbKVFxJebS2ks5m/URuA==} dependencies: muggle-string: 0.4.1 - /@volar/typescript@2.1.2: - resolution: {integrity: sha512-lhTancZqamvaLvoz0u/uth8dpudENNt2LFZOWCw9JZiX14xRFhdhfzmphiCRb7am9E6qAJSbdS/gMt1utXAoHQ==} + /@volar/typescript@2.1.3: + resolution: {integrity: sha512-ZZqLMih4mvu2eJAW3UCFm84OM/ojYMoA/BU/W1TctT5F2nVzNJmW4jxMWmP3wQzxCbATfTa5gLb1+BSI9NBMBg==} dependencies: - '@volar/language-core': 2.1.2 + '@volar/language-core': 2.1.3 path-browserify: 1.0.1 /@vue-macros/common@1.10.1(rollup@4.13.0)(vue@3.4.21): @@ -3512,7 +4047,7 @@ packages: estree-walker: 2.0.2 magic-string: 0.30.8 postcss: 8.4.37 - source-map-js: 1.0.2 + source-map-js: 1.2.0 /@vue/compiler-ssr@3.4.21: resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} @@ -3523,6 +4058,103 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} + /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21): + resolution: {integrity: sha512-q48RtnhFmC0kd4N+3Edfctv6oL2neN6crUapBydSr6szjR87dQJygTEYKlpyx0SHmVLVwq4mcgFuf1ftAKjd/w==} + peerDependencies: + vue: 3.4.21 + dependencies: + '@vue/devtools-core': 7.0.20(vite@5.2.2)(vue@3.4.21) + '@vue/devtools-kit': 7.0.20(vue@3.4.21) + '@vue/devtools-shared': 7.0.20 + '@vue/devtools-ui': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) + perfect-debounce: 1.0.0 + splitpanes: 3.1.5 + vue: 3.4.21(typescript@5.4.2) + vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21) + transitivePeerDependencies: + - '@unocss/reset' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - floating-vue + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - sortablejs + - universal-cookie + - unocss + - vite + dev: false + + /@vue/devtools-core@7.0.20(vite@5.2.2)(vue@3.4.21): + resolution: {integrity: sha512-JefAn0ljTUPtoEJ47PjEfcLQb9BVt3OH1R6aD8qZ7bNYwZH+xystXpVJ3pW+1iDnOXjfpLgc3bsHUZoxlfobpw==} + dependencies: + '@vue/devtools-kit': 7.0.20(vue@3.4.21) + '@vue/devtools-shared': 7.0.20 + mitt: 3.0.1 + nanoid: 3.3.7 + pathe: 1.1.2 + vite-hot-client: 0.2.3(vite@5.2.2) + transitivePeerDependencies: + - vite + - vue + dev: false + + /@vue/devtools-kit@7.0.20(vue@3.4.21): + resolution: {integrity: sha512-FgFuPuqrhQ51rR/sVi52FnGgrxJ3X1bvNra/SkBzPhxJVhfyL5w2YUJZI1FgCvtLAyPSomJNdvlG415ZbJsr6w==} + peerDependencies: + vue: 3.4.21 + dependencies: + '@vue/devtools-shared': 7.0.20 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + vue: 3.4.21(typescript@5.4.2) + dev: false + + /@vue/devtools-shared@7.0.20: + resolution: {integrity: sha512-E6CiCaYr6ZWOCYJgWodXcPCXxB12vgbUA1X1sG0F1tK5Bo5I35GJuTR8LBJLFHV0VpwLWvyrIi9drT1ZbuJxlg==} + dependencies: + rfdc: 1.3.1 + dev: false + + /@vue/devtools-ui@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21): + resolution: {integrity: sha512-0Jy+9l8gQKnEPitOBthib6bZPdf2FipPIpMZPZ90xH4z1nWGN2aHBqOHH3dMpNgnymlkgAR5QDvodj5RcxiUGw==} + peerDependencies: + '@unocss/reset': '>=0.50.0-0' + floating-vue: '>=2.0.0-0' + unocss: '>=0.50.0-0' + vue: 3.4.21 + dependencies: + '@unocss/reset': 0.58.6 + '@vueuse/components': 10.9.0(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) + colord: 2.9.3 + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) + focus-trap: 7.5.4 + unocss: 0.58.6(postcss@8.4.37)(rollup@4.13.0)(vite@5.2.2) + vue: 3.4.21(typescript@5.4.2) + transitivePeerDependencies: + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - sortablejs + - universal-cookie + dev: false + /@vue/language-core@1.8.27(typescript@5.4.2): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: @@ -3543,15 +4175,15 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.6(typescript@5.4.2): - resolution: {integrity: sha512-UzqU12tzf9XLqRO3TiWPwRNpP4fyUzE6MAfOQWQNZ4jy6a30ARRUpmODDKq6O8C4goMc2AlPqTmjOHPjHkilSg==} + /@vue/language-core@2.0.7(typescript@5.4.2): + resolution: {integrity: sha512-Vh1yZX3XmYjn9yYLkjU8DN6L0ceBtEcapqiyclHne8guG84IaTzqtvizZB1Yfxm3h6m7EIvjerLO5fvOZO6IIQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 2.1.2 + '@volar/language-core': 2.1.3 '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 computeds: 0.0.1 @@ -3597,8 +4229,94 @@ packages: vue-component-type-helpers: 2.0.6 dev: true - /@webassemblyjs/ast@1.11.6: - resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + /@vueuse/components@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-BHQpA0yIi3y7zKa1gYD0FUzLLkcRTqVhP8smnvsCK6GFpd94Nziq1XVPD7YpFeho0k5BzbBiNZF7V/DpkJ967A==} + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/core@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21): + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.21) + focus-trap: 7.5.4 + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/metadata@10.9.0: + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + dev: false + + /@vueuse/shared@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + dependencies: + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -3609,8 +4327,8 @@ packages: /@webassemblyjs/helper-api-error@1.11.6: resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - /@webassemblyjs/helper-buffer@1.11.6: - resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} /@webassemblyjs/helper-numbers@1.11.6: resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} @@ -3622,13 +4340,13 @@ packages: /@webassemblyjs/helper-wasm-bytecode@1.11.6: resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - /@webassemblyjs/helper-wasm-section@1.11.6: - resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 /@webassemblyjs/ieee754@1.11.6: resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} @@ -3643,49 +4361,49 @@ packages: /@webassemblyjs/utf8@1.11.6: resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - /@webassemblyjs/wasm-edit@1.11.6: - resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 - '@webassemblyjs/wasm-opt': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 - '@webassemblyjs/wast-printer': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 - /@webassemblyjs/wasm-gen@1.11.6: - resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - /@webassemblyjs/wasm-opt@1.11.6: - resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 - /@webassemblyjs/wasm-parser@1.11.6: - resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-api-error': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - /@webassemblyjs/wast-printer@1.11.6: - resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 /@xtuc/ieee754@1.2.0: @@ -4082,6 +4800,7 @@ packages: /big-integer@1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} engines: {node: '>=0.6'} + dev: true /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -4095,8 +4814,8 @@ packages: dependencies: file-uri-to-path: 1.0.0 - /birpc@0.2.14: - resolution: {integrity: sha512-37FHE8rqsYM5JEKCnXFyHpBCzvgHEExwVVTq+nUmloInU7l8ezD1TpOhKpS8oe1DTYFqEK27rFZVKG43oTqXRA==} + /birpc@0.2.17: + resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} dev: false /boolbase@1.0.0: @@ -4107,6 +4826,7 @@ packages: engines: {node: '>= 5.10.0'} dependencies: big-integer: 1.6.51 + dev: true /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -4162,6 +4882,14 @@ packages: engines: {node: '>=12'} dependencies: run-applescript: 5.0.0 + dev: true + + /bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + dependencies: + run-applescript: 7.0.0 + dev: false /c12@1.10.0: resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} @@ -4589,6 +5317,11 @@ packages: resolution: {integrity: sha512-Hq1+lXVgjJjcS/U+uk6+yVmtxami0r0b+xVtlGyABgdz110l/kOnHWvlSI7nVzrTl8GCdZHwZS4pbBFT7hSL/g==} engines: {node: '>=18.0'} + /cronstrue@2.48.0: + resolution: {integrity: sha512-w+VAWjiBJmKYeeK+i0ur3G47LcKNgFuWwb8LVJTaXSS2ExtQ5zdiIVnuysgB3N457gTaSllme0qTpdsJWK/wIg==} + hasBin: true + dev: false + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -4614,7 +5347,7 @@ packages: postcss: 8.4.37 dev: false - /css-loader@6.10.0(webpack@5.90.3): + /css-loader@6.10.0(webpack@5.91.0): resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -4634,10 +5367,10 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.37) postcss-value-parser: 4.2.0 semver: 7.6.0 - webpack: 5.90.3 + webpack: 5.91.0 dev: false - /css-minimizer-webpack-plugin@6.0.0(webpack@5.90.3): + /css-minimizer-webpack-plugin@6.0.0(webpack@5.91.0): resolution: {integrity: sha512-BLpR9CCDkKvhO3i0oZQgad6v9pCxUuhSc5RT6iUEy9M8hBXi4TJb5vqF2GQ2deqYHmRi3O6IR9hgAZQWg0EBwA==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -4663,12 +5396,12 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.0(postcss@8.4.37) + cssnano: 6.1.1(postcss@8.4.37) jest-worker: 29.7.0 postcss: 8.4.37 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.90.3 + webpack: 5.91.0 dev: false /css-select@5.1.0: @@ -4686,7 +5419,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dependencies: mdn-data: 2.0.28 - source-map-js: 1.1.0 + source-map-js: 1.2.0 dev: false /css-tree@2.3.1: @@ -4694,7 +5427,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: mdn-data: 2.0.30 - source-map-js: 1.1.0 + source-map-js: 1.2.0 dev: false /css-what@6.1.0: @@ -4707,8 +5440,8 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.1.0(postcss@8.4.37): - resolution: {integrity: sha512-4DUXZoDj+PI3fRl3MqMjl9DwLGjcsFP4qt+92nLUcN1RGfw2TY+GwNoG2B38Usu1BrcTs8j9pxNfSusmvtSjfg==} + /cssnano-preset-default@6.1.1(postcss@8.4.37): + resolution: {integrity: sha512-XW/dYN2p8Jdkp1lovFd0UVRh6RB0iMyXJbAE9Qm+taR3p2LGu492AW34lVaukUrXoK9IxK5aK3CUmFpUorU4oA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -4724,12 +5457,12 @@ packages: postcss-discard-duplicates: 6.0.3(postcss@8.4.37) postcss-discard-empty: 6.0.3(postcss@8.4.37) postcss-discard-overridden: 6.0.2(postcss@8.4.37) - postcss-merge-longhand: 6.0.4(postcss@8.4.37) - postcss-merge-rules: 6.1.0(postcss@8.4.37) - postcss-minify-font-values: 6.0.3(postcss@8.4.37) + postcss-merge-longhand: 6.0.5(postcss@8.4.37) + postcss-merge-rules: 6.1.1(postcss@8.4.37) + postcss-minify-font-values: 6.1.0(postcss@8.4.37) postcss-minify-gradients: 6.0.3(postcss@8.4.37) postcss-minify-params: 6.1.0(postcss@8.4.37) - postcss-minify-selectors: 6.0.3(postcss@8.4.37) + postcss-minify-selectors: 6.0.4(postcss@8.4.37) postcss-normalize-charset: 6.0.2(postcss@8.4.37) postcss-normalize-display-values: 6.0.2(postcss@8.4.37) postcss-normalize-positions: 6.0.2(postcss@8.4.37) @@ -4743,7 +5476,7 @@ packages: postcss-reduce-initial: 6.1.0(postcss@8.4.37) postcss-reduce-transforms: 6.0.2(postcss@8.4.37) postcss-svgo: 6.0.3(postcss@8.4.37) - postcss-unique-selectors: 6.0.3(postcss@8.4.37) + postcss-unique-selectors: 6.0.4(postcss@8.4.37) dev: false /cssnano-utils@4.0.2(postcss@8.4.37): @@ -4755,13 +5488,13 @@ packages: postcss: 8.4.37 dev: false - /cssnano@6.1.0(postcss@8.4.37): - resolution: {integrity: sha512-e2v4w/t3OFM6HTuSweI4RSdABaqgVgHlJp5FZrQsopHnKKHLFIvK2D3C4kHWeFIycN/1L1J5VIrg5KlDzn3r/g==} + /cssnano@6.1.1(postcss@8.4.37): + resolution: {integrity: sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.1.0(postcss@8.4.37) + cssnano-preset-default: 6.1.1(postcss@8.4.37) lilconfig: 3.1.1 postcss: 8.4.37 dev: false @@ -4888,6 +5621,12 @@ packages: dependencies: bplist-parser: 0.2.0 untildify: 4.0.0 + dev: true + + /default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + dev: false /default-browser@4.0.0: resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} @@ -4897,6 +5636,15 @@ packages: default-browser-id: 3.0.0 execa: 7.2.0 titleize: 3.0.0 + dev: true + + /default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + dev: false /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} @@ -4976,8 +5724,8 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + /diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} dev: false @@ -5114,6 +5862,14 @@ packages: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 + dev: false + + /enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} @@ -5246,7 +6002,7 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-loader@4.1.0(webpack@5.90.3): + /esbuild-loader@4.1.0(webpack@5.91.0): resolution: {integrity: sha512-543TtIvqbqouEMlOHg4xKoDQkmdImlwIpyAIgpUtDPvMuklU/c2k+Qt2O3VeDBgAwozxmlEbjOzV+F8CZ0g+Bw==} peerDependencies: webpack: ^4.40.0 || ^5.0.0 @@ -5254,7 +6010,7 @@ packages: esbuild: 0.20.2 get-tsconfig: 4.7.2 loader-utils: 2.0.4 - webpack: 5.90.3 + webpack: 5.91.0 webpack-sources: 1.4.3 /esbuild@0.18.20: @@ -5316,6 +6072,7 @@ packages: '@esbuild/win32-arm64': 0.19.11 '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 + dev: true /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} @@ -5747,7 +6504,7 @@ packages: enhanced-resolve: 5.15.0 mlly: 1.6.1 pathe: 1.1.2 - ufo: 1.5.2 + ufo: 1.5.3 dev: false /fake-indexeddb@5.0.2: @@ -5795,7 +6552,7 @@ packages: dependencies: flat-cache: 3.1.1 - /file-loader@6.2.0(webpack@5.90.3): + /file-loader@6.2.0(webpack@5.91.0): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -5803,7 +6560,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.90.3 + webpack: 5.91.0 dev: false /file-uri-to-path@1.0.0: @@ -5851,6 +6608,10 @@ packages: /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: false + /floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21): resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: @@ -5864,7 +6625,12 @@ packages: '@nuxt/kit': link:packages/kit vue: 3.4.21(typescript@5.4.2) vue-resize: 2.0.0-alpha.1(vue@3.4.21) - dev: true + + /focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + dependencies: + tabbable: 6.2.0 + dev: false /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -5879,7 +6645,7 @@ packages: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.2)(webpack@5.90.3): + /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.2)(webpack@5.91.0): resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -5899,7 +6665,7 @@ packages: semver: 7.6.0 tapable: 2.2.1 typescript: 5.4.2 - webpack: 5.90.3 + webpack: 5.91.0 dev: false /fraction.js@4.3.7: @@ -6220,14 +6986,14 @@ packages: iron-webcrypto: 1.0.0 ohash: 1.1.3 radix3: 1.1.1 - ufo: 1.5.2 + ufo: 1.5.3 uncrypto: 0.1.3 unenv: 1.9.0 transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.0.0: - resolution: {integrity: sha512-XdxaqufN4QZs0WFuo7L4vGkKpj08gmpEpSMFxDtvYo4OipZLssz7VlavE03FuLabHBTJAWxcR6MlKyOQZM9e0w==} + /happy-dom@14.1.1: + resolution: {integrity: sha512-ZgXZ8lK4kw9wT5B0E7h32fMPIaID3q4WaTzgil6laHSpjZ+f0axNouYyl2g+rgsfa3TSa8cBsYii87eB4FD4dA==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -7118,7 +7884,7 @@ packages: node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 - ufo: 1.5.2 + ufo: 1.5.3 untun: 0.1.3 uqr: 0.1.2 transitivePeerDependencies: @@ -7246,7 +8012,7 @@ packages: dependencies: '@babel/parser': 7.23.9 '@babel/types': 7.23.9 - source-map-js: 1.1.0 + source-map-js: 1.2.0 /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} @@ -7829,7 +8595,7 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.8.1(webpack@5.90.3): + /mini-css-extract-plugin@2.8.1(webpack@5.91.0): resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -7837,7 +8603,7 @@ packages: dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.90.3 + webpack: 5.91.0 dev: false /minimatch@3.0.8: @@ -7940,6 +8706,14 @@ packages: minipass: 3.3.6 yallist: 4.0.0 + /mitt@2.1.0: + resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} + dev: false + + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: false + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -7975,7 +8749,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.5.2 + ufo: 1.5.3 /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -8093,7 +8867,7 @@ packages: serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 - ufo: 1.5.2 + ufo: 1.5.3 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 @@ -8361,7 +9135,7 @@ packages: consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 - ufo: 1.5.2 + ufo: 1.5.3 /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -8426,7 +9200,7 @@ packages: dependencies: destr: 2.0.3 node-fetch-native: 1.6.2 - ufo: 1.5.2 + ufo: 1.5.3 /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} @@ -8454,6 +9228,16 @@ packages: dependencies: mimic-fn: 4.0.0 + /open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + dev: false + /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -8470,6 +9254,7 @@ packages: define-lazy-prop: 3.0.0 is-inside-container: 1.0.0 is-wsl: 2.2.0 + dev: true /openapi-typescript@6.7.5: resolution: {integrity: sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA==} @@ -8543,8 +9328,8 @@ packages: engines: {node: '>=6'} dev: true - /pacote@17.0.5: - resolution: {integrity: sha512-TAE0m20zSDMnchPja9vtQjri19X3pZIyRpm2TJVeI+yU42leJBBDTRYhOcWFsPhaMxf+3iwQkFiKz16G9AEeeA==} + /pacote@17.0.6: + resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: @@ -8563,7 +9348,7 @@ packages: promise-retry: 2.0.1 read-package-json: 7.0.0 read-package-json-fast: 3.0.2 - sigstore: 2.1.0 + sigstore: 2.2.2 ssri: 10.0.5 tar: 6.2.0 transitivePeerDependencies: @@ -8797,7 +9582,7 @@ packages: resolve: 1.22.8 dev: false - /postcss-loader@8.1.1(postcss@8.4.37)(typescript@5.4.2)(webpack@5.90.3): + /postcss-loader@8.1.1(postcss@8.4.37)(typescript@5.4.2)(webpack@5.91.0): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -8814,24 +9599,24 @@ packages: jiti: 1.21.0 postcss: 8.4.37 semver: 7.6.0 - webpack: 5.90.3 + webpack: 5.91.0 transitivePeerDependencies: - typescript dev: false - /postcss-merge-longhand@6.0.4(postcss@8.4.37): - resolution: {integrity: sha512-vAfWGcxUUGlFiPM3nDMZA+/Yo9sbpc3JNkcYZez8FfJDv41Dh7tAgA3QGVTocaHCZZL6aXPXPOaBMJsjujodsA==} + /postcss-merge-longhand@6.0.5(postcss@8.4.37): + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: postcss: 8.4.37 postcss-value-parser: 4.2.0 - stylehacks: 6.1.0(postcss@8.4.37) + stylehacks: 6.1.1(postcss@8.4.37) dev: false - /postcss-merge-rules@6.1.0(postcss@8.4.37): - resolution: {integrity: sha512-lER+W3Gr6XOvxOYk1Vi/6UsAgKMg6MDBthmvbNqi2XxAk/r9XfhdYZSigfWjuWWn3zYw2wLelvtM8XuAEFqRkA==} + /postcss-merge-rules@6.1.1(postcss@8.4.37): + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8840,11 +9625,11 @@ packages: caniuse-api: 3.0.0 cssnano-utils: 4.0.2(postcss@8.4.37) postcss: 8.4.37 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 dev: false - /postcss-minify-font-values@6.0.3(postcss@8.4.37): - resolution: {integrity: sha512-SmAeTA1We5rMnN3F8X9YBNo9bj9xB4KyDHnaNJnBfQIPi+60fNiR9OTRnIaMqkYzAQX0vObIw4Pn0vuKEOettg==} + /postcss-minify-font-values@6.1.0(postcss@8.4.37): + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -8877,14 +9662,14 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@6.0.3(postcss@8.4.37): - resolution: {integrity: sha512-IcV7ZQJcaXyhx4UBpWZMsinGs2NmiUC60rJSkyvjPCPqhNjVGsrJUM+QhAtCaikZ0w0/AbZuH4wVvF/YMuMhvA==} + /postcss-minify-selectors@6.0.4(postcss@8.4.37): + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: postcss: 8.4.37 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 dev: false /postcss-modules-extract-imports@3.0.0(postcss@8.4.37): @@ -9057,6 +9842,14 @@ packages: cssesc: 3.0.0 util-deprecate: 1.0.2 + /postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: false + /postcss-svgo@6.0.3(postcss@8.4.37): resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} engines: {node: ^14 || ^16 || >= 18} @@ -9068,14 +9861,14 @@ packages: svgo: 3.2.0 dev: false - /postcss-unique-selectors@6.0.3(postcss@8.4.37): - resolution: {integrity: sha512-NFXbYr8qdmCr/AFceaEfdcsKGCvWTeGO6QVC9h2GvtWgj0/0dklKQcaMMVzs6tr8bY+ase8hOtHW8OBTTRvS8A==} + /postcss-unique-selectors@6.0.4(postcss@8.4.37): + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: postcss: 8.4.37 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 dev: false /postcss-url@10.1.3(postcss@8.4.37): @@ -9095,14 +9888,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: false - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - /postcss@8.4.37: resolution: {integrity: sha512-7iB/v/r7Woof0glKLH8b1SPHrsX7uhdO+Geb41QpF/+mWZHU3uxxSlN+UXGVit1PawOYDToO+AbZzhBzWRDwbQ==} engines: {node: ^10 || ^12 || >=14} @@ -9623,6 +10408,10 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -9694,6 +10483,12 @@ packages: engines: {node: '>=12'} dependencies: execa: 5.1.1 + dev: true + + /run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + dev: false /run-con@1.3.2: resolution: {integrity: sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==} @@ -9898,20 +10693,22 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - /sigstore@2.1.0: - resolution: {integrity: sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==} + /sigstore@2.2.2: + resolution: {integrity: sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@sigstore/bundle': 2.1.0 - '@sigstore/protobuf-specs': 0.2.1 - '@sigstore/sign': 2.1.0 - '@sigstore/tuf': 2.2.0 + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + '@sigstore/sign': 2.2.3 + '@sigstore/tuf': 2.3.1 + '@sigstore/verify': 1.1.0 transitivePeerDependencies: - supports-color dev: false - /simple-git@3.22.0: - resolution: {integrity: sha512-6JujwSs0ac82jkGjMHiCnTifvf1crOiY/+tfs/Pqih6iow7VrpNKRRNdWm6RtaXpvvv/JGNYhlUtLhGFqHF+Yw==} + /simple-git@3.23.0: + resolution: {integrity: sha512-P9ggTW8vb/21CAL/AmnACAhqBDfnqSSZVpV7WuFtsFR9HLunf5IqQvk+OXAQTfkcZep8pKnt3DV3o7w3TegEkQ==} dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 @@ -9998,10 +10795,6 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map-js@1.1.0: - resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} - engines: {node: '>=0.10.0'} - /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -10049,6 +10842,15 @@ packages: /spdx-license-ids@3.0.16: resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: false + + /splitpanes@3.1.5: + resolution: {integrity: sha512-r3Mq2ITFQ5a2VXLOy4/Sb2Ptp7OfEO8YIbhVJqJXoFc9hc5nTXXkCvtVDjIGbvC0vdE7tse+xTM9BMjsszP6bw==} + dev: false + /ssri@10.0.5: resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -10191,15 +10993,15 @@ packages: dependencies: js-tokens: 8.0.2 - /stylehacks@6.1.0(postcss@8.4.37): - resolution: {integrity: sha512-ETErsPFgwlfYZ/CSjMO2Ddf+TsnkCVPBPaoB99Ro8WMAxf7cglzmFsRBhRmKObFjibtcvlNxFFPHuyr3sNlNUQ==} + /stylehacks@6.1.1(postcss@8.4.37): + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 postcss: 8.4.37 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 dev: false /supports-color@5.5.0: @@ -10249,6 +11051,10 @@ packages: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: false + /tapable@1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} @@ -10276,7 +11082,7 @@ packages: mkdirp: 1.0.4 yallist: 4.0.0 - /terser-webpack-plugin@5.3.10(webpack@5.90.3): + /terser-webpack-plugin@5.3.10(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10297,7 +11103,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.27.0 - webpack: 5.90.3 + webpack: 5.91.0 /terser@5.27.0: resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} @@ -10321,12 +11127,12 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - /time-fix-plugin@2.0.7(webpack@5.90.3): + /time-fix-plugin@2.0.7(webpack@5.91.0): resolution: {integrity: sha512-uVFet1LQToeUX0rTcSiYVYVoGuBpc8gP/2jnlUzuHMHe+gux6XLsNzxLUweabMwiUj5ejhoIMsUI55nVSEa/Vw==} peerDependencies: webpack: '>=4.0.0' dependencies: - webpack: 5.90.3 + webpack: 5.91.0 dev: false /tiny-invariant@1.3.1: @@ -10350,6 +11156,7 @@ packages: /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} + dev: true /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -10406,8 +11213,8 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tuf-js@2.1.0: - resolution: {integrity: sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==} + /tuf-js@2.2.0: + resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@tufjs/models': 2.0.0 @@ -10531,8 +11338,8 @@ packages: resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==} dev: true - /ufo@1.5.2: - resolution: {integrity: sha512-eiutMaL0J2MKdhcOM1tUy13pIrYnyR87fEd8STJQFrrAwImwvlXkxlZEjaKah8r2viPohld08lt73QfLG1NxMg==} + /ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} /ultrahtml@1.5.3: resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} @@ -10586,6 +11393,15 @@ packages: - supports-color dev: true + /unconfig@0.3.11: + resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} + dependencies: + '@antfu/utils': 0.7.7 + defu: 6.1.4 + jiti: 1.21.0 + mlly: 1.6.1 + dev: false + /uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -10721,6 +11537,45 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} + /unocss@0.58.6(postcss@8.4.37)(rollup@4.13.0)(vite@5.2.2): + resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.58.6 + vite: 5.2.2 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + dependencies: + '@unocss/astro': 0.58.6(rollup@4.13.0)(vite@5.2.2) + '@unocss/cli': 0.58.6(rollup@4.13.0) + '@unocss/core': 0.58.6 + '@unocss/extractor-arbitrary-variants': 0.58.6 + '@unocss/postcss': 0.58.6(postcss@8.4.37) + '@unocss/preset-attributify': 0.58.6 + '@unocss/preset-icons': 0.58.6 + '@unocss/preset-mini': 0.58.6 + '@unocss/preset-tagify': 0.58.6 + '@unocss/preset-typography': 0.58.6 + '@unocss/preset-uno': 0.58.6 + '@unocss/preset-web-fonts': 0.58.6 + '@unocss/preset-wind': 0.58.6 + '@unocss/reset': 0.58.6 + '@unocss/transformer-attributify-jsx': 0.58.6 + '@unocss/transformer-attributify-jsx-babel': 0.58.6 + '@unocss/transformer-compile-class': 0.58.6 + '@unocss/transformer-directives': 0.58.6 + '@unocss/transformer-variant-group': 0.58.6 + '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.2) + vite: 5.2.2(@types/node@20.11.28) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + dev: false + /unplugin-vue-router@0.7.0(rollup@4.13.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: @@ -10811,13 +11666,14 @@ packages: mri: 1.2.0 node-fetch-native: 1.6.2 ofetch: 1.3.3 - ufo: 1.5.2 + ufo: 1.5.3 transitivePeerDependencies: - uWebSockets.js /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} + dev: true /untun@0.1.3: resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} @@ -10869,7 +11725,7 @@ packages: dependencies: punycode: 2.3.0 - /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.90.3): + /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.91.0): resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10879,11 +11735,11 @@ packages: file-loader: optional: true dependencies: - file-loader: 6.2.0(webpack@5.90.3) + file-loader: 6.2.0(webpack@5.91.0) loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.90.3 + webpack: 5.91.0 dev: false /urlpattern-polyfill@8.0.2: @@ -10936,6 +11792,14 @@ packages: vfile-message: 4.0.2 dev: true + /vite-hot-client@0.2.3(vite@5.2.2): + resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} + peerDependencies: + vite: 5.2.2 + dependencies: + vite: 5.2.2(@types/node@20.11.28) + dev: false + /vite-node@1.0.2(@types/node@20.11.30): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -10945,7 +11809,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.30) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -10966,7 +11830,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.28) transitivePeerDependencies: - '@types/node' - less @@ -10987,7 +11851,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.30) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -10998,7 +11862,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6)(vue-tsc@2.0.6): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.2.2)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11007,7 +11871,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.1.6 + vite: 5.2.2 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -11042,20 +11906,20 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.2 - vite: 5.1.6(@types/node@20.11.30) + vite: 5.2.2(@types/node@20.11.30) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.6(typescript@5.4.2) + vue-tsc: 2.0.7(typescript@5.4.2) dev: false - /vite-plugin-inspect@0.8.1(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.1.6): - resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==} + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.2): + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.1.6 + vite: 5.2.2 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -11066,19 +11930,20 @@ packages: debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 - open: 9.1.0 + open: 10.1.0 + perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.6(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.28) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.1.6): + /vite-plugin-vue-inspector@4.0.2(vite@5.2.2): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.1.6 + vite: 5.2.2 dependencies: '@babel/core': 7.23.9 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.23.9) @@ -11089,13 +11954,13 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.1.6(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.28) transitivePeerDependencies: - supports-color dev: false - /vite@5.1.6(@types/node@20.11.28): - resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} + /vite@5.2.2(@types/node@20.11.28): + resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11123,14 +11988,14 @@ packages: optional: true dependencies: '@types/node': 20.11.28 - esbuild: 0.19.11 + esbuild: 0.20.2 postcss: 8.4.37 rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 - /vite@5.1.6(@types/node@20.11.30): - resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} + /vite@5.2.2(@types/node@20.11.30): + resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11158,16 +12023,16 @@ packages: optional: true dependencies: '@types/node': 20.11.30 - esbuild: 0.19.11 - postcss: 8.4.35 + esbuild: 0.20.2 + postcss: 8.4.37 rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.0.0)(playwright-core@1.42.1)(vite@5.1.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11185,7 +12050,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.0.0): + /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.1.1): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11221,7 +12086,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.0.0 + happy-dom: 14.1.1 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11230,7 +12095,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.30) + vite: 5.2.2(@types/node@20.11.30) vite-node: 1.0.2(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11243,7 +12108,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.28)(happy-dom@14.0.0): + /vitest@1.4.0(@types/node@20.11.28)(happy-dom@14.1.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11278,7 +12143,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.0.0 + happy-dom: 14.1.1 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11287,7 +12152,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.28) vite-node: 1.4.0(@types/node@20.11.28) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11300,7 +12165,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.0.0): + /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.1.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11335,7 +12200,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.0.0 + happy-dom: 14.1.1 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11344,7 +12209,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.30) + vite: 5.2.2(@types/node@20.11.30) vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11405,12 +12270,27 @@ packages: /vue-bundle-renderer@2.0.0: resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} dependencies: - ufo: 1.5.2 + ufo: 1.5.3 /vue-component-type-helpers@2.0.6: resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} dev: true + /vue-demi@0.14.7(vue@3.4.21): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: 3.4.21 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.21(typescript@5.4.2) + dev: false + /vue-devtools-stub@0.1.0: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} dev: false @@ -11433,7 +12313,7 @@ packages: - supports-color dev: true - /vue-loader@17.4.2(vue@3.4.21)(webpack@5.90.3): + /vue-loader@17.4.2(vue@3.4.21)(webpack@5.91.0): resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} peerDependencies: '@vue/compiler-sfc': '*' @@ -11449,7 +12329,15 @@ packages: hash-sum: 2.0.0 vue: 3.4.21(typescript@5.4.2) watchpack: 2.4.0 - webpack: 5.90.3 + webpack: 5.91.0 + + /vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21): + resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} + peerDependencies: + vue: 3.4.21 + dependencies: + vue: 3.4.21(typescript@5.4.2) + dev: false /vue-resize@2.0.0-alpha.1(vue@3.4.21): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} @@ -11457,7 +12345,6 @@ packages: vue: 3.4.21 dependencies: vue: 3.4.21(typescript@5.4.2) - dev: true /vue-router@4.3.0(vue@3.4.21): resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} @@ -11473,17 +12360,28 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.6(typescript@5.4.2): - resolution: {integrity: sha512-kK50W4XqQL34vHRkxlRWLicrT6+F9xfgCgJ4KSmCHcytKzc1u3c94XXgI+CjmhOSxyw0krpExF7Obo7y4+0dVQ==} + /vue-tsc@2.0.7(typescript@5.4.2): + resolution: {integrity: sha512-LYa0nInkfcDBB7y8jQ9FQ4riJTRNTdh98zK/hzt4gEpBZQmf30dPhP+odzCa+cedGz6B/guvJEd0BavZaRptjg==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 2.1.2 - '@vue/language-core': 2.0.6(typescript@5.4.2) + '@volar/typescript': 2.1.3 + '@vue/language-core': 2.0.7(typescript@5.4.2) semver: 7.6.0 typescript: 5.4.2 + /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21): + resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} + peerDependencies: + vue: 3.4.21 + dependencies: + mitt: 2.1.0 + vue: 3.4.21(typescript@5.4.2) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21) + vue-resize: 2.0.0-alpha.1(vue@3.4.21) + dev: false + /vue@3.4.21(typescript@5.4.2): resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: @@ -11506,6 +12404,13 @@ packages: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 + /watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + /web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: true @@ -11541,7 +12446,7 @@ packages: - utf-8-validate dev: false - /webpack-dev-middleware@7.1.0(webpack@5.90.3): + /webpack-dev-middleware@7.1.0(webpack@5.91.0): resolution: {integrity: sha512-+RYhGOyviHkKdMi1aaT8WZBQW033YgyBgtQHF2kMWo3mYA9z7W2AjsyY/DIzvp2Bhzys4UgHXFsIyTiL5qRBVw==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -11556,7 +12461,7 @@ packages: on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.90.3 + webpack: 5.91.0 /webpack-hot-middleware@2.26.1: resolution: {integrity: sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==} @@ -11579,8 +12484,8 @@ packages: /webpack-virtual-modules@0.6.1: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} - /webpack@5.90.3: - resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} + /webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -11591,14 +12496,14 @@ packages: dependencies: '@types/eslint-scope': 3.7.6 '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/wasm-edit': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.16.0 es-module-lexer: 1.3.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -11610,15 +12515,15 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.90.3) - watchpack: 2.4.0 + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - /webpackbar@6.0.1(webpack@5.90.3): + /webpackbar@6.0.1(webpack@5.91.0): resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} engines: {node: '>=14.21.3'} peerDependencies: @@ -11631,7 +12536,7 @@ packages: markdown-table: 2.0.0 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.90.3 + webpack: 5.91.0 wrap-ansi: 7.0.0 dev: false From c119a4d3159b6a94e00bf27b72d6b12416920b1c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Mar 2024 18:11:28 +0000 Subject: [PATCH 347/470] chore(deps): update dependency nuxi to v3.11.1 (main) (#26404) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 32 +++++++++++++++----------------- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 4810bc6ad9..7263d53df1 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", - "nuxi": "3.11.0", + "nuxi": "3.11.1", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", "ofetch": "1.3.3", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index d567e9be6d..05233c710d 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -90,7 +90,7 @@ "magic-string": "^0.30.8", "mlly": "^1.6.1", "nitropack": "^2.9.4", - "nuxi": "^3.11.0", + "nuxi": "^3.11.1", "nypm": "^0.3.8", "ofetch": "^1.3.3", "ohash": "^1.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9c5adb7e8..710f7fbfbd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,8 +104,8 @@ importers: specifier: 2.9.4 version: 2.9.4 nuxi: - specifier: 3.11.0 - version: 3.11.0 + specifier: 3.11.1 + version: 3.11.1 nuxt: specifier: workspace:* version: link:packages/nuxt @@ -336,8 +336,8 @@ importers: specifier: ^2.9.4 version: 2.9.4 nuxi: - specifier: ^3.11.0 - version: 3.11.0 + specifier: ^3.11.1 + version: 3.11.1 nypm: specifier: ^0.3.8 version: 0.3.8 @@ -958,7 +958,6 @@ packages: dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 - dev: false /@babel/compat-data@7.23.5: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} @@ -990,7 +989,7 @@ packages: resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.1 + '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 @@ -1241,7 +1240,6 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 - dev: false /@babel/parser@7.23.9: resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} @@ -1405,7 +1403,7 @@ packages: resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 '@babel/parser': 7.23.9 '@babel/types': 7.23.9 @@ -1422,7 +1420,7 @@ packages: resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 '@babel/generator': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 @@ -4784,7 +4782,7 @@ packages: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 dev: false /bail@2.0.2: @@ -5243,8 +5241,8 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 dev: false /convert-gitmoji@0.1.3: @@ -9094,8 +9092,8 @@ packages: dependencies: boolbase: 1.0.0 - /nuxi@3.11.0: - resolution: {integrity: sha512-0LHrUNvQ2E+izHllvoGPPfgWkKkD7bxVjUekWeO7FjKLo83N4oumZdK78Qiau/HOh6CW3Y9mcc7kkJd4IPh5uw==} + /nuxi@3.11.1: + resolution: {integrity: sha512-AW71TpxRHNg8MplQVju9tEFvXPvX42e0wPYknutSStDuAjV99vWTWYed4jxr/grk2FtKAuv2KvdJxcn2W59qyg==} engines: {node: ^16.10.0 || >=18.0.0} hasBin: true optionalDependencies: @@ -10437,7 +10435,7 @@ packages: rollup: 4.13.0 typescript: 5.4.2 optionalDependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 dev: true /rollup-plugin-visualizer@5.12.0(rollup@4.13.0): @@ -12622,8 +12620,8 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: false From b0253a9d835535ff0b941231a7c9574200c12c45 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Mar 2024 18:11:39 +0000 Subject: [PATCH 348/470] chore(deps): update actions/dependency-review-action action to v4.2.3 (main) (#26408) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/dependency-review.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 4537173ac3..8723dc6692 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -19,4 +19,4 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: 'Dependency Review' - uses: actions/dependency-review-action@9129d7d40b8c12c1ed0f60400d00c92d437adcce # v4.1.3 + uses: actions/dependency-review-action@0fa40c3c10055986a88de3baa0d6ec17c5a894b3 # v4.2.3 From f344d39dab4e84c2779cfb845b5f4d2fbee520a8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Mar 2024 09:38:34 +0000 Subject: [PATCH 349/470] chore(deps): update all non-major dependencies (main) (#26413) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 4 +- packages/webpack/package.json | 6 +- pnpm-lock.yaml | 762 ++++++++++++++++++---------------- 5 files changed, 407 insertions(+), 371 deletions(-) diff --git a/package.json b/package.json index 7263d53df1..d7517e50d1 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.1.1", + "happy-dom": "14.2.0", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", @@ -81,7 +81,7 @@ "rimraf": "5.0.5", "semver": "7.6.0", "std-env": "3.7.0", - "typescript": "5.4.2", + "typescript": "5.4.3", "ufo": "1.5.3", "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 05233c710d..3b328f8b00 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -60,7 +60,7 @@ }, "dependencies": { "@nuxt/devalue": "^2.0.2", - "@nuxt/devtools": "^1.1.0", + "@nuxt/devtools": "^1.1.1", "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.3", diff --git a/packages/vite/package.json b/packages/vite/package.json index d174c03525..ad4598108b 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -36,7 +36,7 @@ "@rollup/plugin-replace": "^5.0.5", "@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue-jsx": "^3.1.0", - "autoprefixer": "^10.4.18", + "autoprefixer": "^10.4.19", "clear": "^0.1.0", "consola": "^3.2.3", "cssnano": "^6.1.1", @@ -55,7 +55,7 @@ "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "postcss": "^8.4.37", + "postcss": "^8.4.38", "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 2e8c3f7bc7..9b266b44ff 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -27,7 +27,7 @@ "dependencies": { "@nuxt/friendly-errors-webpack-plugin": "^2.6.0", "@nuxt/kit": "workspace:*", - "autoprefixer": "^10.4.18", + "autoprefixer": "^10.4.19", "css-loader": "^6.10.0", "css-minimizer-webpack-plugin": "^6.0.0", "cssnano": "^6.1.1", @@ -48,8 +48,8 @@ "ohash": "^1.1.3", "pathe": "^1.1.2", "pify": "^6.1.0", - "postcss": "^8.4.37", - "postcss-import": "^16.0.1", + "postcss": "^8.4.38", + "postcss-import": "^16.1.0", "postcss-import-resolver": "^2.0.0", "postcss-loader": "^8.1.1", "postcss-url": "^10.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 710f7fbfbd..3d81eaf8a8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.1.1 - version: 14.1.1 + specifier: 14.2.0 + version: 14.2.0 jiti: specifier: 1.21.0 version: 1.21.0 @@ -131,26 +131,26 @@ importers: specifier: 3.7.0 version: 3.7.0 typescript: - specifier: 5.4.2 - version: 5.4.2 + specifier: 5.4.3 + version: 5.4.3 ufo: specifier: 1.5.3 version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.1.1) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) vue-router: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) vue-tsc: specifier: 2.0.7 - version: 2.0.7(typescript@5.4.2) + version: 2.0.7(typescript@5.4.3) packages/kit: dependencies: @@ -226,13 +226,13 @@ importers: version: 2.9.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.2) + version: 2.0.0(typescript@5.4.3) vite: specifier: 5.2.2 version: 5.2.2(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.1.1) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) webpack: specifier: 5.91.0 version: 5.91.0 @@ -243,8 +243,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 '@nuxt/devtools': - specifier: ^1.1.0 - version: 1.1.0(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) + specifier: ^1.1.1 + version: 1.1.1(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -400,7 +400,7 @@ importers: version: 1.4.2 vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -425,13 +425,13 @@ importers: version: 5.0.4(vite@5.2.2)(vue@3.4.21) unbuild: specifier: latest - version: 2.0.0(typescript@5.4.2) + version: 2.0.0(typescript@5.4.3) vite: specifier: 5.2.2 version: 5.2.2(@types/node@20.11.28) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@14.1.1) + version: 1.4.0(@types/node@20.11.28)(happy-dom@14.2.0) packages/schema: dependencies: @@ -495,7 +495,7 @@ importers: version: 3.4.21 '@vue/language-core': specifier: 2.0.7 - version: 2.0.7(typescript@5.4.2) + version: 2.0.7(typescript@5.4.3) c12: specifier: 1.10.0 version: 1.10.0 @@ -516,7 +516,7 @@ importers: version: 1.3.3 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.2) + version: 2.0.0(typescript@5.4.3) unctx: specifier: 2.3.1 version: 2.3.1 @@ -528,7 +528,7 @@ importers: version: 5.2.2(@types/node@20.11.30) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) vue-bundle-renderer: specifier: 2.0.0 version: 2.0.0 @@ -560,8 +560,8 @@ importers: specifier: ^3.1.0 version: 3.1.0(vite@5.2.2)(vue@3.4.21) autoprefixer: - specifier: ^10.4.18 - version: 10.4.18(postcss@8.4.37) + specifier: ^10.4.19 + version: 10.4.19(postcss@8.4.38) clear: specifier: ^0.1.0 version: 0.1.0 @@ -570,7 +570,7 @@ importers: version: 3.2.3 cssnano: specifier: ^6.1.1 - version: 6.1.1(postcss@8.4.37) + version: 6.1.1(postcss@8.4.38) defu: specifier: ^6.1.4 version: 6.1.4 @@ -617,8 +617,8 @@ importers: specifier: ^1.0.3 version: 1.0.3 postcss: - specifier: ^8.4.37 - version: 8.4.37 + specifier: ^8.4.38 + version: 8.4.38 rollup-plugin-visualizer: specifier: ^5.12.0 version: 5.12.0(rollup@4.13.0) @@ -645,7 +645,7 @@ importers: version: 1.4.0(@types/node@20.11.30) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.2.2)(vue-tsc@2.0.7) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.2)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -664,10 +664,10 @@ importers: version: 11.0.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.2) + version: 2.0.0(typescript@5.4.3) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) packages/webpack: dependencies: @@ -678,8 +678,8 @@ importers: specifier: workspace:* version: link:../kit autoprefixer: - specifier: ^10.4.18 - version: 10.4.18(postcss@8.4.37) + specifier: ^10.4.19 + version: 10.4.19(postcss@8.4.38) css-loader: specifier: ^6.10.0 version: 6.10.0(webpack@5.91.0) @@ -688,7 +688,7 @@ importers: version: 6.0.0(webpack@5.91.0) cssnano: specifier: ^6.1.1 - version: 6.1.1(postcss@8.4.37) + version: 6.1.1(postcss@8.4.38) defu: specifier: ^6.1.4 version: 6.1.4 @@ -706,7 +706,7 @@ importers: version: 6.2.0(webpack@5.91.0) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.4.2)(webpack@5.91.0) + version: 9.0.2(typescript@5.4.3)(webpack@5.91.0) fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -741,20 +741,20 @@ importers: specifier: ^6.1.0 version: 6.1.0 postcss: - specifier: ^8.4.37 - version: 8.4.37 + specifier: ^8.4.38 + version: 8.4.38 postcss-import: - specifier: ^16.0.1 - version: 16.0.1(postcss@8.4.37) + specifier: ^16.1.0 + version: 16.1.0(postcss@8.4.38) postcss-import-resolver: specifier: ^2.0.0 version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.37)(typescript@5.4.2)(webpack@5.91.0) + version: 8.1.1(postcss@8.4.38)(typescript@5.4.3)(webpack@5.91.0) postcss-url: specifier: ^10.1.3 - version: 10.1.3(postcss@8.4.37) + version: 10.1.3(postcss@8.4.38) pug-plain-loader: specifier: ^1.1.0 version: 1.1.0(pug@3.0.2) @@ -824,10 +824,10 @@ importers: version: 0.4.2 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.2) + version: 2.0.0(typescript@5.4.3) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) playground: dependencies: @@ -836,7 +836,7 @@ importers: version: link:../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) test/fixtures/basic: dependencies: @@ -855,7 +855,7 @@ importers: version: 1.10.0 vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) test/fixtures/basic-types: dependencies: @@ -868,10 +868,10 @@ importers: version: 1.3.3 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.30)(happy-dom@14.1.1) + version: 1.0.2(@types/node@20.11.30)(happy-dom@14.2.0) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) vue-router: specifier: latest version: 4.3.0(vue@3.4.21) @@ -883,7 +883,7 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) test/fixtures/minimal-types: dependencies: @@ -892,7 +892,7 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) test/fixtures/runtime-compiler: dependencies: @@ -923,7 +923,7 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 /@ampproject/remapping@2.3.0: @@ -1025,13 +1025,12 @@ packages: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - dev: false /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 /@babel/helper-compilation-targets@7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} @@ -1043,8 +1042,8 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.9): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1055,7 +1054,7 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -1086,26 +1085,26 @@ packages: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} @@ -1138,19 +1137,14 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} - engines: {node: '>=6.9.0'} + '@babel/types': 7.24.0 /@babel/helper-plugin-utils@7.24.0: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + /@babel/helper-replace-supers@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1176,19 +1170,19 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} @@ -1254,59 +1248,58 @@ packages: hasBin: true dependencies: '@babel/types': 7.24.0 - dev: false - /@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.23.9): + /@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.24.3): resolution: {integrity: sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.23.9) + '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.24.3) dev: false - /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.23.9): + /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.24.3): resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.23.9): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.24.3): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.9): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} @@ -1318,14 +1311,14 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} @@ -1357,9 +1350,9 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.23.9) /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} @@ -1414,7 +1407,6 @@ packages: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - dev: false /@babel/traverse@7.23.9: resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} @@ -1449,7 +1441,6 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: false /@babel/types@7.23.9: resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} @@ -1466,7 +1457,6 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - dev: false /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -2217,7 +2207,6 @@ packages: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - dev: false /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} @@ -2230,12 +2219,11 @@ packages: /@jridgewell/set-array@1.2.1: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - dev: false /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/sourcemap-codec@1.4.15: @@ -2385,8 +2373,8 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.0(nuxt@packages+nuxt)(vite@5.2.2): - resolution: {integrity: sha512-Mf198/nwoM6VaAuAA9TPB6gt0Ic9DiDjBGCuVDiUBVFEr253y30474bKU8+P3JQa0LYYkzzBLJVKDSd8wb4fZg==} + /@nuxt/devtools-kit@1.1.1(nuxt@packages+nuxt)(vite@5.2.2): + resolution: {integrity: sha512-xxZvBpVfB1G8SN1o1OdH9D3/+cgBMguO/cgMWy4vybx1n2XCAmSr7XRfnvFmf888MW+BwqlJRTUQYXXbccNvOA==} peerDependencies: nuxt: workspace:* vite: 5.2.2 @@ -2398,8 +2386,8 @@ packages: vite: 5.2.2(@types/node@20.11.28) dev: false - /@nuxt/devtools-wizard@1.1.0: - resolution: {integrity: sha512-2sPIny6q9vs1Pc781q99JPlR+nj4/oOcojWEULdnLh6M8Z+C3HtMSyDhN3X/acGakchxj0nS6DahapMvsO3UUg==} + /@nuxt/devtools-wizard@1.1.1: + resolution: {integrity: sha512-l03CemzPROMR/wrzICfa77YTDp1PlScAS3zwLBgLIptRHgMD3xQCmgkOPA4tZ5kdWLwC8qwOWDCz5YGUSaPvkA==} hasBin: true dependencies: consola: 3.2.3 @@ -2414,16 +2402,16 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.0(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21): - resolution: {integrity: sha512-55oopcCMA8TLcVXUEEPX5gWwtQeOV3ux0XdYL0ougXtsgeBf4Jr5cO/VxI5pC7kPYojJmxy/cxbVVgTDVd4TfA==} + /@nuxt/devtools@1.1.1(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21): + resolution: {integrity: sha512-mg8+3cClmMf5Yt3IGdZVUqybjFUZx8C3fGGPHdQO0mnkh+pBMPfb/kifbSY+z7fZmqP+axE3bM/PkqVgUWarDw==} hasBin: true peerDependencies: nuxt: workspace:* vite: 5.2.2 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.0(nuxt@packages+nuxt)(vite@5.2.2) - '@nuxt/devtools-wizard': 1.1.0 + '@nuxt/devtools-kit': 1.1.1(nuxt@packages+nuxt)(vite@5.2.2) + '@nuxt/devtools-wizard': 1.1.1 '@nuxt/kit': link:packages/kit '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) '@vue/devtools-core': 7.0.20(vite@5.2.2)(vue@3.4.21) @@ -2491,11 +2479,11 @@ packages: eslint: ^8.48.0 dependencies: '@rushstack/eslint-patch': 1.5.1 - '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 eslint-plugin-vue: 9.17.0(eslint@8.57.0) - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -2535,7 +2523,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2588,7 +2576,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.1.1 + happy-dom: 14.2.0 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.2 @@ -2603,9 +2591,9 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.2.2(@types/node@20.11.30) - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.1.1) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) - vue: 3.4.21(typescript@5.4.2) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3025,28 +3013,28 @@ packages: shiki: 1.1.2 dev: true - /@shikijs/twoslash@1.1.6(typescript@5.4.2): + /@shikijs/twoslash@1.1.6(typescript@5.4.3): resolution: {integrity: sha512-0HJK7Il7HevTpRvpPlnJ0ow8UyoQxhvxQ0/lhfw1C0xW/7eLtSAtZfSKdel5Nch6HgbbtfucEzuUFmRIRXUFUg==} dependencies: '@shikijs/core': 1.1.6 - twoslash: 0.2.4(typescript@5.4.2) + twoslash: 0.2.4(typescript@5.4.3) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.2): + /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.3): resolution: {integrity: sha512-OpOu/KszoEIm/pdTMmnFW+cPKj+Vw8Jut4CLivqdwgHysTdMUphyG/nuaYcpVZfCQBu6JLfQ6izgkYrefiKzXQ==} dependencies: - '@shikijs/twoslash': 1.1.6(typescript@5.4.2) + '@shikijs/twoslash': 1.1.6(typescript@5.4.3) floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.4.2) - twoslash-vue: 0.2.4(typescript@5.4.2) - vue: 3.4.21(typescript@5.4.2) + twoslash: 0.2.4(typescript@5.4.3) + twoslash-vue: 0.2.4(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -3140,7 +3128,7 @@ packages: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 '@vue/test-utils': 2.4.5 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: true /@tootallnate/once@2.0.0: @@ -3409,7 +3397,7 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.2): + /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3421,10 +3409,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/type-utils': 6.8.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/visitor-keys': 6.8.0 debug: 4.3.4 eslint: 8.57.0 @@ -3432,13 +3420,13 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.8.0(eslint@8.57.0)(typescript@5.4.2): + /@typescript-eslint/parser@6.8.0(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3450,11 +3438,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.8.0 '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.3) '@typescript-eslint/visitor-keys': 6.8.0 debug: 4.3.4 eslint: 8.57.0 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -3467,7 +3455,7 @@ packages: '@typescript-eslint/visitor-keys': 6.8.0 dev: true - /@typescript-eslint/type-utils@6.8.0(eslint@8.57.0)(typescript@5.4.2): + /@typescript-eslint/type-utils@6.8.0(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3477,12 +3465,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.2) - '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.3) + '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -3492,7 +3480,7 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.4.2): + /@typescript-eslint/typescript-estree@6.8.0(typescript@5.4.3): resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3507,13 +3495,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.57.0)(typescript@5.4.2): + /@typescript-eslint/utils@6.8.0(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3524,7 +3512,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.8.0 '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -3586,7 +3574,7 @@ packages: '@unhead/shared': 1.8.20 hookable: 5.5.3 unhead: 1.8.20 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.2): @@ -3654,7 +3642,7 @@ packages: sirv: 2.0.4 dev: false - /@unocss/postcss@0.58.6(postcss@8.4.37): + /@unocss/postcss@0.58.6(postcss@8.4.38): resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==} engines: {node: '>=14'} peerDependencies: @@ -3666,7 +3654,7 @@ packages: css-tree: 2.3.1 fast-glob: 3.3.2 magic-string: 0.30.8 - postcss: 8.4.37 + postcss: 8.4.38 dev: false /@unocss/preset-attributify@0.58.6: @@ -3835,7 +3823,7 @@ packages: '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) vite: 5.2.2(@types/node@20.11.30) - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color @@ -3847,7 +3835,7 @@ packages: vue: 3.4.21 dependencies: vite: 5.2.2(@types/node@20.11.28) - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} @@ -3868,7 +3856,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.1.1) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) transitivePeerDependencies: - supports-color dev: true @@ -3987,13 +3975,13 @@ packages: vue: optional: true dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@4.13.0) '@vue/compiler-sfc': 3.4.21 ast-kit: 0.11.3(rollup@4.13.0) local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - rollup dev: false @@ -4008,10 +3996,10 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.9) - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.23.9) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -4019,6 +4007,25 @@ packages: transitivePeerDependencies: - supports-color + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.24.3): + resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.22.15 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@vue/babel-helper-vue-transform-on': 1.1.5 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: @@ -4044,7 +4051,7 @@ packages: '@vue/shared': 3.4.21 estree-walker: 2.0.2 magic-string: 0.30.8 - postcss: 8.4.37 + postcss: 8.4.38 source-map-js: 1.2.0 /@vue/compiler-ssr@3.4.21: @@ -4067,7 +4074,7 @@ packages: '@vue/devtools-ui': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) perfect-debounce: 1.0.0 splitpanes: 3.1.5 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21) transitivePeerDependencies: - '@unocss/reset' @@ -4112,7 +4119,7 @@ packages: mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /@vue/devtools-shared@7.0.20: @@ -4136,8 +4143,8 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.37)(rollup@4.13.0)(vite@5.2.2) - vue: 3.4.21(typescript@5.4.2) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.2) + vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -4153,7 +4160,7 @@ packages: - universal-cookie dev: false - /@vue/language-core@1.8.27(typescript@5.4.2): + /@vue/language-core@1.8.27(typescript@5.4.3): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' @@ -4169,11 +4176,11 @@ packages: minimatch: 9.0.3 muggle-string: 0.3.1 path-browserify: 1.0.1 - typescript: 5.4.2 + typescript: 5.4.3 vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.7(typescript@5.4.2): + /@vue/language-core@2.0.7(typescript@5.4.3): resolution: {integrity: sha512-Vh1yZX3XmYjn9yYLkjU8DN6L0ceBtEcapqiyclHne8guG84IaTzqtvizZB1Yfxm3h6m7EIvjerLO5fvOZO6IIQ==} peerDependencies: typescript: '*' @@ -4187,7 +4194,7 @@ packages: computeds: 0.0.1 minimatch: 9.0.3 path-browserify: 1.0.1 - typescript: 5.4.2 + typescript: 5.4.3 vue-template-compiler: 2.7.14 /@vue/reactivity@3.4.21: @@ -4215,7 +4222,7 @@ packages: dependencies: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} @@ -4720,7 +4727,7 @@ packages: resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 '@rollup/pluginutils': 5.1.0(rollup@4.13.0) pathe: 1.1.2 transitivePeerDependencies: @@ -4731,7 +4738,7 @@ packages: resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 '@rollup/pluginutils': 5.1.0(rollup@4.13.0) pathe: 1.1.2 transitivePeerDependencies: @@ -4742,7 +4749,7 @@ packages: resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 ast-kit: 0.9.5(rollup@4.13.0) transitivePeerDependencies: - rollup @@ -4754,19 +4761,19 @@ packages: /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - /autoprefixer@10.4.18(postcss@8.4.37): - resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001593 + caniuse-lite: 1.0.30001599 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false @@ -4975,6 +4982,10 @@ packages: /caniuse-lite@1.0.30001593: resolution: {integrity: sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==} + /caniuse-lite@1.0.30001599: + resolution: {integrity: sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==} + dev: false + /case-police@0.6.1: resolution: {integrity: sha512-tOgkG3HhtzNVHU+HVHqbpVJ3CICPDihtlgoM2C4dx0RLeo6qcNVeBgiYJN5Bln+stxKrnKrw89CFgqYQDqwZQg==} hasBin: true @@ -5264,7 +5275,7 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cosmiconfig@8.3.6(typescript@5.4.2): + /cosmiconfig@8.3.6(typescript@5.4.3): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -5277,10 +5288,10 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.4.2 + typescript: 5.4.3 dev: false - /cosmiconfig@9.0.0(typescript@5.4.2): + /cosmiconfig@9.0.0(typescript@5.4.3): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -5293,7 +5304,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.4.2 + typescript: 5.4.3 dev: false /crc-32@1.2.2: @@ -5336,13 +5347,13 @@ packages: uWebSockets.js: optional: true - /css-declaration-sorter@7.1.1(postcss@8.4.37): + /css-declaration-sorter@7.1.1(postcss@8.4.38): resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false /css-loader@6.10.0(webpack@5.91.0): @@ -5357,12 +5368,12 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.37) - postcss: 8.4.37 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.37) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.37) - postcss-modules-scope: 3.1.1(postcss@8.4.37) - postcss-modules-values: 4.0.0(postcss@8.4.37) + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.38) + postcss-modules-scope: 3.1.1(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 semver: 7.6.0 webpack: 5.91.0 @@ -5394,9 +5405,9 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.1(postcss@8.4.37) + cssnano: 6.1.1(postcss@8.4.38) jest-worker: 29.7.0 - postcss: 8.4.37 + postcss: 8.4.38 schema-utils: 4.2.0 serialize-javascript: 6.0.2 webpack: 5.91.0 @@ -5438,63 +5449,63 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.1.1(postcss@8.4.37): + /cssnano-preset-default@6.1.1(postcss@8.4.38): resolution: {integrity: sha512-XW/dYN2p8Jdkp1lovFd0UVRh6RB0iMyXJbAE9Qm+taR3p2LGu492AW34lVaukUrXoK9IxK5aK3CUmFpUorU4oA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - css-declaration-sorter: 7.1.1(postcss@8.4.37) - cssnano-utils: 4.0.2(postcss@8.4.37) - postcss: 8.4.37 - postcss-calc: 9.0.1(postcss@8.4.37) - postcss-colormin: 6.1.0(postcss@8.4.37) - postcss-convert-values: 6.1.0(postcss@8.4.37) - postcss-discard-comments: 6.0.2(postcss@8.4.37) - postcss-discard-duplicates: 6.0.3(postcss@8.4.37) - postcss-discard-empty: 6.0.3(postcss@8.4.37) - postcss-discard-overridden: 6.0.2(postcss@8.4.37) - postcss-merge-longhand: 6.0.5(postcss@8.4.37) - postcss-merge-rules: 6.1.1(postcss@8.4.37) - postcss-minify-font-values: 6.1.0(postcss@8.4.37) - postcss-minify-gradients: 6.0.3(postcss@8.4.37) - postcss-minify-params: 6.1.0(postcss@8.4.37) - postcss-minify-selectors: 6.0.4(postcss@8.4.37) - postcss-normalize-charset: 6.0.2(postcss@8.4.37) - postcss-normalize-display-values: 6.0.2(postcss@8.4.37) - postcss-normalize-positions: 6.0.2(postcss@8.4.37) - postcss-normalize-repeat-style: 6.0.2(postcss@8.4.37) - postcss-normalize-string: 6.0.2(postcss@8.4.37) - postcss-normalize-timing-functions: 6.0.2(postcss@8.4.37) - postcss-normalize-unicode: 6.1.0(postcss@8.4.37) - postcss-normalize-url: 6.0.2(postcss@8.4.37) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.37) - postcss-ordered-values: 6.0.2(postcss@8.4.37) - postcss-reduce-initial: 6.1.0(postcss@8.4.37) - postcss-reduce-transforms: 6.0.2(postcss@8.4.37) - postcss-svgo: 6.0.3(postcss@8.4.37) - postcss-unique-selectors: 6.0.4(postcss@8.4.37) + css-declaration-sorter: 7.1.1(postcss@8.4.38) + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-calc: 9.0.1(postcss@8.4.38) + postcss-colormin: 6.1.0(postcss@8.4.38) + postcss-convert-values: 6.1.0(postcss@8.4.38) + postcss-discard-comments: 6.0.2(postcss@8.4.38) + postcss-discard-duplicates: 6.0.3(postcss@8.4.38) + postcss-discard-empty: 6.0.3(postcss@8.4.38) + postcss-discard-overridden: 6.0.2(postcss@8.4.38) + postcss-merge-longhand: 6.0.5(postcss@8.4.38) + postcss-merge-rules: 6.1.1(postcss@8.4.38) + postcss-minify-font-values: 6.1.0(postcss@8.4.38) + postcss-minify-gradients: 6.0.3(postcss@8.4.38) + postcss-minify-params: 6.1.0(postcss@8.4.38) + postcss-minify-selectors: 6.0.4(postcss@8.4.38) + postcss-normalize-charset: 6.0.2(postcss@8.4.38) + postcss-normalize-display-values: 6.0.2(postcss@8.4.38) + postcss-normalize-positions: 6.0.2(postcss@8.4.38) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.38) + postcss-normalize-string: 6.0.2(postcss@8.4.38) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.38) + postcss-normalize-unicode: 6.1.0(postcss@8.4.38) + postcss-normalize-url: 6.0.2(postcss@8.4.38) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.38) + postcss-ordered-values: 6.0.2(postcss@8.4.38) + postcss-reduce-initial: 6.1.0(postcss@8.4.38) + postcss-reduce-transforms: 6.0.2(postcss@8.4.38) + postcss-svgo: 6.0.3(postcss@8.4.38) + postcss-unique-selectors: 6.0.4(postcss@8.4.38) dev: false - /cssnano-utils@4.0.2(postcss@8.4.37): + /cssnano-utils@4.0.2(postcss@8.4.38): resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false - /cssnano@6.1.1(postcss@8.4.37): + /cssnano@6.1.1(postcss@8.4.38): resolution: {integrity: sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.1.1(postcss@8.4.37) + cssnano-preset-default: 6.1.1(postcss@8.4.38) lilconfig: 3.1.1 - postcss: 8.4.37 + postcss: 8.4.38 dev: false /csso@5.0.5: @@ -6176,7 +6187,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -6206,7 +6217,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -6589,7 +6600,7 @@ packages: resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} engines: {node: '>=12.0.0'} dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 @@ -6603,12 +6614,8 @@ packages: hasBin: true dev: true - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - /flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: false /floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21): resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} @@ -6621,7 +6628,7 @@ packages: dependencies: '@floating-ui/dom': 1.1.1 '@nuxt/kit': link:packages/kit - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) vue-resize: 2.0.0-alpha.1(vue@3.4.21) /focus-trap@7.5.4: @@ -6643,7 +6650,7 @@ packages: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.2)(webpack@5.91.0): + /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.3)(webpack@5.91.0): resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -6653,7 +6660,7 @@ packages: '@babel/code-frame': 7.23.5 chalk: 4.1.2 chokidar: 3.6.0 - cosmiconfig: 8.3.6(typescript@5.4.2) + cosmiconfig: 8.3.6(typescript@5.4.3) deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 @@ -6662,7 +6669,7 @@ packages: schema-utils: 3.3.0 semver: 7.6.0 tapable: 2.2.1 - typescript: 5.4.2 + typescript: 5.4.3 webpack: 5.91.0 dev: false @@ -6990,8 +6997,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.1.1: - resolution: {integrity: sha512-ZgXZ8lK4kw9wT5B0E7h32fMPIaID3q4WaTzgil6laHSpjZ+f0axNouYyl2g+rgsfa3TSa8cBsYii87eB4FD4dA==} + /happy-dom@14.2.0: + resolution: {integrity: sha512-vTqF/9MEkRKgYy5eKq9W0uiNmkgnVAmJhRwn8x8fQBR7lc4C84859jLhgZ1lR4Gi/t70oSdgvtLpxlHjgdJrAw==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -7245,13 +7252,13 @@ packages: dev: false optional: true - /icss-utils@5.1.0(postcss@8.4.37): + /icss-utils@5.1.0(postcss@8.4.38): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false /ieee754@1.2.1: @@ -8008,8 +8015,8 @@ packages: /magicast@0.3.3: resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 source-map-js: 1.2.0 /make-dir@3.1.0: @@ -8717,7 +8724,7 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdist@1.3.0(typescript@5.4.2): + /mkdist@1.3.0(typescript@5.4.3): resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} hasBin: true peerDependencies: @@ -8738,7 +8745,7 @@ packages: mlly: 1.6.1 mri: 1.2.0 pathe: 1.1.2 - typescript: 5.4.2 + typescript: 5.4.3 dev: true /mlly@1.6.1: @@ -9108,7 +9115,7 @@ packages: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema '@nuxtjs/mdc': 0.5.0 - '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.2) + '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.3) cac: 6.7.14 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -9116,8 +9123,8 @@ packages: picocolors: 1.0.0 remark-parse: 11.0.0 shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.4.2) - typescript: 5.4.2 + twoslash: 0.2.4(typescript@5.4.3) + typescript: 5.4.3 unified: 11.0.4 unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -9491,18 +9498,18 @@ packages: engines: {node: '>=4'} dev: true - /postcss-calc@9.0.1(postcss@8.4.37): + /postcss-calc@9.0.1(postcss@8.4.38): resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@6.1.0(postcss@8.4.37): + /postcss-colormin@6.1.0(postcss@8.4.38): resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -9511,55 +9518,55 @@ packages: browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@6.1.0(postcss@8.4.37): + /postcss-convert-values@6.1.0(postcss@8.4.38): resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-discard-comments@6.0.2(postcss@8.4.37): + /postcss-discard-comments@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false - /postcss-discard-duplicates@6.0.3(postcss@8.4.37): + /postcss-discard-duplicates@6.0.3(postcss@8.4.38): resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false - /postcss-discard-empty@6.0.3(postcss@8.4.37): + /postcss-discard-empty@6.0.3(postcss@8.4.38): resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false - /postcss-discard-overridden@6.0.2(postcss@8.4.37): + /postcss-discard-overridden@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false /postcss-import-resolver@2.0.0: @@ -9568,19 +9575,19 @@ packages: enhanced-resolve: 4.5.0 dev: false - /postcss-import@16.0.1(postcss@8.4.37): - resolution: {integrity: sha512-i2Pci0310NaLHr/5JUFSw1j/8hf1CzwMY13g6ZDxgOavmRHQi2ba3PmUHoihO+sjaum+KmCNzskNsw7JDrg03g==} + /postcss-import@16.1.0(postcss@8.4.38): + resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==} engines: {node: '>=18.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: false - /postcss-loader@8.1.1(postcss@8.4.37)(typescript@5.4.2)(webpack@5.91.0): + /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.3)(webpack@5.91.0): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -9593,27 +9600,27 @@ packages: webpack: optional: true dependencies: - cosmiconfig: 9.0.0(typescript@5.4.2) + cosmiconfig: 9.0.0(typescript@5.4.3) jiti: 1.21.0 - postcss: 8.4.37 + postcss: 8.4.38 semver: 7.6.0 webpack: 5.91.0 transitivePeerDependencies: - typescript dev: false - /postcss-merge-longhand@6.0.5(postcss@8.4.37): + /postcss-merge-longhand@6.0.5(postcss@8.4.38): resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.4.37) + stylehacks: 6.1.1(postcss@8.4.38) dev: false - /postcss-merge-rules@6.1.1(postcss@8.4.37): + /postcss-merge-rules@6.1.1(postcss@8.4.38): resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -9621,198 +9628,198 @@ packages: dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.37) - postcss: 8.4.37 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 postcss-selector-parser: 6.0.16 dev: false - /postcss-minify-font-values@6.1.0(postcss@8.4.37): + /postcss-minify-font-values@6.1.0(postcss@8.4.38): resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@6.0.3(postcss@8.4.37): + /postcss-minify-gradients@6.0.3(postcss@8.4.38): resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.4.37) - postcss: 8.4.37 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@6.1.0(postcss@8.4.37): + /postcss-minify-params@6.1.0(postcss@8.4.38): resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - cssnano-utils: 4.0.2(postcss@8.4.37) - postcss: 8.4.37 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@6.0.4(postcss@8.4.37): + /postcss-minify-selectors@6.0.4(postcss@8.4.38): resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-selector-parser: 6.0.16 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.37): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false - /postcss-modules-local-by-default@4.0.4(postcss@8.4.37): + /postcss-modules-local-by-default@4.0.4(postcss@8.4.38): resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.37) - postcss: 8.4.37 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.1.1(postcss@8.4.37): + /postcss-modules-scope@3.1.1(postcss@8.4.38): resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-selector-parser: 6.0.15 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.37): + /postcss-modules-values@4.0.0(postcss@8.4.38): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.37) - postcss: 8.4.37 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 dev: false - /postcss-normalize-charset@6.0.2(postcss@8.4.37): + /postcss-normalize-charset@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: false - /postcss-normalize-display-values@6.0.2(postcss@8.4.37): + /postcss-normalize-display-values@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@6.0.2(postcss@8.4.37): + /postcss-normalize-positions@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@6.0.2(postcss@8.4.37): + /postcss-normalize-repeat-style@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@6.0.2(postcss@8.4.37): + /postcss-normalize-string@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@6.0.2(postcss@8.4.37): + /postcss-normalize-timing-functions@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@6.1.0(postcss@8.4.37): + /postcss-normalize-unicode@6.1.0(postcss@8.4.38): resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@6.0.2(postcss@8.4.37): + /postcss-normalize-url@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@6.0.2(postcss@8.4.37): + /postcss-normalize-whitespace@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@6.0.2(postcss@8.4.37): + /postcss-ordered-values@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-utils: 4.0.2(postcss@8.4.37) - postcss: 8.4.37 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@6.1.0(postcss@8.4.37): + /postcss-reduce-initial@6.1.0(postcss@8.4.38): resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -9820,16 +9827,16 @@ packages: dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - postcss: 8.4.37 + postcss: 8.4.38 dev: false - /postcss-reduce-transforms@6.0.2(postcss@8.4.37): + /postcss-reduce-transforms@6.0.2(postcss@8.4.38): resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false @@ -9848,28 +9855,28 @@ packages: util-deprecate: 1.0.2 dev: false - /postcss-svgo@6.0.3(postcss@8.4.37): + /postcss-svgo@6.0.3(postcss@8.4.38): resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-value-parser: 4.2.0 svgo: 3.2.0 dev: false - /postcss-unique-selectors@6.0.4(postcss@8.4.37): + /postcss-unique-selectors@6.0.4(postcss@8.4.38): resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-selector-parser: 6.0.16 dev: false - /postcss-url@10.1.3(postcss@8.4.37): + /postcss-url@10.1.3(postcss@8.4.38): resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} engines: {node: '>=10'} peerDependencies: @@ -9878,7 +9885,7 @@ packages: make-dir: 3.1.0 mime: 2.5.2 minimatch: 3.0.8 - postcss: 8.4.37 + postcss: 8.4.38 xxhashjs: 0.2.2 dev: false @@ -9894,6 +9901,14 @@ packages: picocolors: 1.0.0 source-map-js: 1.2.0 + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -10424,7 +10439,7 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.2): + /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.3): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: @@ -10433,7 +10448,7 @@ packages: dependencies: magic-string: 0.30.8 rollup: 4.13.0 - typescript: 5.4.2 + typescript: 5.4.3 optionalDependencies: '@babel/code-frame': 7.24.2 dev: true @@ -10991,14 +11006,14 @@ packages: dependencies: js-tokens: 8.0.2 - /stylehacks@6.1.1(postcss@8.4.37): + /stylehacks@6.1.1(postcss@8.4.38): resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - postcss: 8.4.37 + postcss: 8.4.38 postcss-selector-parser: 6.0.16 dev: false @@ -11190,13 +11205,13 @@ packages: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: true - /ts-api-utils@1.0.3(typescript@5.4.2): + /ts-api-utils@1.0.3(typescript@5.4.3): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.2 + typescript: 5.4.3 dev: true /tsconfig-paths@3.15.0: @@ -11226,27 +11241,27 @@ packages: resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==} dev: true - /twoslash-vue@0.2.4(typescript@5.4.2): + /twoslash-vue@0.2.4(typescript@5.4.3): resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==} peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.27(typescript@5.4.2) - twoslash: 0.2.4(typescript@5.4.2) + '@vue/language-core': 1.8.27(typescript@5.4.3) + twoslash: 0.2.4(typescript@5.4.3) twoslash-protocol: 0.2.4 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /twoslash@0.2.4(typescript@5.4.2): + /twoslash@0.2.4(typescript@5.4.3): resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==} peerDependencies: typescript: '*' dependencies: '@typescript/vfs': 1.5.0 twoslash-protocol: 0.2.4 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -11328,6 +11343,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + engines: {node: '>=14.17'} + hasBin: true + /uc.micro@2.0.0: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: true @@ -11352,7 +11372,7 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unbuild@2.0.0(typescript@5.4.2): + /unbuild@2.0.0(typescript@5.4.3): resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} hasBin: true peerDependencies: @@ -11376,15 +11396,15 @@ packages: hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.8 - mkdist: 1.3.0(typescript@5.4.2) + mkdist: 1.3.0(typescript@5.4.3) mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 rollup: 4.13.0 - rollup-plugin-dts: 6.1.0(rollup@4.13.0)(typescript@5.4.2) + rollup-plugin-dts: 6.1.0(rollup@4.13.0)(typescript@5.4.3) scule: 1.3.0 - typescript: 5.4.2 + typescript: 5.4.3 untyped: 1.4.2 transitivePeerDependencies: - sass @@ -11535,7 +11555,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.37)(rollup@4.13.0)(vite@5.2.2): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.2): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -11551,7 +11571,7 @@ packages: '@unocss/cli': 0.58.6(rollup@4.13.0) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 - '@unocss/postcss': 0.58.6(postcss@8.4.37) + '@unocss/postcss': 0.58.6(postcss@8.4.38) '@unocss/preset-attributify': 0.58.6 '@unocss/preset-icons': 0.58.6 '@unocss/preset-mini': 0.58.6 @@ -11860,7 +11880,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.2.2)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.2)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11903,13 +11923,13 @@ packages: semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - typescript: 5.4.2 + typescript: 5.4.3 vite: 5.2.2(@types/node@20.11.30) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.7(typescript@5.4.2) + vue-tsc: 2.0.7(typescript@5.4.3) dev: false /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.2): @@ -11943,12 +11963,12 @@ packages: peerDependencies: vite: 5.2.2 dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.23.9) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.23.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) + '@babel/core': 7.24.3 + '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.3) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.24.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.3) '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 @@ -12027,10 +12047,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.1.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -12048,7 +12068,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.1.1): + /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.2.0): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -12084,7 +12104,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.1.1 + happy-dom: 14.2.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -12106,7 +12126,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.28)(happy-dom@14.1.1): + /vitest@1.4.0(@types/node@20.11.28)(happy-dom@14.2.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -12141,7 +12161,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.1.1 + happy-dom: 14.2.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -12163,7 +12183,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.1.1): + /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.2.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -12198,7 +12218,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.1.1 + happy-dom: 14.2.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -12286,7 +12306,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-devtools-stub@0.1.0: @@ -12325,7 +12345,7 @@ packages: dependencies: chalk: 4.1.2 hash-sum: 2.0.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) watchpack: 2.4.0 webpack: 5.91.0 @@ -12334,7 +12354,7 @@ packages: peerDependencies: vue: 3.4.21 dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-resize@2.0.0-alpha.1(vue@3.4.21): @@ -12342,7 +12362,7 @@ packages: peerDependencies: vue: 3.4.21 dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) /vue-router@4.3.0(vue@3.4.21): resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} @@ -12350,7 +12370,7 @@ packages: vue: 3.4.21 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -12358,16 +12378,16 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.7(typescript@5.4.2): + /vue-tsc@2.0.7(typescript@5.4.3): resolution: {integrity: sha512-LYa0nInkfcDBB7y8jQ9FQ4riJTRNTdh98zK/hzt4gEpBZQmf30dPhP+odzCa+cedGz6B/guvJEd0BavZaRptjg==} hasBin: true peerDependencies: typescript: '*' dependencies: '@volar/typescript': 2.1.3 - '@vue/language-core': 2.0.7(typescript@5.4.2) + '@vue/language-core': 2.0.7(typescript@5.4.3) semver: 7.6.0 - typescript: 5.4.2 + typescript: 5.4.3 /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21): resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} @@ -12375,7 +12395,7 @@ packages: vue: 3.4.21 dependencies: mitt: 2.1.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21) vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: false @@ -12394,6 +12414,22 @@ packages: '@vue/server-renderer': 3.4.21(vue@3.4.21) '@vue/shared': 3.4.21 typescript: 5.4.2 + dev: false + + /vue@3.4.21(typescript@5.4.3): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + typescript: 5.4.3 /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} From 4a880cb693ee8c403393c05fd439780fcf6d351b Mon Sep 17 00:00:00 2001 From: Anthony Fu <anthonyfu117@hotmail.com> Date: Thu, 21 Mar 2024 10:38:54 +0100 Subject: [PATCH 350/470] fix(nuxt): print errors when compiling templates (#26410) --- packages/nuxt/src/core/app.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index 255ef0d061..ccfffa8abf 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -47,6 +47,7 @@ export async function generateApp (nuxt: Nuxt, app: NuxtApp, options: { filter?: const oldContents = nuxt.vfs[fullPath] const contents = await compileTemplate(template, templateContext).catch((e) => { logger.error(`Could not compile template \`${template.filename}\`.`) + logger.error(e) throw e }) From 4647d2f925cf3a87369b09d16db0c74ccec20f27 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 21 Mar 2024 11:51:20 +0000 Subject: [PATCH 351/470] fix(nuxt): don't warn about `definePageMeta` in server pages (#26422) --- packages/nuxt/src/pages/runtime/composables.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/pages/runtime/composables.ts b/packages/nuxt/src/pages/runtime/composables.ts index d81b305512..f7c4e5210d 100644 --- a/packages/nuxt/src/pages/runtime/composables.ts +++ b/packages/nuxt/src/pages/runtime/composables.ts @@ -3,6 +3,7 @@ import { getCurrentInstance } from 'vue' import type { RouteLocationNormalized, RouteLocationNormalizedLoaded, RouteRecordRedirectOption } from '#vue-router' import { useRoute } from 'vue-router' import type { NitroRouteConfig } from 'nitropack' +import { useNuxtApp } from '#app/nuxt' import type { NuxtError } from '#app' export interface PageMeta { @@ -58,8 +59,9 @@ export const definePageMeta = (meta: PageMeta): void => { const component = getCurrentInstance()?.type try { const isRouteComponent = component && useRoute().matched.some(p => Object.values(p.components || {}).includes(component)) - if (isRouteComponent) { - // don't warn if it's being used in a route component + const isRenderingServerPage = import.meta.server && useNuxtApp().ssrContext?.islandContext + if (isRouteComponent || isRenderingServerPage) { + // don't warn if it's being used in a route component (or server page) return } } catch { From 8c3159f4ba506fd40cac3252b81bd0aa9c51f8b6 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 21 Mar 2024 11:57:11 +0000 Subject: [PATCH 352/470] fix(nuxt): pass `joinRelativeURL` + share paths on server (#26407) --- packages/nuxt/src/app/composables/manifest.ts | 2 +- packages/nuxt/src/app/entry.ts | 5 +---- .../app/plugins/check-outdated-build.client.ts | 2 +- packages/nuxt/src/core/nitro.ts | 2 +- packages/nuxt/src/core/runtime/nitro/paths.ts | 6 +++--- .../nuxt/src/core/runtime/nitro/renderer.ts | 2 +- packages/nuxt/src/core/templates.ts | 8 ++++---- packages/vite/src/client.ts | 1 + packages/vite/src/plugins/paths.ts | 4 ++-- packages/vite/src/plugins/public-dirs.ts | 2 +- packages/vite/src/server.ts | 17 ++++++++++------- packages/webpack/src/configs/server.ts | 3 +++ packages/webpack/src/plugins/dynamic-base.ts | 10 +++++----- packages/webpack/src/presets/base.ts | 1 + test/bundle.test.ts | 4 ++-- vitest.config.ts | 2 +- 16 files changed, 38 insertions(+), 33 deletions(-) diff --git a/packages/nuxt/src/app/composables/manifest.ts b/packages/nuxt/src/app/composables/manifest.ts index 5463d870fb..40bfdcd536 100644 --- a/packages/nuxt/src/app/composables/manifest.ts +++ b/packages/nuxt/src/app/composables/manifest.ts @@ -6,7 +6,7 @@ import { useRuntimeConfig } from '../nuxt' // @ts-expect-error virtual file import { appManifest as isAppManifestEnabled } from '#build/nuxt.config.mjs' // @ts-expect-error virtual file -import { buildAssetsURL } from '#build/paths.mjs' +import { buildAssetsURL } from '#internal/nuxt/paths' export interface NuxtAppManifestMeta { id: string diff --git a/packages/nuxt/src/app/entry.ts b/packages/nuxt/src/app/entry.ts index e4a7fad6c5..f912909a1c 100644 --- a/packages/nuxt/src/app/entry.ts +++ b/packages/nuxt/src/app/entry.ts @@ -1,10 +1,7 @@ import { createApp, createSSRApp, nextTick } from 'vue' import type { App } from 'vue' -// These files must be imported first as they have side effects: -// 1. (we set __webpack_public_path via this import, if using webpack builder) -import '#build/paths.mjs' -// 2. we set globalThis.$fetch via this import +// This file must be imported first as we set globalThis.$fetch via this import import '#build/fetch.mjs' import { applyPlugins, createNuxtApp } from './nuxt' diff --git a/packages/nuxt/src/app/plugins/check-outdated-build.client.ts b/packages/nuxt/src/app/plugins/check-outdated-build.client.ts index e0b80462ca..0a7731d6e4 100644 --- a/packages/nuxt/src/app/plugins/check-outdated-build.client.ts +++ b/packages/nuxt/src/app/plugins/check-outdated-build.client.ts @@ -3,7 +3,7 @@ import { getAppManifest } from '../composables/manifest' import type { NuxtAppManifestMeta } from '../composables/manifest' import { onNuxtReady } from '../composables/ready' // @ts-expect-error virtual file -import { buildAssetsURL } from '#build/paths.mjs' +import { buildAssetsURL } from '#internal/nuxt/paths' export default defineNuxtPlugin((nuxtApp) => { if (import.meta.test) { return } diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index e03b560e0b..128e08b198 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -206,7 +206,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { '@vue/devtools-api': 'vue-devtools-stub', // Paths - '#paths': resolve(distDir, 'core/runtime/nitro/paths'), + '#internal/nuxt/paths': resolve(distDir, 'core/runtime/nitro/paths'), // Nuxt aliases ...nuxt.options.alias diff --git a/packages/nuxt/src/core/runtime/nitro/paths.ts b/packages/nuxt/src/core/runtime/nitro/paths.ts index c76b5db2e1..5286a12944 100644 --- a/packages/nuxt/src/core/runtime/nitro/paths.ts +++ b/packages/nuxt/src/core/runtime/nitro/paths.ts @@ -1,4 +1,4 @@ -import { joinURL } from 'ufo' +import { joinRelativeURL } from 'ufo' import { useRuntimeConfig } from '#internal/nitro' export function baseURL (): string { @@ -12,12 +12,12 @@ export function buildAssetsDir (): string { } export function buildAssetsURL (...path: string[]): string { - return joinURL(publicAssetsURL(), buildAssetsDir(), ...path) + return joinRelativeURL(publicAssetsURL(), buildAssetsDir(), ...path) } export function publicAssetsURL (...path: string[]): string { // TODO: support passing event to `useRuntimeConfig` const app = useRuntimeConfig().app const publicBase = app.cdnURL as string || app.baseURL - return path.length ? joinURL(publicBase, ...path) : publicBase + return path.length ? joinRelativeURL(publicBase, ...path) : publicBase } diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index cfa22ff733..9005e01963 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -31,7 +31,7 @@ import type { NuxtPayload, NuxtSSRContext } from '#app' // @ts-expect-error virtual file import { appHead, appRootId, appRootTag, appTeleportId, appTeleportTag, componentIslands } from '#internal/nuxt.config.mjs' // @ts-expect-error virtual file -import { buildAssetsURL, publicAssetsURL } from '#paths' +import { buildAssetsURL, publicAssetsURL } from '#internal/nuxt/paths' // @ts-expect-error private property consumed by vite-generated url helpers globalThis.__buildAssetsURL = buildAssetsURL diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 4264c7751f..49c9f7c6bd 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -327,7 +327,7 @@ export const publicPathTemplate: NuxtTemplate = { filename: 'paths.mjs', getContents ({ nuxt }) { return [ - 'import { joinRelativeURL as joinURL } from \'ufo\'', + 'import { joinRelativeURL } from \'ufo\'', !nuxt.options.dev && 'import { useRuntimeConfig } from \'#internal/nitro\'', nuxt.options.dev @@ -337,11 +337,11 @@ export const publicPathTemplate: NuxtTemplate = { 'export const baseURL = () => appConfig.baseURL', 'export const buildAssetsDir = () => appConfig.buildAssetsDir', - 'export const buildAssetsURL = (...path) => joinURL(publicAssetsURL(), buildAssetsDir(), ...path)', + 'export const buildAssetsURL = (...path) => joinRelativeURL(publicAssetsURL(), buildAssetsDir(), ...path)', 'export const publicAssetsURL = (...path) => {', ' const publicBase = appConfig.cdnURL || appConfig.baseURL', - ' return path.length ? joinURL(publicBase, ...path) : publicBase', + ' return path.length ? joinRelativeURL(publicBase, ...path) : publicBase', '}', // On server these are registered directly in packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -358,7 +358,7 @@ export const dollarFetchTemplate: NuxtTemplate = { getContents () { return [ 'import { $fetch } from \'ofetch\'', - "import { baseURL } from '#build/paths.mjs'", + "import { baseURL } from '#internal/nuxt/paths'", 'if (!globalThis.$fetch) {', ' globalThis.$fetch = $fetch.create({', ' baseURL: baseURL()', diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index 2c57e013c7..61b2242d80 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -68,6 +68,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'), '#internal/nitro': resolve(ctx.nuxt.options.buildDir, 'nitro.client.mjs') }, diff --git a/packages/vite/src/plugins/paths.ts b/packages/vite/src/plugins/paths.ts index 423d6b80ee..0593192eb4 100644 --- a/packages/vite/src/plugins/paths.ts +++ b/packages/vite/src/plugins/paths.ts @@ -27,8 +27,8 @@ export function runtimePathsPlugin (options: RuntimePathsOptions): Plugin { if (VITE_ASSET_RE.test(code)) { const s = new MagicString(code) - // Register dependency on paths.mjs, which sets globalThis.__publicAssetsURL - s.prepend('import "#build/paths.mjs";') + // Register dependency on #build/paths.mjs or #internal/nuxt/paths.mjs, which sets globalThis.__publicAssetsURL + s.prepend('import "#internal/nuxt/paths";') return { code: s.toString(), diff --git a/packages/vite/src/plugins/public-dirs.ts b/packages/vite/src/plugins/public-dirs.ts index a660cc0837..fdda3b10be 100644 --- a/packages/vite/src/plugins/public-dirs.ts +++ b/packages/vite/src/plugins/public-dirs.ts @@ -26,7 +26,7 @@ export const VitePublicDirsPlugin = createUnplugin(() => { enforce: 'pre', handler (id) { if (id.startsWith(PREFIX)) { - return `import { publicAssetsURL } from '#build/paths.mjs';export default publicAssetsURL(${JSON.stringify(decodeURIComponent(id.slice(PREFIX.length)))})` + return `import { publicAssetsURL } from '#internal/nuxt/paths';export default publicAssetsURL(${JSON.stringify(decodeURIComponent(id.slice(PREFIX.length)))})` } } }, diff --git a/packages/vite/src/server.ts b/packages/vite/src/server.ts index 77f10215fa..d85be56628 100644 --- a/packages/vite/src/server.ts +++ b/packages/vite/src/server.ts @@ -55,6 +55,7 @@ export async function buildServer (ctx: ViteBuildContext) { }, resolve: { alias: { + '#internal/nuxt/paths': resolve(ctx.nuxt.options.buildDir, 'paths.mjs'), '#build/plugins': resolve(ctx.nuxt.options.buildDir, 'plugins/server') } }, @@ -79,7 +80,7 @@ export async function buildServer (ctx: ViteBuildContext) { ssr: true, rollupOptions: { input: { server: entry }, - external: ['#internal/nitro'], + external: ['#internal/nitro', '#internal/nuxt/paths'], output: { entryFileNames: '[name].mjs', format: 'module', @@ -105,12 +106,14 @@ export async function buildServer (ctx: ViteBuildContext) { if (!ctx.nuxt.options.dev) { const nitroDependencies = await tryResolveModule('nitropack/package.json', ctx.nuxt.options.modulesDir) .then(r => import(r!)).then(r => Object.keys(r.dependencies || {})).catch(() => []) - ;(serverConfig.ssr!.external as string[])!.push( - // explicit dependencies we use in our ssr renderer - these can be inlined (if necessary) in the nitro build - 'unhead', '@unhead/ssr', 'unctx', 'h3', 'devalue', '@nuxt/devalue', 'radix3', 'unstorage', 'hookable', - // dependencies we might share with nitro - these can be inlined (if necessary) in the nitro build - ...nitroDependencies - ) + if (Array.isArray(serverConfig.ssr!.external)) { + serverConfig.ssr!.external.push( + // explicit dependencies we use in our ssr renderer - these can be inlined (if necessary) in the nitro build + 'unhead', '@unhead/ssr', 'unctx', 'h3', 'devalue', '@nuxt/devalue', 'radix3', 'unstorage', 'hookable', + // dependencies we might share with nitro - these can be inlined (if necessary) in the nitro build + ...nitroDependencies + ) + } } serverConfig.customLogger = createViteLogger(serverConfig) diff --git a/packages/webpack/src/configs/server.ts b/packages/webpack/src/configs/server.ts index 265931c913..ed403f4a44 100644 --- a/packages/webpack/src/configs/server.ts +++ b/packages/webpack/src/configs/server.ts @@ -54,6 +54,9 @@ function serverStandalone (ctx: WebpackConfigContext) { ...ctx.options.build.transpile ] const external = ['#internal/nitro'] + if (!ctx.nuxt.options.dev) { + external.push('#internal/nuxt/paths') + } if (!Array.isArray(ctx.config.externals)) { return } ctx.config.externals.push(({ request }, cb) => { diff --git a/packages/webpack/src/plugins/dynamic-base.ts b/packages/webpack/src/plugins/dynamic-base.ts index 054afc907e..d9effaf714 100644 --- a/packages/webpack/src/plugins/dynamic-base.ts +++ b/packages/webpack/src/plugins/dynamic-base.ts @@ -11,17 +11,17 @@ const defaults: DynamicBasePluginOptions = { sourcemap: true } +const ENTRY_RE = /import ["']#build\/css["'];/ + export const DynamicBasePlugin = createUnplugin((options: DynamicBasePluginOptions = {}) => { options = { ...defaults, ...options } return { name: 'nuxt:dynamic-base-path', - enforce: 'post', + enforce: 'post' as const, transform (code, id) { - if (!id.includes('paths.mjs') || !code.includes('const appConfig = ')) { - return - } + if (!id.includes('entry') || !ENTRY_RE.test(code)) { return } const s = new MagicString(code) - s.append(`\n${options.globalPublicPath} = buildAssetsURL();\n`) + s.prepend(`import { buildAssetsURL } from '#internal/nuxt/paths';\n${options.globalPublicPath} = buildAssetsURL();\n`) return { code: s.toString(), map: options.sourcemap diff --git a/packages/webpack/src/presets/base.ts b/packages/webpack/src/presets/base.ts index 50caa81b52..fca14754b8 100644 --- a/packages/webpack/src/presets/base.ts +++ b/packages/webpack/src/presets/base.ts @@ -120,6 +120,7 @@ function baseAlias (ctx: WebpackConfigContext) { '#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 } diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 284518788f..fa33f103b7 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ 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('"207k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1336k"') @@ -72,7 +72,7 @@ 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('"525k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"526k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"77.8k"') diff --git a/vitest.config.ts b/vitest.config.ts index ed0f5074b2..2f7ce8ef35 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -8,7 +8,7 @@ export default defineConfig({ resolve: { alias: { '#build/nuxt.config.mjs': resolve('./test/mocks/nuxt-config'), - '#build/paths.mjs': resolve('./test/mocks/paths'), + '#internal/nuxt/paths': resolve('./test/mocks/paths'), '#build/app.config.mjs': resolve('./test/mocks/app-config'), '#app': resolve('./packages/nuxt/dist/app') } From 57b8d977b94b5e450fdacad603237a4db6cd3d09 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 21 Mar 2024 12:17:09 +0000 Subject: [PATCH 353/470] perf(nuxt): don't tree-shake `useServerHead` in dev (#26421) --- packages/nuxt/src/head/module.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/head/module.ts b/packages/nuxt/src/head/module.ts index 5964ecc527..646f206aa1 100644 --- a/packages/nuxt/src/head/module.ts +++ b/packages/nuxt/src/head/module.ts @@ -29,9 +29,11 @@ export default defineNuxtModule({ } // allow @unhead/vue server composables to be tree-shaken from the client bundle - nuxt.options.optimization.treeShake.composables.client['@unhead/vue'] = [ - 'useServerHead', 'useServerSeoMeta', 'useServerHeadSafe' - ] + if (!nuxt.options.dev) { + nuxt.options.optimization.treeShake.composables.client['@unhead/vue'] = [ + 'useServerHead', 'useServerSeoMeta', 'useServerHeadSafe' + ] + } addImportsSources({ from: '@unhead/vue', From cca81bcae4d39c2bc8ba9c553581480e54dad6d2 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 21 Mar 2024 13:18:09 +0000 Subject: [PATCH 354/470] fix(nuxt): exclude `<srcDir>/index.html` from import protection (#26430) --- packages/nuxt/src/core/nuxt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 9d260dad4f..ab8f93c794 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -131,7 +131,7 @@ async function initNuxt (nuxt: Nuxt) { const config = { rootDir: nuxt.options.rootDir, // Exclude top-level resolutions by plugins - exclude: [join(nuxt.options.rootDir, 'index.html')], + exclude: [join(nuxt.options.srcDir, 'index.html')], patterns: nuxtImportProtections(nuxt) } addVitePlugin(() => ImportProtectionPlugin.vite(config)) From 22ada37b4f10f75291b84c2f6e2b8d97c4fc9d7e Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Thu, 21 Mar 2024 14:32:02 +0000 Subject: [PATCH 355/470] fix(nuxt): early return from `refreshCookie` on server --- packages/nuxt/src/app/composables/cookie.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/cookie.ts b/packages/nuxt/src/app/composables/cookie.ts index 37156c81dd..15f7ee0110 100644 --- a/packages/nuxt/src/app/composables/cookie.ts +++ b/packages/nuxt/src/app/composables/cookie.ts @@ -132,7 +132,7 @@ export function useCookie<T = string | null | undefined> (name: string, _opts?: } /** @since 3.10.0 */ export function refreshCookie (name: string) { - if (store || typeof BroadcastChannel === 'undefined') { return } + if (import.meta.server || store || typeof BroadcastChannel === 'undefined') { return } new BroadcastChannel(`nuxt:cookies:${name}`)?.postMessage({ refresh: true }) } From 70a619f2efb6df6ce8db522de679fe036e8fa116 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Mar 2024 16:16:04 +0000 Subject: [PATCH 356/470] chore(deps): update all non-major dependencies (main) (#26427) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 4 +- packages/webpack/package.json | 2 +- packages/webpack/src/webpack.ts | 6 +- pnpm-lock.yaml | 546 +++++--------------------------- test/bundle.test.ts | 2 +- 7 files changed, 84 insertions(+), 480 deletions(-) diff --git a/package.json b/package.json index d7517e50d1..4287686c31 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "nuxi": "3.11.1", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", - "ofetch": "1.3.3", + "ofetch": "1.3.4", "pathe": "1.1.2", "playwright-core": "1.42.1", "rimraf": "5.0.5", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 3b328f8b00..48036424f7 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -92,7 +92,7 @@ "nitropack": "^2.9.4", "nuxi": "^3.11.1", "nypm": "^0.3.8", - "ofetch": "^1.3.3", + "ofetch": "^1.3.4", "ohash": "^1.1.3", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 509d44f2a9..250c5d3082 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -48,7 +48,7 @@ "h3": "1.11.1", "ignore": "5.3.1", "nitropack": "2.9.4", - "ofetch": "1.3.3", + "ofetch": "1.3.4", "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", @@ -58,7 +58,7 @@ "vue-loader": "17.4.2", "vue-router": "4.3.0", "webpack": "5.91.0", - "webpack-dev-middleware": "7.1.0" + "webpack-dev-middleware": "7.1.1" }, "dependencies": { "@nuxt/ui-templates": "^1.3.1", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 9b266b44ff..85dfd2d1f7 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -64,7 +64,7 @@ "vue-loader": "^17.4.2", "webpack": "^5.91.0", "webpack-bundle-analyzer": "^4.10.1", - "webpack-dev-middleware": "^7.1.0", + "webpack-dev-middleware": "^7.1.1", "webpack-hot-middleware": "^2.26.1", "webpack-virtual-modules": "^0.6.1", "webpackbar": "^6.0.1" diff --git a/packages/webpack/src/webpack.ts b/packages/webpack/src/webpack.ts index aff9efa4df..e731d37ba3 100644 --- a/packages/webpack/src/webpack.ts +++ b/packages/webpack/src/webpack.ts @@ -2,7 +2,7 @@ import pify from 'pify' import webpack from 'webpack' import type { NodeMiddleware } from 'h3' import { defineEventHandler, fromNodeMiddleware } from 'h3' -import type { OutputFileSystem } from 'webpack-dev-middleware' +import type { MultiWatching } from 'webpack-dev-middleware' import webpackDevMiddleware from 'webpack-dev-middleware' import webpackHotMiddleware from 'webpack-hot-middleware' import type { Compiler, Stats, Watching } from 'webpack' @@ -61,7 +61,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { // In dev, write files in memory FS if (nuxt.options.dev) { - compiler.outputFileSystem = mfs as unknown as OutputFileSystem + compiler.outputFileSystem = mfs! as unknown as Compiler['outputFileSystem'] } return compiler @@ -131,7 +131,7 @@ async function compile (compiler: Compiler) { // --- Dev Build --- if (nuxt.options.dev) { - const compilersWatching: Watching[] = [] + const compilersWatching: Array<Watching | MultiWatching> = [] nuxt.hook('close', async () => { await Promise.all(compilersWatching.map(watching => pify(watching.close.bind(watching))())) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3d81eaf8a8..43224d7752 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -113,8 +113,8 @@ importers: specifier: 0.0.10 version: 0.0.10(@nuxtjs/mdc@0.5.0) ofetch: - specifier: 1.3.3 - version: 1.3.3 + specifier: 1.3.4 + version: 1.3.4 pathe: specifier: 1.1.2 version: 1.1.2 @@ -262,7 +262,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.11.28 + version: 20.11.30 '@unhead/dom': specifier: ^1.8.20 version: 1.8.20 @@ -342,8 +342,8 @@ importers: specifier: ^0.3.8 version: 0.3.8 ofetch: - specifier: ^1.3.3 - version: 1.3.3 + specifier: ^1.3.4 + version: 1.3.4 ohash: specifier: ^1.1.3 version: 1.1.3 @@ -428,10 +428,10 @@ importers: version: 2.0.0(typescript@5.4.3) vite: specifier: 5.2.2 - version: 5.2.2(@types/node@20.11.28) + version: 5.2.2(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28)(happy-dom@14.2.0) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) packages/schema: dependencies: @@ -512,8 +512,8 @@ importers: specifier: 2.9.4 version: 2.9.4 ofetch: - specifier: 1.3.3 - version: 1.3.3 + specifier: 1.3.4 + version: 1.3.4 unbuild: specifier: latest version: 2.0.0(typescript@5.4.3) @@ -542,8 +542,8 @@ importers: specifier: 5.91.0 version: 5.91.0 webpack-dev-middleware: - specifier: 7.1.0 - version: 7.1.0(webpack@5.91.0) + specifier: 7.1.1 + version: 7.1.1(webpack@5.91.0) packages/vite: dependencies: @@ -789,8 +789,8 @@ importers: specifier: ^4.10.1 version: 4.10.1 webpack-dev-middleware: - specifier: ^7.1.0 - version: 7.1.0(webpack@5.91.0) + specifier: ^7.1.1 + version: 7.1.1(webpack@5.91.0) webpack-hot-middleware: specifier: ^2.26.1 version: 2.26.1 @@ -849,7 +849,7 @@ importers: devDependencies: ufo: specifier: latest - version: 1.5.1 + version: 1.5.3 unplugin: specifier: latest version: 1.10.0 @@ -865,7 +865,7 @@ importers: devDependencies: ofetch: specifier: latest - version: 1.3.3 + version: 1.3.4 vitest: specifier: 1.0.2 version: 1.0.2(@types/node@20.11.30)(happy-dom@14.2.0) @@ -907,11 +907,11 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) devDependencies: typescript: specifier: latest - version: 5.4.2 + version: 5.4.3 packages: @@ -919,20 +919,12 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - /@ampproject/remapping@2.3.0: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - dev: false /@antfu/install-pkg@0.1.1: resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} @@ -945,13 +937,6 @@ packages: resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} dev: false - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - /@babel/code-frame@7.24.2: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} @@ -963,28 +948,6 @@ packages: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.23.9: - resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helpers': 7.23.9 - '@babel/parser': 7.23.9 - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - /@babel/core@7.24.3: resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} engines: {node: '>=6.9.0'} @@ -1006,16 +969,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: false - - /@babel/generator@7.23.6: - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 /@babel/generator@7.24.1: resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} @@ -1042,23 +995,6 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.23.9): - resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} @@ -1075,7 +1011,6 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - dev: false /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} @@ -1106,19 +1041,6 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} @@ -1131,7 +1053,6 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 - dev: false /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} @@ -1143,17 +1064,6 @@ packages: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} - /@babel/helper-replace-supers@7.24.1(@babel/core@7.23.9): - resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} @@ -1164,7 +1074,6 @@ packages: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - dev: false /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} @@ -1196,16 +1105,6 @@ packages: resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - /@babel/helpers@7.23.9: - resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - transitivePeerDependencies: - - supports-color - /@babel/helpers@7.24.1: resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} engines: {node: '>=6.9.0'} @@ -1215,33 +1114,17 @@ packages: '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color - dev: false - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 picocolors: 1.0.0 - /@babel/parser@7.23.9: - resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.9 - /@babel/parser@7.24.1: resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} @@ -1292,15 +1175,6 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.23.9): - resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} @@ -1309,16 +1183,6 @@ packages: dependencies: '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.23.9): - resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} @@ -1328,7 +1192,6 @@ packages: dependencies: '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - dev: false /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} @@ -1342,18 +1205,6 @@ packages: '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.23.9) - /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} engines: {node: '>=6.9.0'} @@ -1365,7 +1216,6 @@ packages: '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) - dev: false /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} @@ -1392,14 +1242,6 @@ packages: resolution: {integrity: sha512-89NGhVfgKDqDQrtNPxqfnhIReKvp2CR80ofPNEAUpbtnouFelq33hQFURLralD9I+eFS7s5zVK61JRg/D1nLWg==} engines: {node: '>=6.9.0'} - /@babel/template@7.23.9: - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - /@babel/template@7.24.0: resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} @@ -1408,23 +1250,6 @@ packages: '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - /@babel/traverse@7.23.9: - resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - /@babel/traverse@7.24.1: resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} engines: {node: '>=6.9.0'} @@ -1442,14 +1267,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/types@7.23.9: - resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - /@babel/types@7.24.0: resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} @@ -2192,14 +2009,6 @@ packages: chalk: 4.1.2 dev: false - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/gen-mapping@0.3.5: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -2212,10 +2021,6 @@ packages: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.2.1: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} @@ -2383,7 +2188,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) dev: false /@nuxt/devtools-wizard@1.1.1: @@ -2444,7 +2249,7 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.13.0) - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.2) vite-plugin-vue-inspector: 4.0.2(vite@5.2.2) which: 3.0.1 @@ -2517,7 +2322,7 @@ packages: jiti: 1.21.0 mri: 1.2.0 nanoid: 4.0.2 - ofetch: 1.3.3 + ofetch: 1.3.4 parse-git-config: 3.0.0 pathe: 1.1.2 rc9: 2.1.1 @@ -2579,8 +2384,8 @@ packages: happy-dom: 14.2.0 local-pkg: 0.5.0 magic-string: 0.30.8 - node-fetch-native: 1.6.2 - ofetch: 1.3.3 + node-fetch-native: 1.6.3 + ofetch: 1.3.4 pathe: 1.1.2 perfect-debounce: 1.0.0 playwright-core: 1.42.1 @@ -3105,7 +2910,7 @@ packages: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 '@babel/runtime': 7.23.9 '@types/aria-query': 5.0.4 aria-query: 5.1.3 @@ -3199,7 +3004,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/hash-sum@1.0.2: @@ -3271,11 +3076,6 @@ packages: '@types/node': 20.11.30 dev: true - /@types/node@20.11.28: - resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} - dependencies: - undici-types: 5.26.5 - /@types/node@20.11.30: resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} dependencies: @@ -3299,7 +3099,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3338,7 +3138,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 tapable: 2.2.1 webpack: 5.91.0 transitivePeerDependencies: @@ -3588,7 +3388,7 @@ packages: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.2) - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3668,7 +3468,7 @@ packages: dependencies: '@iconify/utils': 2.1.22 '@unocss/core': 0.58.6 - ofetch: 1.3.3 + ofetch: 1.3.4 transitivePeerDependencies: - supports-color dev: false @@ -3707,7 +3507,7 @@ packages: resolution: {integrity: sha512-W/8102vurABwfnb9QQyp9GBKP80kpy/IADSM7hbqLNaqmgxHASELXkjhqqt+et39Zn2tnXpIHNVWoqG6QNWBwQ==} dependencies: '@unocss/core': 0.58.6 - ofetch: 1.3.3 + ofetch: 1.3.4 dev: false /@unocss/preset-wind@0.58.6: @@ -3786,7 +3586,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3819,9 +3619,9 @@ packages: vite: 5.2.2 vue: 3.4.21 dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.9) + '@babel/core': 7.24.3 + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.3) vite: 5.2.2(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: @@ -3834,7 +3634,7 @@ packages: vite: 5.2.2 vue: 3.4.21 dependencies: - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3842,7 +3642,7 @@ packages: peerDependencies: vitest: 1.4.0 dependencies: - '@ampproject/remapping': 2.2.1 + '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 @@ -3989,24 +3789,6 @@ packages: /@vue/babel-helper-vue-transform-on@1.1.5: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.9): - resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.23.9) - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - '@vue/babel-helper-vue-transform-on': 1.1.5 - camelcase: 6.3.0 - html-tags: 3.3.1 - svg-tags: 1.0.0 - transitivePeerDependencies: - - supports-color - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.24.3): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: @@ -4024,16 +3806,15 @@ packages: svg-tags: 1.0.0 transitivePeerDependencies: - supports-color - dev: false /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.0.2 + source-map-js: 1.2.0 /@vue/compiler-dom@3.4.21: resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} @@ -4044,7 +3825,7 @@ packages: /@vue/compiler-sfc@3.4.21: resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 '@vue/compiler-core': 3.4.21 '@vue/compiler-dom': 3.4.21 '@vue/compiler-ssr': 3.4.21 @@ -4855,7 +4636,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001593 + caniuse-lite: 1.0.30001599 electron-to-chromium: 1.4.681 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -4974,17 +4755,13 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001593 + caniuse-lite: 1.0.30001599 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001593: - resolution: {integrity: sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==} - /caniuse-lite@1.0.30001599: resolution: {integrity: sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==} - dev: false /case-police@0.6.1: resolution: {integrity: sha512-tOgkG3HhtzNVHU+HVHqbpVJ3CICPDihtlgoM2C4dx0RLeo6qcNVeBgiYJN5Bln+stxKrnKrw89CFgqYQDqwZQg==} @@ -5037,8 +4814,8 @@ packages: convert-gitmoji: 0.1.3 execa: 8.0.1 mri: 1.2.0 - node-fetch-native: 1.6.2 - ofetch: 1.3.3 + node-fetch-native: 1.6.3 + ofetch: 1.3.4 open: 9.1.0 pathe: 1.1.2 pkg-types: 1.0.3 @@ -5865,14 +5642,6 @@ packages: tapable: 1.1.3 dev: false - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: false - /enhanced-resolve@5.16.0: resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} engines: {node: '>=10.13.0'} @@ -6333,7 +6102,7 @@ packages: eslint: 8.57.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 semver: 7.6.0 vue-eslint-parser: 9.4.2(eslint@8.57.0) xml-name-validator: 4.0.0 @@ -6510,7 +6279,7 @@ packages: /externality@1.0.2: resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} dependencies: - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.16.0 mlly: 1.6.1 pathe: 1.1.2 ufo: 1.5.3 @@ -6657,7 +6426,7 @@ packages: typescript: '>3.6.0' webpack: ^5.11.0 dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 chalk: 4.1.2 chokidar: 3.6.0 cosmiconfig: 8.3.6(typescript@5.4.3) @@ -6828,7 +6597,7 @@ packages: citty: 0.1.6 consola: 3.2.3 defu: 6.1.4 - node-fetch-native: 1.6.2 + node-fetch-native: 1.6.3 nypm: 0.3.8 ohash: 1.1.3 pathe: 1.1.2 @@ -8856,8 +8625,8 @@ packages: mime: 4.0.1 mlly: 1.6.1 mri: 1.2.0 - node-fetch-native: 1.6.2 - ofetch: 1.3.3 + node-fetch-native: 1.6.3 + ofetch: 1.3.4 ohash: 1.1.3 openapi-typescript: 6.7.5 pathe: 1.1.2 @@ -8916,8 +8685,8 @@ packages: skin-tone: 2.0.0 dev: true - /node-fetch-native@1.6.2: - resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} + /node-fetch-native@1.6.3: + resolution: {integrity: sha512-5kvcZPQYJBlUPgHxG0L8RJ52wiu2Sn5RAXBJlU6xPv8X+4MbeOxJ8Do9NFzD1RaWDDc1OF2VtBTgo+OKzg01uA==} /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -9200,11 +8969,11 @@ packages: es-abstract: 1.22.2 dev: true - /ofetch@1.3.3: - resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} + /ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} dependencies: destr: 2.0.3 - node-fetch-native: 1.6.2 + node-fetch-native: 1.6.3 ufo: 1.5.3 /ohash@1.1.3: @@ -9391,7 +9160,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -9505,7 +9274,7 @@ packages: postcss: ^8.2.2 dependencies: postcss: 8.4.38 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 dev: false @@ -9694,7 +9463,7 @@ packages: dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 dev: false @@ -9705,7 +9474,7 @@ packages: postcss: ^8.1.0 dependencies: postcss: 8.4.38 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 dev: false /postcss-modules-values@4.0.0(postcss@8.4.38): @@ -9840,20 +9609,12 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - /postcss-selector-parser@6.0.16: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: false /postcss-svgo@6.0.3(postcss@8.4.38): resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} @@ -9893,14 +9654,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: false - /postcss@8.4.37: - resolution: {integrity: sha512-7iB/v/r7Woof0glKLH8b1SPHrsX7uhdO+Geb41QpF/+mWZHU3uxxSlN+UXGVit1PawOYDToO+AbZzhBzWRDwbQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 - /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} @@ -10555,7 +10308,7 @@ packages: dependencies: chokidar: 3.6.0 immutable: 4.3.4 - source-map-js: 1.0.2 + source-map-js: 1.2.0 dev: true /schema-utils@3.3.0: @@ -10804,10 +10557,6 @@ packages: /source-list-map@2.0.1: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -11338,11 +11087,6 @@ packages: is-typed-array: 1.1.12 dev: true - /typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} - engines: {node: '>=14.17'} - hasBin: true - /typescript@5.4.3: resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} @@ -11352,10 +11096,6 @@ packages: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: true - /ufo@1.5.1: - resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==} - dev: true - /ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} @@ -11446,7 +11186,7 @@ packages: consola: 3.2.3 defu: 6.1.4 mime: 3.0.0 - node-fetch-native: 1.6.2 + node-fetch-native: 1.6.3 pathe: 1.1.2 /unhead@1.8.20: @@ -11587,7 +11327,7 @@ packages: '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.2) - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - postcss - rollup @@ -11602,7 +11342,7 @@ packages: vue-router: optional: true dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@4.13.0) '@vue-macros/common': 1.10.1(rollup@4.13.0)(vue@3.4.21) ast-walker-scope: 0.5.0(rollup@4.13.0) @@ -11682,8 +11422,8 @@ packages: listhen: 1.7.2 lru-cache: 10.2.0 mri: 1.2.0 - node-fetch-native: 1.6.2 - ofetch: 1.3.3 + node-fetch-native: 1.6.3 + ofetch: 1.3.4 ufo: 1.5.3 transitivePeerDependencies: - uWebSockets.js @@ -11705,9 +11445,9 @@ packages: resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} hasBin: true dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.3 '@babel/standalone': 7.23.9 - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 defu: 6.1.4 jiti: 1.21.0 mri: 1.2.0 @@ -11815,7 +11555,7 @@ packages: peerDependencies: vite: 5.2.2 dependencies: - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) dev: false /vite-node@1.0.2(@types/node@20.11.30): @@ -11839,27 +11579,6 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.11.28): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.2(@types/node@20.11.28) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@1.4.0(@types/node@20.11.30): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11911,7 +11630,7 @@ packages: vue-tsc: optional: true dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 chalk: 4.1.2 chokidar: 3.6.0 @@ -11952,7 +11671,7 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - rollup - supports-color @@ -11972,46 +11691,11 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.2.2(@types/node@20.11.28) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.2(@types/node@20.11.28): - resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.28 - esbuild: 0.20.2 - postcss: 8.4.37 - rollup: 4.13.0 - optionalDependencies: - fsevents: 2.3.3 - /vite@5.2.2(@types/node@20.11.30): resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -12042,7 +11726,7 @@ packages: dependencies: '@types/node': 20.11.30 esbuild: 0.20.2 - postcss: 8.4.37 + postcss: 8.4.38 rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 @@ -12126,63 +11810,6 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.28)(happy-dom@14.2.0): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.11.28 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - happy-dom: 14.2.0 - local-pkg: 0.5.0 - magic-string: 0.30.8 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.5.1 - tinypool: 0.8.2 - vite: 5.2.2(@types/node@20.11.28) - vite-node: 1.4.0(@types/node@20.11.28) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.2.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -12346,7 +11973,7 @@ packages: chalk: 4.1.2 hash-sum: 2.0.0 vue: 3.4.21(typescript@5.4.3) - watchpack: 2.4.0 + watchpack: 2.4.1 webpack: 5.91.0 /vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21): @@ -12400,22 +12027,6 @@ packages: vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: false - /vue@3.4.21(typescript@5.4.2): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) - '@vue/shared': 3.4.21 - typescript: 5.4.2 - dev: false - /vue@3.4.21(typescript@5.4.3): resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: @@ -12431,13 +12042,6 @@ packages: '@vue/shared': 3.4.21 typescript: 5.4.3 - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - /watchpack@2.4.1: resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} engines: {node: '>=10.13.0'} @@ -12480,8 +12084,8 @@ packages: - utf-8-validate dev: false - /webpack-dev-middleware@7.1.0(webpack@5.91.0): - resolution: {integrity: sha512-+RYhGOyviHkKdMi1aaT8WZBQW033YgyBgtQHF2kMWo3mYA9z7W2AjsyY/DIzvp2Bhzys4UgHXFsIyTiL5qRBVw==} + /webpack-dev-middleware@7.1.1(webpack@5.91.0): + resolution: {integrity: sha512-NmRVq4AvRQs66dFWyDR4GsFDJggtSi2Yn38MXLk0nffgF9n/AIP4TFBg2TQKYaRAN4sHuKOTiz9BnNCENDLEVA==} engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.0.0 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index fa33f103b7..a2f64be04f 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"207k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1336k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1337k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 8f5bc244c2a7c1804b2c474a884cc875d4ee98e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Mar 2024 09:14:05 +0000 Subject: [PATCH 357/470] chore(deps): update all non-major dependencies (main) (#26436) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/benchmark.yml | 2 +- package.json | 2 +- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 62 ++++++++++++++++----------------- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 11fd7e89d2..492c58ed3f 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -46,7 +46,7 @@ jobs: run: pnpm build - name: Run benchmarks - uses: CodSpeedHQ/action@2e04019f4572c19684929a755da499f19a00b25b # v2.2.1 + uses: CodSpeedHQ/action@1dbf41f0ae41cebfe61e084e535aebe533409b4d # v2.3.0 with: run: pnpm vitest bench token: ${{ secrets.CODSPEED_TOKEN }} diff --git a/package.json b/package.json index 4287686c31..23ac01d342 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.2.0", + "happy-dom": "14.3.1", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 48036424f7..07268fb74b 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -60,7 +60,7 @@ }, "dependencies": { "@nuxt/devalue": "^2.0.2", - "@nuxt/devtools": "^1.1.1", + "@nuxt/devtools": "^1.1.3", "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 43224d7752..7ef9c605e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.2.0 - version: 14.2.0 + specifier: 14.3.1 + version: 14.3.1 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -232,7 +232,7 @@ importers: version: 5.2.2(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) webpack: specifier: 5.91.0 version: 5.91.0 @@ -243,8 +243,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 '@nuxt/devtools': - specifier: ^1.1.1 - version: 1.1.1(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) + specifier: ^1.1.3 + version: 1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -431,7 +431,7 @@ importers: version: 5.2.2(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) packages/schema: dependencies: @@ -868,7 +868,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.30)(happy-dom@14.2.0) + version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.1) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2178,8 +2178,8 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.1(nuxt@packages+nuxt)(vite@5.2.2): - resolution: {integrity: sha512-xxZvBpVfB1G8SN1o1OdH9D3/+cgBMguO/cgMWy4vybx1n2XCAmSr7XRfnvFmf888MW+BwqlJRTUQYXXbccNvOA==} + /@nuxt/devtools-kit@1.1.3(nuxt@packages+nuxt)(vite@5.2.2): + resolution: {integrity: sha512-bVIGng74haYAvJXiV+xtk7xrpHPZOJtcV4Flgl9IM+PYSjqs5pIRFRDnDwCQYAGt99hxGtQkdTBRqPQLxVCmeA==} peerDependencies: nuxt: workspace:* vite: 5.2.2 @@ -2191,8 +2191,8 @@ packages: vite: 5.2.2(@types/node@20.11.30) dev: false - /@nuxt/devtools-wizard@1.1.1: - resolution: {integrity: sha512-l03CemzPROMR/wrzICfa77YTDp1PlScAS3zwLBgLIptRHgMD3xQCmgkOPA4tZ5kdWLwC8qwOWDCz5YGUSaPvkA==} + /@nuxt/devtools-wizard@1.1.3: + resolution: {integrity: sha512-eeAeqHel5fb9eRjiw6/YOeGUGjsddooUrGXSc6aGTGnlnT6qOpMXRxj/amh9Pi0mm0cUiy5wILeGAlwK92waCA==} hasBin: true dependencies: consola: 3.2.3 @@ -2207,16 +2207,16 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.1(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21): - resolution: {integrity: sha512-mg8+3cClmMf5Yt3IGdZVUqybjFUZx8C3fGGPHdQO0mnkh+pBMPfb/kifbSY+z7fZmqP+axE3bM/PkqVgUWarDw==} + /@nuxt/devtools@1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21): + resolution: {integrity: sha512-+mps8+01b2ntJOHNNTfeUTj4A/b2CyAxvmbwgoDc91XAycpJMWqzYzqBXemR4ZoDL8mbk6coQ1rmz8f1dM25fA==} hasBin: true peerDependencies: nuxt: workspace:* vite: 5.2.2 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.1(nuxt@packages+nuxt)(vite@5.2.2) - '@nuxt/devtools-wizard': 1.1.1 + '@nuxt/devtools-kit': 1.1.3(nuxt@packages+nuxt)(vite@5.2.2) + '@nuxt/devtools-wizard': 1.1.3 '@nuxt/kit': link:packages/kit '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) '@vue/devtools-core': 7.0.20(vite@5.2.2)(vue@3.4.21) @@ -2328,7 +2328,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2381,7 +2381,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.2.0 + happy-dom: 14.3.1 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.3 @@ -2396,8 +2396,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.2.2(@types/node@20.11.30) - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3656,7 +3656,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.2.0) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) transitivePeerDependencies: - supports-color dev: true @@ -6766,8 +6766,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.2.0: - resolution: {integrity: sha512-vTqF/9MEkRKgYy5eKq9W0uiNmkgnVAmJhRwn8x8fQBR7lc4C84859jLhgZ1lR4Gi/t70oSdgvtLpxlHjgdJrAw==} + /happy-dom@14.3.1: + resolution: {integrity: sha512-uv2mE7jUH0S3cTnDPqNQj+J+Z5wOevqzopc7e8URXtcCH2STubCjPFVyEJ1ONGSv/aL/uvNwo5WWjsinpWpADQ==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11731,10 +11731,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.2.0)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11752,7 +11752,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.2.0): + /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.1): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11788,7 +11788,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.2.0 + happy-dom: 14.3.1 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11810,7 +11810,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.2.0): + /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11845,7 +11845,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.2.0 + happy-dom: 14.3.1 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 From adc36272892ee7258eacebff0bb9bbe9f691a717 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 10:54:48 +0000 Subject: [PATCH 358/470] chore(deps): update all non-major dependencies (main) (#26448) --- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 152 +++++++++++++++---------------- 8 files changed, 84 insertions(+), 84 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d3004c427f..02508e2657 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 + uses: github/codeql-action/init@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 + uses: github/codeql-action/analyze@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 6247c398e7..0284a0f22f 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8 + uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 with: sarif_file: results.sarif diff --git a/package.json b/package.json index 23ac01d342..1a23c755a7 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@nuxt/webpack-builder": "workspace:*", "rollup": "^4.13.0", "nuxt": "workspace:*", - "vite": "5.2.2", + "vite": "5.2.4", "vue": "3.4.21", "magic-string": "^0.30.8" }, diff --git a/packages/kit/package.json b/packages/kit/package.json index f36e0bd98a..807af38eda 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -52,7 +52,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.4", "unbuild": "latest", - "vite": "5.2.2", + "vite": "5.2.4", "vitest": "1.4.0", "webpack": "5.91.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 07268fb74b..e6f624b916 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -122,7 +122,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.2.2", + "vite": "5.2.4", "vitest": "1.4.0" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 250c5d3082..9cf49cf4d6 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -52,7 +52,7 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.2.2", + "vite": "5.2.4", "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index ad4598108b..3b2627e14f 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -62,7 +62,7 @@ "ufo": "^1.5.3", "unenv": "^1.9.0", "unplugin": "^1.10.0", - "vite": "^5.2.2", + "vite": "^5.2.4", "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ef9c605e0..0157a1aca2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: '@nuxt/webpack-builder': workspace:* rollup: ^4.13.0 nuxt: workspace:* - vite: 5.2.2 + vite: 5.2.4 vue: 3.4.21 magic-string: ^0.30.8 @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -141,7 +141,7 @@ importers: version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -228,8 +228,8 @@ importers: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.2 - version: 5.2.2(@types/node@20.11.30) + specifier: 5.2.4 + version: 5.2.4(@types/node@20.11.30) vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.3 - version: 1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) + version: 1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.4)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -422,13 +422,13 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.2)(vue@3.4.21) + version: 5.0.4(vite@5.2.4)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.2 - version: 5.2.2(@types/node@20.11.30) + specifier: 5.2.4 + version: 5.2.4(@types/node@20.11.30) vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) @@ -486,10 +486,10 @@ importers: version: 1.8.20 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.2)(vue@3.4.21) + version: 5.0.4(vite@5.2.4)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.2)(vue@3.4.21) + version: 3.1.0(vite@5.2.4)(vue@3.4.21) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 @@ -524,8 +524,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.2.2 - version: 5.2.2(@types/node@20.11.30) + specifier: 5.2.4 + version: 5.2.4(@types/node@20.11.30) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -555,10 +555,10 @@ importers: version: 5.0.5(rollup@4.13.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.2)(vue@3.4.21) + version: 5.0.4(vite@5.2.4)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.2)(vue@3.4.21) + version: 3.1.0(vite@5.2.4)(vue@3.4.21) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -638,14 +638,14 @@ importers: specifier: ^1.10.0 version: 1.10.0 vite: - specifier: 5.2.2 - version: 5.2.2(@types/node@20.11.30) + specifier: 5.2.4 + version: 5.2.4(@types/node@20.11.30) vite-node: specifier: ^1.4.0 version: 1.4.0(@types/node@20.11.30) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.2)(vue-tsc@2.0.7) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.4)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -2178,17 +2178,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.3(nuxt@packages+nuxt)(vite@5.2.2): + /@nuxt/devtools-kit@1.1.3(nuxt@packages+nuxt)(vite@5.2.4): resolution: {integrity: sha512-bVIGng74haYAvJXiV+xtk7xrpHPZOJtcV4Flgl9IM+PYSjqs5pIRFRDnDwCQYAGt99hxGtQkdTBRqPQLxVCmeA==} peerDependencies: nuxt: workspace:* - vite: 5.2.2 + vite: 5.2.4 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) dev: false /@nuxt/devtools-wizard@1.1.3: @@ -2207,19 +2207,19 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21): + /@nuxt/devtools@1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.4)(vue@3.4.21): resolution: {integrity: sha512-+mps8+01b2ntJOHNNTfeUTj4A/b2CyAxvmbwgoDc91XAycpJMWqzYzqBXemR4ZoDL8mbk6coQ1rmz8f1dM25fA==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.2.2 + vite: 5.2.4 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.3(nuxt@packages+nuxt)(vite@5.2.2) + '@nuxt/devtools-kit': 1.1.3(nuxt@packages+nuxt)(vite@5.2.4) '@nuxt/devtools-wizard': 1.1.3 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21) - '@vue/devtools-core': 7.0.20(vite@5.2.2)(vue@3.4.21) + '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.4)(vue@3.4.21) + '@vue/devtools-core': 7.0.20(vite@5.2.4)(vue@3.4.21) '@vue/devtools-kit': 7.0.20(vue@3.4.21) birpc: 0.2.17 consola: 3.2.3 @@ -2249,9 +2249,9 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.13.0) - vite: 5.2.2(@types/node@20.11.30) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.2) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.2) + vite: 5.2.4(@types/node@20.11.30) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.4) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.4) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -2328,7 +2328,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2342,7 +2342,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.2.2 + vite: 5.2.4 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.21 vue-router: ^4.0.0 @@ -2395,9 +2395,9 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.0 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3377,18 +3377,18 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: false - /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.2): + /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.4): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: - vite: 5.2.2 + vite: 5.2.4 peerDependenciesMeta: vite: optional: true dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.2) - vite: 5.2.2(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.4) + vite: 5.2.4(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3571,10 +3571,10 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.13.0)(vite@5.2.2): + /@unocss/vite@0.58.6(rollup@4.13.0)(vite@5.2.4): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: - vite: 5.2.2 + vite: 5.2.4 dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.13.0) @@ -3586,7 +3586,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3612,29 +3612,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.2)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.4)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.2.2 + vite: 5.2.4 vue: 3.4.21 dependencies: '@babel/core': 7.24.3 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.3) - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.2.2)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.4)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.2.2 + vite: 5.2.4 vue: 3.4.21 dependencies: - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3844,12 +3844,12 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.2)(vue@3.4.21): + /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.4)(vue@3.4.21): resolution: {integrity: sha512-q48RtnhFmC0kd4N+3Edfctv6oL2neN6crUapBydSr6szjR87dQJygTEYKlpyx0SHmVLVwq4mcgFuf1ftAKjd/w==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-core': 7.0.20(vite@5.2.2)(vue@3.4.21) + '@vue/devtools-core': 7.0.20(vite@5.2.4)(vue@3.4.21) '@vue/devtools-kit': 7.0.20(vue@3.4.21) '@vue/devtools-shared': 7.0.20 '@vue/devtools-ui': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) @@ -3876,7 +3876,7 @@ packages: - vite dev: false - /@vue/devtools-core@7.0.20(vite@5.2.2)(vue@3.4.21): + /@vue/devtools-core@7.0.20(vite@5.2.4)(vue@3.4.21): resolution: {integrity: sha512-JefAn0ljTUPtoEJ47PjEfcLQb9BVt3OH1R6aD8qZ7bNYwZH+xystXpVJ3pW+1iDnOXjfpLgc3bsHUZoxlfobpw==} dependencies: '@vue/devtools-kit': 7.0.20(vue@3.4.21) @@ -3884,7 +3884,7 @@ packages: mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.2) + vite-hot-client: 0.2.3(vite@5.2.4) transitivePeerDependencies: - vite - vue @@ -3924,7 +3924,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.2) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.4) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' @@ -11295,19 +11295,19 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.2): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.4): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.58.6 - vite: 5.2.2 + vite: 5.2.4 peerDependenciesMeta: '@unocss/webpack': optional: true vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.13.0)(vite@5.2.2) + '@unocss/astro': 0.58.6(rollup@4.13.0)(vite@5.2.4) '@unocss/cli': 0.58.6(rollup@4.13.0) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -11326,8 +11326,8 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.2) - vite: 5.2.2(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.4) + vite: 5.2.4(@types/node@20.11.30) transitivePeerDependencies: - postcss - rollup @@ -11550,12 +11550,12 @@ packages: vfile-message: 4.0.2 dev: true - /vite-hot-client@0.2.3(vite@5.2.2): + /vite-hot-client@0.2.3(vite@5.2.4): resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: - vite: 5.2.2 + vite: 5.2.4 dependencies: - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) dev: false /vite-node@1.0.2(@types/node@20.11.30): @@ -11567,7 +11567,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11588,7 +11588,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11599,7 +11599,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.2)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.4)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11608,7 +11608,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.2.2 + vite: 5.2.4 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -11643,7 +11643,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.3 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11651,12 +11651,12 @@ packages: vue-tsc: 2.0.7(typescript@5.4.3) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.2): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.4): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.2.2 + vite: 5.2.4 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -11671,16 +11671,16 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.2.2): + /vite-plugin-vue-inspector@4.0.2(vite@5.2.4): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.2.2 + vite: 5.2.4 dependencies: '@babel/core': 7.24.3 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.3) @@ -11691,13 +11691,13 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.2(@types/node@20.11.30): - resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} + /vite@5.2.4(@types/node@20.11.30): + resolution: {integrity: sha512-vjFghvHWidBTinu5TCymJk/lRHlR5ljqB83yugr0HA1xspUPdOZHqbqDLnZ8f9/jINrtFHTCYYyIUi+o+Q5iyg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11731,10 +11731,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.2)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11797,7 +11797,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) vite-node: 1.0.2(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11854,7 +11854,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.2(@types/node@20.11.30) + vite: 5.2.4(@types/node@20.11.30) vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: From 62a1fee8174e039d75e9cdd04f8e283b8e0c5773 Mon Sep 17 00:00:00 2001 From: Thimo <68739517+ThimoDEV@users.noreply.github.com> Date: Sat, 23 Mar 2024 11:57:10 +0100 Subject: [PATCH 359/470] docs: advise installing nuxi for debugging with pnpm (#26447) --- docs/2.guide/3.going-further/9.debugging.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/2.guide/3.going-further/9.debugging.md b/docs/2.guide/3.going-further/9.debugging.md index 0771c6d959..59558ba67d 100644 --- a/docs/2.guide/3.going-further/9.debugging.md +++ b/docs/2.guide/3.going-further/9.debugging.md @@ -38,6 +38,10 @@ It is possible to debug your Nuxt app in your IDE while you are developing it. You may need to update the config below with a path to your web browser. For more information, visit the [VS Code documentation about debug configuration](https://go.microsoft.com/fwlink/?linkid=830387). +::important +If you use `pnpm`, you will need to have `nuxi` installed as a devDependency for the configuration below to work. +:: + ```json5 { // Use IntelliSense to learn about possible attributes. From 431ad93d9c214ed79eead4922c36bc97217716bb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 24 Mar 2024 14:45:28 +0000 Subject: [PATCH 360/470] chore(deps): update all non-major dependencies (main) (#26460) --- package.json | 4 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 182 +++++++++++++++++------------------ 6 files changed, 97 insertions(+), 97 deletions(-) diff --git a/package.json b/package.json index 1a23c755a7..1f59ebf7c9 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@nuxt/webpack-builder": "workspace:*", "rollup": "^4.13.0", "nuxt": "workspace:*", - "vite": "5.2.4", + "vite": "5.2.5", "vue": "3.4.21", "magic-string": "^0.30.8" }, @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.3.1", + "happy-dom": "14.3.3", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", diff --git a/packages/kit/package.json b/packages/kit/package.json index 807af38eda..000c6294b0 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -52,7 +52,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.4", "unbuild": "latest", - "vite": "5.2.4", + "vite": "5.2.5", "vitest": "1.4.0", "webpack": "5.91.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index e6f624b916..2a5e672358 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -122,7 +122,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.2.4", + "vite": "5.2.5", "vitest": "1.4.0" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 9cf49cf4d6..74eb344d24 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -52,7 +52,7 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.2.4", + "vite": "5.2.5", "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 3b2627e14f..e89380512b 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -62,7 +62,7 @@ "ufo": "^1.5.3", "unenv": "^1.9.0", "unplugin": "^1.10.0", - "vite": "^5.2.4", + "vite": "^5.2.5", "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0157a1aca2..6d01fe33e3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: '@nuxt/webpack-builder': workspace:* rollup: ^4.13.0 nuxt: workspace:* - vite: 5.2.4 + vite: 5.2.5 vue: 3.4.21 magic-string: ^0.30.8 @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.3.1 - version: 14.3.1 + specifier: 14.3.3 + version: 14.3.3 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -228,11 +228,11 @@ importers: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.4 - version: 5.2.4(@types/node@20.11.30) + specifier: 5.2.5 + version: 5.2.5(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) webpack: specifier: 5.91.0 version: 5.91.0 @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.3 - version: 1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.4)(vue@3.4.21) + version: 1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.5)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -422,16 +422,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.4)(vue@3.4.21) + version: 5.0.4(vite@5.2.5)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.4 - version: 5.2.4(@types/node@20.11.30) + specifier: 5.2.5 + version: 5.2.5(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) packages/schema: dependencies: @@ -486,10 +486,10 @@ importers: version: 1.8.20 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.4)(vue@3.4.21) + version: 5.0.4(vite@5.2.5)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.4)(vue@3.4.21) + version: 3.1.0(vite@5.2.5)(vue@3.4.21) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 @@ -524,8 +524,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.2.4 - version: 5.2.4(@types/node@20.11.30) + specifier: 5.2.5 + version: 5.2.5(@types/node@20.11.30) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -555,10 +555,10 @@ importers: version: 5.0.5(rollup@4.13.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.4)(vue@3.4.21) + version: 5.0.4(vite@5.2.5)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.4)(vue@3.4.21) + version: 3.1.0(vite@5.2.5)(vue@3.4.21) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -638,14 +638,14 @@ importers: specifier: ^1.10.0 version: 1.10.0 vite: - specifier: 5.2.4 - version: 5.2.4(@types/node@20.11.30) + specifier: 5.2.5 + version: 5.2.5(@types/node@20.11.30) vite-node: specifier: ^1.4.0 version: 1.4.0(@types/node@20.11.30) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.4)(vue-tsc@2.0.7) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.5)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -868,7 +868,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.1) + version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.3) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2178,17 +2178,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.3(nuxt@packages+nuxt)(vite@5.2.4): + /@nuxt/devtools-kit@1.1.3(nuxt@packages+nuxt)(vite@5.2.5): resolution: {integrity: sha512-bVIGng74haYAvJXiV+xtk7xrpHPZOJtcV4Flgl9IM+PYSjqs5pIRFRDnDwCQYAGt99hxGtQkdTBRqPQLxVCmeA==} peerDependencies: nuxt: workspace:* - vite: 5.2.4 + vite: 5.2.5 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) dev: false /@nuxt/devtools-wizard@1.1.3: @@ -2207,19 +2207,19 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.4)(vue@3.4.21): + /@nuxt/devtools@1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.5)(vue@3.4.21): resolution: {integrity: sha512-+mps8+01b2ntJOHNNTfeUTj4A/b2CyAxvmbwgoDc91XAycpJMWqzYzqBXemR4ZoDL8mbk6coQ1rmz8f1dM25fA==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.2.4 + vite: 5.2.5 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.3(nuxt@packages+nuxt)(vite@5.2.4) + '@nuxt/devtools-kit': 1.1.3(nuxt@packages+nuxt)(vite@5.2.5) '@nuxt/devtools-wizard': 1.1.3 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.4)(vue@3.4.21) - '@vue/devtools-core': 7.0.20(vite@5.2.4)(vue@3.4.21) + '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.5)(vue@3.4.21) + '@vue/devtools-core': 7.0.20(vite@5.2.5)(vue@3.4.21) '@vue/devtools-kit': 7.0.20(vue@3.4.21) birpc: 0.2.17 consola: 3.2.3 @@ -2249,9 +2249,9 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.13.0) - vite: 5.2.4(@types/node@20.11.30) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.4) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.4) + vite: 5.2.5(@types/node@20.11.30) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.5) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.5) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -2328,7 +2328,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2342,7 +2342,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.2.4 + vite: 5.2.5 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.21 vue-router: ^4.0.0 @@ -2381,7 +2381,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.3.1 + happy-dom: 14.3.3 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.3 @@ -2395,9 +2395,9 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.0 - vite: 5.2.4(@types/node@20.11.30) - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vite: 5.2.5(@types/node@20.11.30) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3377,18 +3377,18 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: false - /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.4): + /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.5): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: - vite: 5.2.4 + vite: 5.2.5 peerDependenciesMeta: vite: optional: true dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.4) - vite: 5.2.4(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.5) + vite: 5.2.5(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3571,10 +3571,10 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.13.0)(vite@5.2.4): + /@unocss/vite@0.58.6(rollup@4.13.0)(vite@5.2.5): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: - vite: 5.2.4 + vite: 5.2.5 dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.13.0) @@ -3586,7 +3586,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3612,29 +3612,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.4)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.5)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.2.4 + vite: 5.2.5 vue: 3.4.21 dependencies: '@babel/core': 7.24.3 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.3) - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.2.4)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.5)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.2.4 + vite: 5.2.5 vue: 3.4.21 dependencies: - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3656,7 +3656,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.1) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) transitivePeerDependencies: - supports-color dev: true @@ -3844,12 +3844,12 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.4)(vue@3.4.21): + /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.5)(vue@3.4.21): resolution: {integrity: sha512-q48RtnhFmC0kd4N+3Edfctv6oL2neN6crUapBydSr6szjR87dQJygTEYKlpyx0SHmVLVwq4mcgFuf1ftAKjd/w==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-core': 7.0.20(vite@5.2.4)(vue@3.4.21) + '@vue/devtools-core': 7.0.20(vite@5.2.5)(vue@3.4.21) '@vue/devtools-kit': 7.0.20(vue@3.4.21) '@vue/devtools-shared': 7.0.20 '@vue/devtools-ui': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) @@ -3876,7 +3876,7 @@ packages: - vite dev: false - /@vue/devtools-core@7.0.20(vite@5.2.4)(vue@3.4.21): + /@vue/devtools-core@7.0.20(vite@5.2.5)(vue@3.4.21): resolution: {integrity: sha512-JefAn0ljTUPtoEJ47PjEfcLQb9BVt3OH1R6aD8qZ7bNYwZH+xystXpVJ3pW+1iDnOXjfpLgc3bsHUZoxlfobpw==} dependencies: '@vue/devtools-kit': 7.0.20(vue@3.4.21) @@ -3884,7 +3884,7 @@ packages: mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.4) + vite-hot-client: 0.2.3(vite@5.2.5) transitivePeerDependencies: - vite - vue @@ -3924,7 +3924,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.4) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.5) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' @@ -6766,8 +6766,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.3.1: - resolution: {integrity: sha512-uv2mE7jUH0S3cTnDPqNQj+J+Z5wOevqzopc7e8URXtcCH2STubCjPFVyEJ1ONGSv/aL/uvNwo5WWjsinpWpADQ==} + /happy-dom@14.3.3: + resolution: {integrity: sha512-hsecx5SDUUwVW0MK5sxFWA7WHLabvzIEKjf9gah+siJp/LD+bMyFfAO18b9mlc5meMADVUm6O/YF4+CliaMD6g==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11295,19 +11295,19 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.4): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.5): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.58.6 - vite: 5.2.4 + vite: 5.2.5 peerDependenciesMeta: '@unocss/webpack': optional: true vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.13.0)(vite@5.2.4) + '@unocss/astro': 0.58.6(rollup@4.13.0)(vite@5.2.5) '@unocss/cli': 0.58.6(rollup@4.13.0) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -11326,8 +11326,8 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.4) - vite: 5.2.4(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.5) + vite: 5.2.5(@types/node@20.11.30) transitivePeerDependencies: - postcss - rollup @@ -11550,12 +11550,12 @@ packages: vfile-message: 4.0.2 dev: true - /vite-hot-client@0.2.3(vite@5.2.4): + /vite-hot-client@0.2.3(vite@5.2.5): resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: - vite: 5.2.4 + vite: 5.2.5 dependencies: - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) dev: false /vite-node@1.0.2(@types/node@20.11.30): @@ -11567,7 +11567,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11588,7 +11588,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11599,7 +11599,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.4)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.5)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11608,7 +11608,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.2.4 + vite: 5.2.5 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -11643,7 +11643,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.3 - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11651,12 +11651,12 @@ packages: vue-tsc: 2.0.7(typescript@5.4.3) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.4): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.5): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.2.4 + vite: 5.2.5 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -11671,16 +11671,16 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.2.4): + /vite-plugin-vue-inspector@4.0.2(vite@5.2.5): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.2.4 + vite: 5.2.5 dependencies: '@babel/core': 7.24.3 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.3) @@ -11691,13 +11691,13 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.4(@types/node@20.11.30): - resolution: {integrity: sha512-vjFghvHWidBTinu5TCymJk/lRHlR5ljqB83yugr0HA1xspUPdOZHqbqDLnZ8f9/jINrtFHTCYYyIUi+o+Q5iyg==} + /vite@5.2.5(@types/node@20.11.30): + resolution: {integrity: sha512-a+rTAqkMmJ2hQpC6dfAyyc5M0YLH3BGZKLpA6pU9AhzlcK1YZS8P/ov9OcdHxaf+j0sM0DIh/txH7ydTHUpISg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11731,10 +11731,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.1)(playwright-core@1.42.1)(vite@5.2.4)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11752,7 +11752,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.1): + /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.3): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11788,7 +11788,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.1 + happy-dom: 14.3.3 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11797,7 +11797,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) vite-node: 1.0.2(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11810,7 +11810,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.1): + /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.3): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11845,7 +11845,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.1 + happy-dom: 14.3.3 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11854,7 +11854,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.4(@types/node@20.11.30) + vite: 5.2.5(@types/node@20.11.30) vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: From 79787c8123830182facdc3661c0534d91e50e8fb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:58:53 +0000 Subject: [PATCH 361/470] chore(deps): update all non-major dependencies (main) (#26466) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- .github/workflows/dependency-review.yml | 2 +- package.json | 4 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 8 +- packages/schema/package.json | 4 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 244 ++++++++++++------------ test/bundle.test.ts | 4 +- 8 files changed, 135 insertions(+), 135 deletions(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 8723dc6692..e781898a7a 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -19,4 +19,4 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: 'Dependency Review' - uses: actions/dependency-review-action@0fa40c3c10055986a88de3baa0d6ec17c5a894b3 # v4.2.3 + uses: actions/dependency-review-action@733dd5d4a5203f238c33806593ec0f5fc5343d8c # v4.2.4 diff --git a/package.json b/package.json index 1f59ebf7c9..fbe4a76551 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@nuxt/webpack-builder": "workspace:*", "rollup": "^4.13.0", "nuxt": "workspace:*", - "vite": "5.2.5", + "vite": "5.2.6", "vue": "3.4.21", "magic-string": "^0.30.8" }, @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.3.3", + "happy-dom": "14.3.6", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.4", diff --git a/packages/kit/package.json b/packages/kit/package.json index 000c6294b0..20af6be35a 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -52,7 +52,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.4", "unbuild": "latest", - "vite": "5.2.5", + "vite": "5.2.6", "vitest": "1.4.0", "webpack": "5.91.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 2a5e672358..40a162f6b8 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.8.20", - "@unhead/ssr": "^1.8.20", - "@unhead/vue": "^1.8.20", + "@unhead/dom": "^1.9.1", + "@unhead/ssr": "^1.9.1", + "@unhead/vue": "^1.9.1", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", @@ -122,7 +122,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.2.5", + "vite": "5.2.6", "vitest": "1.4.0" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 74eb344d24..9341346fe4 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.8.20", + "@unhead/schema": "1.9.1", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", @@ -52,7 +52,7 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.2.5", + "vite": "5.2.6", "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index e89380512b..3b2ac94b92 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -62,7 +62,7 @@ "ufo": "^1.5.3", "unenv": "^1.9.0", "unplugin": "^1.10.0", - "vite": "^5.2.5", + "vite": "^5.2.6", "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d01fe33e3..73a34938ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: '@nuxt/webpack-builder': workspace:* rollup: ^4.13.0 nuxt: workspace:* - vite: 5.2.5 + vite: 5.2.6 vue: 3.4.21 magic-string: ^0.30.8 @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.3.3 - version: 14.3.3 + specifier: 14.3.6 + version: 14.3.6 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -228,11 +228,11 @@ importers: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.5 - version: 5.2.5(@types/node@20.11.30) + specifier: 5.2.6 + version: 5.2.6(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) webpack: specifier: 5.91.0 version: 5.91.0 @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.3 - version: 1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.5)(vue@3.4.21) + version: 1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -264,14 +264,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.11.30 '@unhead/dom': - specifier: ^1.8.20 - version: 1.8.20 + specifier: ^1.9.1 + version: 1.9.1 '@unhead/ssr': - specifier: ^1.8.20 - version: 1.8.20 + specifier: ^1.9.1 + version: 1.9.1 '@unhead/vue': - specifier: ^1.8.20 - version: 1.8.20(vue@3.4.21) + specifier: ^1.9.1 + version: 1.9.1(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -422,16 +422,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.5)(vue@3.4.21) + version: 5.0.4(vite@5.2.6)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.5 - version: 5.2.5(@types/node@20.11.30) + specifier: 5.2.6 + version: 5.2.6(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) packages/schema: dependencies: @@ -482,14 +482,14 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.8.20 - version: 1.8.20 + specifier: 1.9.1 + version: 1.9.1 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.5)(vue@3.4.21) + version: 5.0.4(vite@5.2.6)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.5)(vue@3.4.21) + version: 3.1.0(vite@5.2.6)(vue@3.4.21) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 @@ -524,8 +524,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.2.5 - version: 5.2.5(@types/node@20.11.30) + specifier: 5.2.6 + version: 5.2.6(@types/node@20.11.30) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -555,10 +555,10 @@ importers: version: 5.0.5(rollup@4.13.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.5)(vue@3.4.21) + version: 5.0.4(vite@5.2.6)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.5)(vue@3.4.21) + version: 3.1.0(vite@5.2.6)(vue@3.4.21) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -638,14 +638,14 @@ importers: specifier: ^1.10.0 version: 1.10.0 vite: - specifier: 5.2.5 - version: 5.2.5(@types/node@20.11.30) + specifier: 5.2.6 + version: 5.2.6(@types/node@20.11.30) vite-node: specifier: ^1.4.0 version: 1.4.0(@types/node@20.11.30) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.5)(vue-tsc@2.0.7) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.6)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -868,7 +868,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.3) + version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.6) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2178,17 +2178,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.3(nuxt@packages+nuxt)(vite@5.2.5): + /@nuxt/devtools-kit@1.1.3(nuxt@packages+nuxt)(vite@5.2.6): resolution: {integrity: sha512-bVIGng74haYAvJXiV+xtk7xrpHPZOJtcV4Flgl9IM+PYSjqs5pIRFRDnDwCQYAGt99hxGtQkdTBRqPQLxVCmeA==} peerDependencies: nuxt: workspace:* - vite: 5.2.5 + vite: 5.2.6 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) dev: false /@nuxt/devtools-wizard@1.1.3: @@ -2207,19 +2207,19 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.5)(vue@3.4.21): + /@nuxt/devtools@1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-+mps8+01b2ntJOHNNTfeUTj4A/b2CyAxvmbwgoDc91XAycpJMWqzYzqBXemR4ZoDL8mbk6coQ1rmz8f1dM25fA==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.2.5 + vite: 5.2.6 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.3(nuxt@packages+nuxt)(vite@5.2.5) + '@nuxt/devtools-kit': 1.1.3(nuxt@packages+nuxt)(vite@5.2.6) '@nuxt/devtools-wizard': 1.1.3 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.5)(vue@3.4.21) - '@vue/devtools-core': 7.0.20(vite@5.2.5)(vue@3.4.21) + '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-core': 7.0.20(vite@5.2.6)(vue@3.4.21) '@vue/devtools-kit': 7.0.20(vue@3.4.21) birpc: 0.2.17 consola: 3.2.3 @@ -2249,9 +2249,9 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.13.0) - vite: 5.2.5(@types/node@20.11.30) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.5) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.5) + vite: 5.2.6(@types/node@20.11.30) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.6) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.6) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -2328,7 +2328,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2342,7 +2342,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.2.5 + vite: 5.2.6 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.21 vue-router: ^4.0.0 @@ -2381,7 +2381,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.3.3 + happy-dom: 14.3.6 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.3 @@ -2395,9 +2395,9 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.0 - vite: 5.2.5(@types/node@20.11.30) - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vite: 5.2.6(@types/node@20.11.30) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3339,56 +3339,56 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.8.20: - resolution: {integrity: sha512-TXRQSVbqBOQc02m3wxgj55m93U8a3WBHV9xJi2zVX/iHEJgeQbZMJ+rV0YJkHy2OHAC0MfjVQA5NDLaVwtromw==} + /@unhead/dom@1.9.1: + resolution: {integrity: sha512-5YVT8pyg7Mw8niWwklP8nFKK9WLIvaK4O3tXvqpW9OxSAexJG576bh6FR0hEtSDLBkJh+pI8mMMMIuzSdK/whA==} dependencies: - '@unhead/schema': 1.8.20 - '@unhead/shared': 1.8.20 + '@unhead/schema': 1.9.1 + '@unhead/shared': 1.9.1 dev: false - /@unhead/schema@1.8.20: - resolution: {integrity: sha512-n0e5jsKino8JTHc4wpr4l8MXXIrj0muYYAEVa0WSYkIVnMiBr1Ik3l6elhCr4fdSyJ3M2DQQleea/oZCr11XCw==} + /@unhead/schema@1.9.1: + resolution: {integrity: sha512-wCJKNx4l837NEVMWP3MnUfkgsnMyuXwYs7+5VvbYzAWbnZSvQt/K10xDV0N7ft9RSlPfgukVVG+gtARm1kGVHQ==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.8.20: - resolution: {integrity: sha512-J0fdtavcMtXcG0g9jmVW03toqfr8A0G7k+Q6jdpwuUPhWk/vhfZn3aiRV+F8LlU91c/AbGWDv8T1MrtMQbb0Sg==} + /@unhead/shared@1.9.1: + resolution: {integrity: sha512-rZgzXzOeF4vu2bJJAkHJckgPgWGfpDA3/vesPhJIZGs2NkGYi9lDwMUeJ90HKCMJv1+JRAcPOokjRi6vRlnQpg==} dependencies: - '@unhead/schema': 1.8.20 + '@unhead/schema': 1.9.1 dev: false - /@unhead/ssr@1.8.20: - resolution: {integrity: sha512-Cq1NcdYZ/IAkJ0muqdOBxJXb5dn+uV+RvIXDykRb9lGgriU/S0fzUw8XYTYMwLlvW6rSMrtRx319hz2D3ZrBkA==} + /@unhead/ssr@1.9.1: + resolution: {integrity: sha512-ojY5umX2rtEvmsAFX935DPxk+rZfmgLOEMP1etJGYmCh2GQskK4USjUp9uYJyf0DP0xh+42R4a06e5602CIWHQ==} dependencies: - '@unhead/schema': 1.8.20 - '@unhead/shared': 1.8.20 + '@unhead/schema': 1.9.1 + '@unhead/shared': 1.9.1 dev: false - /@unhead/vue@1.8.20(vue@3.4.21): - resolution: {integrity: sha512-Lm6cnbX/QGCh+pxGN1Tl6LVXxYs5bLlN8APfI2rQ5kMNRE6Yy7r2eY5wCZ0SfsSRonqJxzVlgMMh8JPEY5d4GQ==} + /@unhead/vue@1.9.1(vue@3.4.21): + resolution: {integrity: sha512-clSKIkwtw26Lx5tR7ecJ/zvyFJkghvJU+jt2liQ4XYQb/Qaveh8L7gqsI1RKUuKaXAjlo2Z4Jpp1v9nHxA0heg==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.8.20 - '@unhead/shared': 1.8.20 + '@unhead/schema': 1.9.1 + '@unhead/shared': 1.9.1 hookable: 5.5.3 - unhead: 1.8.20 + unhead: 1.9.1 vue: 3.4.21(typescript@5.4.3) dev: false - /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.5): + /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.6): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: - vite: 5.2.5 + vite: 5.2.6 peerDependenciesMeta: vite: optional: true dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.5) - vite: 5.2.5(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.6) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3571,10 +3571,10 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.13.0)(vite@5.2.5): + /@unocss/vite@0.58.6(rollup@4.13.0)(vite@5.2.6): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: - vite: 5.2.5 + vite: 5.2.6 dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.13.0) @@ -3586,7 +3586,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3612,29 +3612,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.5)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.2.5 + vite: 5.2.6 vue: 3.4.21 dependencies: '@babel/core': 7.24.3 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.3) - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.2.5)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.2.5 + vite: 5.2.6 vue: 3.4.21 dependencies: - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3656,7 +3656,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.3) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) transitivePeerDependencies: - supports-color dev: true @@ -3844,12 +3844,12 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.5)(vue@3.4.21): + /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-q48RtnhFmC0kd4N+3Edfctv6oL2neN6crUapBydSr6szjR87dQJygTEYKlpyx0SHmVLVwq4mcgFuf1ftAKjd/w==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-core': 7.0.20(vite@5.2.5)(vue@3.4.21) + '@vue/devtools-core': 7.0.20(vite@5.2.6)(vue@3.4.21) '@vue/devtools-kit': 7.0.20(vue@3.4.21) '@vue/devtools-shared': 7.0.20 '@vue/devtools-ui': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) @@ -3876,7 +3876,7 @@ packages: - vite dev: false - /@vue/devtools-core@7.0.20(vite@5.2.5)(vue@3.4.21): + /@vue/devtools-core@7.0.20(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-JefAn0ljTUPtoEJ47PjEfcLQb9BVt3OH1R6aD8qZ7bNYwZH+xystXpVJ3pW+1iDnOXjfpLgc3bsHUZoxlfobpw==} dependencies: '@vue/devtools-kit': 7.0.20(vue@3.4.21) @@ -3884,7 +3884,7 @@ packages: mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.5) + vite-hot-client: 0.2.3(vite@5.2.6) transitivePeerDependencies: - vite - vue @@ -3924,7 +3924,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.5) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.6) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' @@ -6766,8 +6766,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.3.3: - resolution: {integrity: sha512-hsecx5SDUUwVW0MK5sxFWA7WHLabvzIEKjf9gah+siJp/LD+bMyFfAO18b9mlc5meMADVUm6O/YF4+CliaMD6g==} + /happy-dom@14.3.6: + resolution: {integrity: sha512-fUb3dn0iuyyxRGqwFoU5iy6wjozxt/Qw7zGeRMockbBlpOegrV7Y0HIYBMQw8X4s7qpu55Tu7cNFoRM8s9VW5A==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11189,12 +11189,12 @@ packages: node-fetch-native: 1.6.3 pathe: 1.1.2 - /unhead@1.8.20: - resolution: {integrity: sha512-IJOCYact/7Za3M7CeeCWs8Vze53kHvKDUy/EXtkTm/an5StgqOt2uCnS3HrkioIMKdHBpy/qtTc6E3BoGMOq7Q==} + /unhead@1.9.1: + resolution: {integrity: sha512-qTyA0V6xjUrIJp6KWs0CqAayw4K2DE7rh0GO0vmcC2YuF0HITO/3zkVtG7zhJUd5VeGgGCO/82zatDOOhMyneA==} dependencies: - '@unhead/dom': 1.8.20 - '@unhead/schema': 1.8.20 - '@unhead/shared': 1.8.20 + '@unhead/dom': 1.9.1 + '@unhead/schema': 1.9.1 + '@unhead/shared': 1.9.1 hookable: 5.5.3 dev: false @@ -11295,19 +11295,19 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.5): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.6): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.58.6 - vite: 5.2.5 + vite: 5.2.6 peerDependenciesMeta: '@unocss/webpack': optional: true vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.13.0)(vite@5.2.5) + '@unocss/astro': 0.58.6(rollup@4.13.0)(vite@5.2.6) '@unocss/cli': 0.58.6(rollup@4.13.0) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -11326,8 +11326,8 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.5) - vite: 5.2.5(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.6) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - postcss - rollup @@ -11550,12 +11550,12 @@ packages: vfile-message: 4.0.2 dev: true - /vite-hot-client@0.2.3(vite@5.2.5): + /vite-hot-client@0.2.3(vite@5.2.6): resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: - vite: 5.2.5 + vite: 5.2.6 dependencies: - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) dev: false /vite-node@1.0.2(@types/node@20.11.30): @@ -11567,7 +11567,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11588,7 +11588,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11599,7 +11599,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.5)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.6)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11608,7 +11608,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.2.5 + vite: 5.2.6 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -11643,7 +11643,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.3 - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11651,12 +11651,12 @@ packages: vue-tsc: 2.0.7(typescript@5.4.3) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.5): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.6): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.2.5 + vite: 5.2.6 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -11671,16 +11671,16 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.2.5): + /vite-plugin-vue-inspector@4.0.2(vite@5.2.6): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.2.5 + vite: 5.2.6 dependencies: '@babel/core': 7.24.3 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.3) @@ -11691,13 +11691,13 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.5(@types/node@20.11.30): - resolution: {integrity: sha512-a+rTAqkMmJ2hQpC6dfAyyc5M0YLH3BGZKLpA6pU9AhzlcK1YZS8P/ov9OcdHxaf+j0sM0DIh/txH7ydTHUpISg==} + /vite@5.2.6(@types/node@20.11.30): + resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11731,10 +11731,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.3)(playwright-core@1.42.1)(vite@5.2.5)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11752,7 +11752,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.3): + /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.6): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11788,7 +11788,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.3 + happy-dom: 14.3.6 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11797,7 +11797,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) vite-node: 1.0.2(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11810,7 +11810,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.3): + /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.6): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11845,7 +11845,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.3 + happy-dom: 14.3.6 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11854,7 +11854,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.5(@types/node@20.11.30) + vite: 5.2.6(@types/node@20.11.30) vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: diff --git a/test/bundle.test.ts b/test/bundle.test.ts index a2f64be04f..7b0a037dfc 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"207k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1337k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1335k"') const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"526k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"77.8k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"76.0k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 8911c0d0dd1173c9b5601b7c8902c787e591779c Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Mon, 25 Mar 2024 11:19:02 +0100 Subject: [PATCH 362/470] fix(nuxt): move `v-if` to wrapper in islands transform (#26386) --- .../nuxt/src/components/islandsTransform.ts | 51 +++++++++++++------ packages/nuxt/test/islandTransform.test.ts | 35 +++++++++++-- 2 files changed, 67 insertions(+), 19 deletions(-) diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index 5d4f452508..da41e693df 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -34,6 +34,7 @@ const HAS_SLOT_OR_CLIENT_RE = /(<slot[^>]*>)|(nuxt-client)/ const TEMPLATE_RE = /<template>([\s\S]*)<\/template>/ const NUXTCLIENT_ATTR_RE = /\s:?nuxt-client(="[^"]*")?/g const IMPORT_CODE = '\nimport { vforToArray as __vforToArray } from \'#app/components/utils\'' + '\nimport NuxtTeleportIslandComponent from \'#app/components/nuxt-teleport-island-component\'' + '\nimport NuxtTeleportSsrSlot from \'#app/components/nuxt-teleport-island-slot\'' +const EXTRACTED_ATTRS_RE = /v-(?:if|else-if|else)(="[^"]*")?/g function wrapWithVForDiv (code: string, vfor: string): string { return `<div v-for="${vfor}" style="display: contents;">${code}</div>` @@ -79,29 +80,31 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran if (node.name === 'slot') { const { attributes, children, loc } = node - // pass slot fallback to NuxtTeleportSsrSlot fallback - if (children.length) { - const attrString = Object.entries(attributes).map(([name, value]) => name ? `${name}="${value}" ` : value).join(' ') - const slice = code.slice(startingIndex + loc[0].end, startingIndex + loc[1].start).replaceAll(/:?key="[^"]"/g, '') - s.overwrite(startingIndex + loc[0].start, startingIndex + loc[1].end, `<slot ${attrString} /><template #fallback>${attributes['v-for'] ? wrapWithVForDiv(slice, attributes['v-for']) : slice}</template>`) - } - const slotName = attributes.name ?? 'default' - let vfor: [string, string] | undefined + let vfor: string | undefined if (attributes['v-for']) { - vfor = attributes['v-for'].split(' in ').map((v: string) => v.trim()) as [string, string] + vfor = attributes['v-for'] } delete attributes['v-for'] if (attributes.name) { delete attributes.name } if (attributes['v-bind']) { - attributes._bind = attributes['v-bind'] - delete attributes['v-bind'] + attributes._bind = extractAttributes(attributes, ['v-bind'])['v-bind'] } - const bindings = getPropsToString(attributes, vfor) - + const teleportAttributes = extractAttributes(attributes, ['v-if', 'v-else-if', 'v-else']) + const bindings = getPropsToString(attributes, vfor?.split(' in ').map((v: string) => v.trim()) as [string, string]) // add the wrapper - s.appendLeft(startingIndex + loc[0].start, `<NuxtTeleportSsrSlot name="${slotName}" :props="${bindings}">`) + s.appendLeft(startingIndex + loc[0].start, `<NuxtTeleportSsrSlot${attributeToString(teleportAttributes)} name="${slotName}" :props="${bindings}">`) + + if (children.length) { + // pass slot fallback to NuxtTeleportSsrSlot fallback + const attrString = attributeToString(attributes) + const slice = code.slice(startingIndex + loc[0].end, startingIndex + loc[1].start).replaceAll(/:?key="[^"]"/g, '') + s.overwrite(startingIndex + loc[0].start, startingIndex + loc[1].end, `<slot${attrString.replaceAll(EXTRACTED_ATTRS_RE, '')}/><template #fallback>${vfor ? wrapWithVForDiv(slice, vfor) : slice}</template>`) + } else { + s.overwrite(startingIndex + loc[0].start, startingIndex + loc[0].end, code.slice(startingIndex + loc[0].start, startingIndex + loc[0].end).replaceAll(EXTRACTED_ATTRS_RE, '')) + } + s.appendRight(startingIndex + loc[1].end, '</NuxtTeleportSsrSlot>') } else if (options.selectiveClient && ('nuxt-client' in node.attributes || ':nuxt-client' in node.attributes)) { hasNuxtClient = true @@ -132,13 +135,31 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran } }) +/** + * extract attributes from a node + */ +function extractAttributes (attributes: Record<string, string>, names: string[]) { + const extracted:Record<string, string> = {} + for (const name of names) { + if (name in attributes) { + extracted[name] = attributes[name] + delete attributes[name] + } + } + return extracted +} + +function attributeToString (attributes: Record<string, string>) { + return Object.entries(attributes).map(([name, value]) => value ? ` ${name}="${value}"` : ` ${name}`).join('') +} + function isBinding (attr: string): boolean { return attr.startsWith(':') } function getPropsToString (bindings: Record<string, string>, vfor?: [string, string]): string { if (Object.keys(bindings).length === 0) { return 'undefined' } - const content = Object.entries(bindings).filter(b => b[0] && b[0] !== '_bind').map(([name, value]) => isBinding(name) ? `${name.slice(1)}: ${value}` : `${name}: \`${value}\``).join(',') + const content = Object.entries(bindings).filter(b => b[0] && b[0] !== '_bind').map(([name, value]) => isBinding(name) ? `[\`${name.slice(1)}\`]: ${value}` : `[\`${name}\`]: \`${value}\``).join(',') const data = bindings._bind ? `mergeProps(${bindings._bind}, { ${content} })` : `{ ${content} }` if (!vfor) { return `[${data}]` diff --git a/packages/nuxt/test/islandTransform.test.ts b/packages/nuxt/test/islandTransform.test.ts index 821e1877d8..128d63741d 100644 --- a/packages/nuxt/test/islandTransform.test.ts +++ b/packages/nuxt/test/islandTransform.test.ts @@ -65,8 +65,8 @@ describe('islandTransform - server and island components', () => { <div> <NuxtTeleportSsrSlot name="default" :props="undefined"><slot /></NuxtTeleportSsrSlot> - <NuxtTeleportSsrSlot name="named" :props="[{ some-data: someData }]"><slot name="named" :some-data="someData" /></NuxtTeleportSsrSlot> - <NuxtTeleportSsrSlot name="other" :props="[{ some-data: someData }]"><slot + <NuxtTeleportSsrSlot name="named" :props="[{ [\`some-data\`]: someData }]"><slot name="named" :some-data="someData" /></NuxtTeleportSsrSlot> + <NuxtTeleportSsrSlot name="other" :props="[{ [\`some-data\`]: someData }]"><slot name="other" :some-data="someData" /></NuxtTeleportSsrSlot> @@ -99,7 +99,7 @@ describe('islandTransform - server and island components', () => { expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` "<template> <div> - <NuxtTeleportSsrSlot name="default" :props="[{ some-data: someData }]"><slot :some-data="someData" /><template #fallback> + <NuxtTeleportSsrSlot name="default" :props="[{ [\`some-data\`]: someData }]"><slot :some-data="someData"/><template #fallback> <div>fallback</div> </template></NuxtTeleportSsrSlot> </div> @@ -158,7 +158,7 @@ describe('islandTransform - server and island components', () => { <p>message: {{ message }}</p> <p>Below is the slot I want to be hydrated on the client</p> <div> - <NuxtTeleportSsrSlot name="default" :props="undefined"><slot /><template #fallback> + <NuxtTeleportSsrSlot name="default" :props="undefined"><slot/><template #fallback> This is the default content of the slot, I should not see this after the client loading has completed. </template></NuxtTeleportSsrSlot> @@ -183,6 +183,33 @@ describe('islandTransform - server and island components', () => { " `) }) + + it('expect v-if/v-else/v-else-if to be set in teleport component wrapper', async () => { + const result = await viteTransform(`<script setup lang="ts"> + const foo = true; + </script> + <template> + <slot v-if="foo" /> + <slot v-else-if="test" /> + <slot v-else /> + </template> + `, 'WithVif.vue', false, true) + + expect(normalizeLineEndings(result)).toMatchInlineSnapshot(` + "<script setup lang="ts"> + import { vforToArray as __vforToArray } from '#app/components/utils' + import NuxtTeleportIslandComponent from '#app/components/nuxt-teleport-island-component' + import NuxtTeleportSsrSlot from '#app/components/nuxt-teleport-island-slot' + const foo = true; + </script> + <template> + <NuxtTeleportSsrSlot v-if="foo" name="default" :props="undefined"><slot /></NuxtTeleportSsrSlot> + <NuxtTeleportSsrSlot v-else-if="test" name="default" :props="undefined"><slot /></NuxtTeleportSsrSlot> + <NuxtTeleportSsrSlot v-else name="default" :props="undefined"><slot /></NuxtTeleportSsrSlot> + </template> + " + `) + }) }) describe('nuxt-client', () => { From 09e53fc6d94fbc8c34bac723a2946817d5f80025 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Mon, 25 Mar 2024 11:27:20 +0100 Subject: [PATCH 363/470] docs: warn about single root element for server components (#26462) --- docs/2.guide/2.directory-structure/1.components.md | 4 ++++ docs/2.guide/2.directory-structure/1.pages.md | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/2.guide/2.directory-structure/1.components.md b/docs/2.guide/2.directory-structure/1.components.md index a33a0cbff8..0685a3389c 100644 --- a/docs/2.guide/2.directory-structure/1.components.md +++ b/docs/2.guide/2.directory-structure/1.components.md @@ -299,6 +299,10 @@ Now you can register server-only components with the `.server` suffix and use th Server-only components use [`<NuxtIsland>`](/docs/api/components/nuxt-island) under the hood, meaning that `lazy` prop and `#fallback` slot are both passed down to it. +::alert{type=warning} +Server components (and islands) must have a single root element. (HTML comments are considered elements as well.) +:: + ::alert{type=warning} Most features for server-only components and island components, such as slots and client components, are only available for single file components. :: diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index bef7ad02d2..6ebd687bb1 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -57,7 +57,7 @@ If you are using [`app.vue`](/docs/guide/directory-structure/app), make sure to </template> ``` -Pages **must have a single root element** to allow [route transitions](/docs/getting-started/transitions) between pages, HTML comments are considered elements as well. +Pages **must have a single root element** to allow [route transitions](/docs/getting-started/transitions) between pages. HTML comments are considered elements as well. This means that when the route is server-rendered, or statically generated, you will be able to see its contents correctly, but when you navigate towards that route during client-side navigation the transition between routes will fail and you'll see that the route will not be rendered. @@ -365,6 +365,10 @@ You can define a page as [client only](/docs/guide/directory-structure/component You can define a page as [server only](/docs/guide/directory-structure/components#server-components) by giving it a `.server.vue` suffix. While you will be able to navigate to the page using client-side navigation, controlled by `vue-router`, it will be rendered with a server component automatically, meaning the code required to render the page will not be in your client-side bundle. +::alert{type=warning} +Server-only pages must have a single root element. (HTML comments are considered elements as well.) +:: + ## Custom Routing As your app gets bigger and more complex, your routing might require more flexibility. For this reason, Nuxt directly exposes the router, routes and router options for customization in different ways. From 89a525e917fc6bcd0201a13d004a429a4182148b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 13:41:49 +0000 Subject: [PATCH 364/470] chore(deps): update all non-major dependencies (main) (#26478) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 4 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 188 +++++++++++++++++----------------- test/bundle.test.ts | 2 +- 8 files changed, 102 insertions(+), 102 deletions(-) diff --git a/package.json b/package.json index fbe4a76551..24d961903c 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "happy-dom": "14.3.6", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", - "nitropack": "2.9.4", + "nitropack": "2.9.5", "nuxi": "3.11.1", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", diff --git a/packages/kit/package.json b/packages/kit/package.json index 20af6be35a..722047b326 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -50,7 +50,7 @@ "@types/lodash-es": "4.17.12", "@types/semver": "7.5.8", "lodash-es": "4.17.21", - "nitropack": "2.9.4", + "nitropack": "2.9.5", "unbuild": "latest", "vite": "5.2.6", "vitest": "1.4.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 40a162f6b8..dbaa66be31 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -89,7 +89,7 @@ "knitwork": "^1.0.0", "magic-string": "^0.30.8", "mlly": "^1.6.1", - "nitropack": "^2.9.4", + "nitropack": "^2.9.5", "nuxi": "^3.11.1", "nypm": "^0.3.8", "ofetch": "^1.3.4", @@ -97,7 +97,7 @@ "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "radix3": "^1.1.1", + "radix3": "^1.1.2", "scule": "^1.3.0", "std-env": "^3.7.0", "strip-literal": "^2.0.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 9341346fe4..989b8f7b37 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -47,7 +47,7 @@ "esbuild-loader": "4.1.0", "h3": "1.11.1", "ignore": "5.3.1", - "nitropack": "2.9.4", + "nitropack": "2.9.5", "ofetch": "1.3.4", "unbuild": "latest", "unctx": "2.3.1", diff --git a/packages/vite/package.json b/packages/vite/package.json index 3b2ac94b92..5a26664a96 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -39,7 +39,7 @@ "autoprefixer": "^10.4.19", "clear": "^0.1.0", "consola": "^3.2.3", - "cssnano": "^6.1.1", + "cssnano": "^6.1.2", "defu": "^6.1.4", "esbuild": "^0.20.2", "escape-string-regexp": "^5.0.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 85dfd2d1f7..9b155d1dae 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.19", "css-loader": "^6.10.0", "css-minimizer-webpack-plugin": "^6.0.0", - "cssnano": "^6.1.1", + "cssnano": "^6.1.2", "defu": "^6.1.4", "esbuild-loader": "^4.1.0", "escape-string-regexp": "^5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 73a34938ed..6d1adc5565 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -101,8 +101,8 @@ importers: specifier: 0.39.0 version: 0.39.0 nitropack: - specifier: 2.9.4 - version: 2.9.4 + specifier: 2.9.5 + version: 2.9.5 nuxi: specifier: 3.11.1 version: 3.11.1 @@ -222,8 +222,8 @@ importers: specifier: 4.17.21 version: 4.17.21 nitropack: - specifier: 2.9.4 - version: 2.9.4 + specifier: 2.9.5 + version: 2.9.5 unbuild: specifier: latest version: 2.0.0(typescript@5.4.3) @@ -333,8 +333,8 @@ importers: specifier: ^1.6.1 version: 1.6.1 nitropack: - specifier: ^2.9.4 - version: 2.9.4 + specifier: ^2.9.5 + version: 2.9.5 nuxi: specifier: ^3.11.1 version: 3.11.1 @@ -357,8 +357,8 @@ importers: specifier: ^1.0.3 version: 1.0.3 radix3: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 scule: specifier: ^1.3.0 version: 1.3.0 @@ -509,8 +509,8 @@ importers: specifier: 5.3.1 version: 5.3.1 nitropack: - specifier: 2.9.4 - version: 2.9.4 + specifier: 2.9.5 + version: 2.9.5 ofetch: specifier: 1.3.4 version: 1.3.4 @@ -569,8 +569,8 @@ importers: specifier: ^3.2.3 version: 3.2.3 cssnano: - specifier: ^6.1.1 - version: 6.1.1(postcss@8.4.38) + specifier: ^6.1.2 + version: 6.1.2(postcss@8.4.38) defu: specifier: ^6.1.4 version: 6.1.4 @@ -687,8 +687,8 @@ importers: specifier: ^6.0.0 version: 6.0.0(webpack@5.91.0) cssnano: - specifier: ^6.1.1 - version: 6.1.1(postcss@8.4.38) + specifier: ^6.1.2 + version: 6.1.2(postcss@8.4.38) defu: specifier: ^6.1.4 version: 6.1.4 @@ -948,15 +948,15 @@ packages: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.24.3: - resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + /@babel/core@7.24.1: + resolution: {integrity: sha512-F82udohVyIgGAY2VVj/g34TpFUG606rumIHjTfVbssPg2zTR7PuuEpZcX8JA6sgBfIYmJrFtWgPvHQuJamVqZQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) '@babel/helpers': 7.24.1 '@babel/parser': 7.24.1 '@babel/template': 7.24.0 @@ -995,19 +995,19 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.1): resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -1041,13 +1041,13 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.1): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -1064,13 +1064,13 @@ packages: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.1): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -1132,103 +1132,103 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.24.3): + /@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.24.1): resolution: {integrity: sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.1 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.24.3) + '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.24.1) dev: false - /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.24.3): + /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.24.1): resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.24.3): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.24.1): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.1): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.1): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.1): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.1): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.1 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.1): resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.1) - /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + /@babel/preset-typescript@7.23.3(@babel/core@7.24.1): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.1) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) dev: false /@babel/runtime@7.23.9: @@ -2384,12 +2384,12 @@ packages: happy-dom: 14.3.6 local-pkg: 0.5.0 magic-string: 0.30.8 - node-fetch-native: 1.6.3 + node-fetch-native: 1.6.4 ofetch: 1.3.4 pathe: 1.1.2 perfect-debounce: 1.0.0 playwright-core: 1.42.1 - radix3: 1.1.1 + radix3: 1.1.2 scule: 1.3.0 std-env: 3.7.0 ufo: 1.5.3 @@ -3537,9 +3537,9 @@ packages: /@unocss/transformer-attributify-jsx-babel@0.58.6: resolution: {integrity: sha512-IVU/ZozKTFhP9z1I9ZgSKiEx3WfDFDNXbTYTqwNW2SHPmAj5Qf99kn6o7br7Kd1dnxSjKFXOmNfNGkW9AMDraA==} dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.1 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) + '@babel/preset-typescript': 7.23.3(@babel/core@7.24.1) '@unocss/core': 0.58.6 transitivePeerDependencies: - supports-color @@ -3619,9 +3619,9 @@ packages: vite: 5.2.6 vue: 3.4.21 dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.3) + '@babel/core': 7.24.1 + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) vite: 5.2.6(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: @@ -3789,14 +3789,14 @@ packages: /@vue/babel-helper-vue-transform-on@1.1.5: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.24.3): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.24.1): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 @@ -4814,7 +4814,7 @@ packages: convert-gitmoji: 0.1.3 execa: 8.0.1 mri: 1.2.0 - node-fetch-native: 1.6.3 + node-fetch-native: 1.6.4 ofetch: 1.3.4 open: 9.1.0 pathe: 1.1.2 @@ -5124,8 +5124,8 @@ packages: uWebSockets.js: optional: true - /css-declaration-sorter@7.1.1(postcss@8.4.38): - resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} + /css-declaration-sorter@7.2.0(postcss@8.4.38): + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 @@ -5182,7 +5182,7 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.1(postcss@8.4.38) + cssnano: 6.1.2(postcss@8.4.38) jest-worker: 29.7.0 postcss: 8.4.38 schema-utils: 4.2.0 @@ -5226,14 +5226,14 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.1.1(postcss@8.4.38): - resolution: {integrity: sha512-XW/dYN2p8Jdkp1lovFd0UVRh6RB0iMyXJbAE9Qm+taR3p2LGu492AW34lVaukUrXoK9IxK5aK3CUmFpUorU4oA==} + /cssnano-preset-default@6.1.2(postcss@8.4.38): + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.23.0 - css-declaration-sorter: 7.1.1(postcss@8.4.38) + css-declaration-sorter: 7.2.0(postcss@8.4.38) cssnano-utils: 4.0.2(postcss@8.4.38) postcss: 8.4.38 postcss-calc: 9.0.1(postcss@8.4.38) @@ -5274,13 +5274,13 @@ packages: postcss: 8.4.38 dev: false - /cssnano@6.1.1(postcss@8.4.38): - resolution: {integrity: sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==} + /cssnano@6.1.2(postcss@8.4.38): + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.1.1(postcss@8.4.38) + cssnano-preset-default: 6.1.2(postcss@8.4.38) lilconfig: 3.1.1 postcss: 8.4.38 dev: false @@ -6597,7 +6597,7 @@ packages: citty: 0.1.6 consola: 3.2.3 defu: 6.1.4 - node-fetch-native: 1.6.3 + node-fetch-native: 1.6.4 nypm: 0.3.8 ohash: 1.1.3 pathe: 1.1.2 @@ -6759,7 +6759,7 @@ packages: destr: 2.0.3 iron-webcrypto: 1.0.0 ohash: 1.1.3 - radix3: 1.1.1 + radix3: 1.1.2 ufo: 1.5.3 uncrypto: 0.1.3 unenv: 1.9.0 @@ -8571,8 +8571,8 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nitropack@2.9.4: - resolution: {integrity: sha512-i/cbDW5qfZS6pQR4DrlQOFlNoNvQVBuiy7EEvMlrqkmMGXiIJY1WW7L7D4/6m9dF1cwitOu7k0lJWVn74gxfvw==} + /nitropack@2.9.5: + resolution: {integrity: sha512-ClanSILi9O6HX95QNIC+TwxojpRpOSn9n3e3wmHExAHhLN5HdnHGmHN4LwtJdE2p91nse3kDULOTR7k1xRVJ/g==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -8625,7 +8625,7 @@ packages: mime: 4.0.1 mlly: 1.6.1 mri: 1.2.0 - node-fetch-native: 1.6.3 + node-fetch-native: 1.6.4 ofetch: 1.3.4 ohash: 1.1.3 openapi-typescript: 6.7.5 @@ -8633,7 +8633,7 @@ packages: perfect-debounce: 1.0.0 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - radix3: 1.1.1 + radix3: 1.1.2 rollup: 4.13.0 rollup-plugin-visualizer: 5.12.0(rollup@4.13.0) scule: 1.3.0 @@ -8685,8 +8685,8 @@ packages: skin-tone: 2.0.0 dev: true - /node-fetch-native@1.6.3: - resolution: {integrity: sha512-5kvcZPQYJBlUPgHxG0L8RJ52wiu2Sn5RAXBJlU6xPv8X+4MbeOxJ8Do9NFzD1RaWDDc1OF2VtBTgo+OKzg01uA==} + /node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -8973,7 +8973,7 @@ packages: resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} dependencies: destr: 2.0.3 - node-fetch-native: 1.6.3 + node-fetch-native: 1.6.4 ufo: 1.5.3 /ohash@1.1.3: @@ -9866,8 +9866,8 @@ packages: /queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - /radix3@1.1.1: - resolution: {integrity: sha512-yUUd5VTiFtcMEx0qFUxGAv5gbMc1un4RvEO1JZdP7ZUl/RHygZK6PknIKntmQRZxnMY3ZXD2ISaw1ij8GYW1yg==} + /radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -11186,7 +11186,7 @@ packages: consola: 3.2.3 defu: 6.1.4 mime: 3.0.0 - node-fetch-native: 1.6.3 + node-fetch-native: 1.6.4 pathe: 1.1.2 /unhead@1.9.1: @@ -11422,7 +11422,7 @@ packages: listhen: 1.7.2 lru-cache: 10.2.0 mri: 1.2.0 - node-fetch-native: 1.6.3 + node-fetch-native: 1.6.4 ofetch: 1.3.4 ufo: 1.5.3 transitivePeerDependencies: @@ -11445,7 +11445,7 @@ packages: resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} hasBin: true dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.1 '@babel/standalone': 7.23.9 '@babel/types': 7.24.0 defu: 6.1.4 @@ -11682,12 +11682,12 @@ packages: peerDependencies: vite: 5.2.6 dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.3) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.24.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.3) + '@babel/core': 7.24.1 + '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.1) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.24.1) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.1) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 7b0a037dfc..c12fd76f66 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ 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('"207k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"208k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1335k"') From 67c664656c2457fb117892b4bdedcd438d067487 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Tue, 26 Mar 2024 14:47:40 +0100 Subject: [PATCH 365/470] fix(nuxt): move directives to client component island wrapper (#26387) --- .../nuxt/src/components/islandsTransform.ts | 15 ++++++++--- packages/nuxt/test/islandTransform.test.ts | 25 +++++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index da41e693df..583ed724c3 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -108,13 +108,20 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran s.appendRight(startingIndex + loc[1].end, '</NuxtTeleportSsrSlot>') } else if (options.selectiveClient && ('nuxt-client' in node.attributes || ':nuxt-client' in node.attributes)) { hasNuxtClient = true - const attributeValue = node.attributes[':nuxt-client'] || node.attributes['nuxt-client'] || 'true' + const { loc, attributes } = node + const attributeValue = attributes[':nuxt-client'] || attributes['nuxt-client'] || 'true' if (isVite) { - // handle granular interactivity - const htmlCode = code.slice(startingIndex + node.loc[0].start, startingIndex + node.loc[1].end) const uid = hash(id + node.loc[0].start + node.loc[0].end) + const wrapperAttributes = extractAttributes(attributes, ['v-if', 'v-else-if', 'v-else']) - s.overwrite(startingIndex + node.loc[0].start, startingIndex + node.loc[1].end, `<NuxtTeleportIslandComponent to="${node.name}-${uid}" ${rootDir && isDev ? `root-dir="${rootDir}"` : ''} :nuxt-client="${attributeValue}">${htmlCode.replaceAll(NUXTCLIENT_ATTR_RE, '')}</NuxtTeleportIslandComponent>`) + let startTag = code.slice(startingIndex + loc[0].start, startingIndex + loc[0].end).replace(NUXTCLIENT_ATTR_RE, '') + if (wrapperAttributes) { + startTag = startTag.replaceAll(EXTRACTED_ATTRS_RE, '') + } + + s.appendLeft(startingIndex + loc[0].start, `<NuxtTeleportIslandComponent${attributeToString(wrapperAttributes)} to="${node.name}-${uid}" ${rootDir && isDev ? `root-dir="${rootDir}"` : ''} :nuxt-client="${attributeValue}">`) + s.overwrite(startingIndex + loc[0].start, startingIndex + loc[0].end, startTag) + s.appendRight(startingIndex + loc[1].end, '</NuxtTeleportIslandComponent>') } } } diff --git a/packages/nuxt/test/islandTransform.test.ts b/packages/nuxt/test/islandTransform.test.ts index 128d63741d..78027d84a2 100644 --- a/packages/nuxt/test/islandTransform.test.ts +++ b/packages/nuxt/test/islandTransform.test.ts @@ -380,6 +380,31 @@ describe('islandTransform - server and island components', () => { `) expect(result).toContain('import NuxtTeleportIslandComponent from \'#app/components/nuxt-teleport-island-component\'') }) + + it('should move v-if to the wrapper component', async () => { + const result = await viteTransform(`<template> + <div> + <HelloWorld v-if="false" nuxt-client /> + <HelloWorld v-else-if="true" nuxt-client /> + <HelloWorld v-else nuxt-client /> + </div> + </template> + `, 'hello.server.vue', false, true) + + expect(result).toMatchInlineSnapshot(` + "<script setup> + import { vforToArray as __vforToArray } from '#app/components/utils' + import NuxtTeleportIslandComponent from '#app/components/nuxt-teleport-island-component' + import NuxtTeleportSsrSlot from '#app/components/nuxt-teleport-island-slot'</script><template> + <div> + <NuxtTeleportIslandComponent v-if="false" to="HelloWorld-D9uaHyzL7X" :nuxt-client="true"><HelloWorld /></NuxtTeleportIslandComponent> + <NuxtTeleportIslandComponent v-else-if="true" to="HelloWorld-o4RZMtArnE" :nuxt-client="true"><HelloWorld /></NuxtTeleportIslandComponent> + <NuxtTeleportIslandComponent v-else to="HelloWorld-m1IbXHdd8O" :nuxt-client="true"><HelloWorld /></NuxtTeleportIslandComponent> + </div> + </template> + " + `) + }) }) describe('webpack', () => { From 1dbd46ec99c5c22427dd6dc0edce37c6fecc9f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zarach?= <michal.m.zarach@gmail.com> Date: Tue, 26 Mar 2024 14:47:59 +0100 Subject: [PATCH 366/470] fix(nuxt): ignore fetch errors in `getLatestManifest` (#26486) --- .../src/app/plugins/check-outdated-build.client.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/app/plugins/check-outdated-build.client.ts b/packages/nuxt/src/app/plugins/check-outdated-build.client.ts index 0a7731d6e4..d8187d04d8 100644 --- a/packages/nuxt/src/app/plugins/check-outdated-build.client.ts +++ b/packages/nuxt/src/app/plugins/check-outdated-build.client.ts @@ -14,10 +14,14 @@ export default defineNuxtPlugin((nuxtApp) => { const currentManifest = await getAppManifest() if (timeout) { clearTimeout(timeout) } timeout = setTimeout(getLatestManifest, 1000 * 60 * 60) - const meta = await $fetch<NuxtAppManifestMeta>(buildAssetsURL('builds/latest.json') + `?${Date.now()}`) - if (meta.id !== currentManifest.id) { - // There is a newer build which we will let the user handle - nuxtApp.hooks.callHook('app:manifest:update', meta) + try { + const meta = await $fetch<NuxtAppManifestMeta>(buildAssetsURL('builds/latest.json') + `?${Date.now()}`) + if (meta.id !== currentManifest.id) { + // There is a newer build which we will let the user handle + nuxtApp.hooks.callHook('app:manifest:update', meta) + } + } catch { + // fail gracefully on network issue } } From fd7d9d26e260f0b16ad7848e5f5425548854da62 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Tue, 26 Mar 2024 15:03:00 +0100 Subject: [PATCH 367/470] fix(nuxt): check island element instead of hydration state (#26480) --- packages/nuxt/src/app/components/nuxt-island.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 4b918619ed..5b6a424be9 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -109,15 +109,15 @@ export default defineComponent({ components: {} } - if (nuxtApp.isHydrating) { + if (instance.vnode.el) { payloads.slots = toRaw(nuxtApp.payload.data[`${props.name}_${hashId.value}`])?.slots ?? {} payloads.components = toRaw(nuxtApp.payload.data[`${props.name}_${hashId.value}`])?.components ?? {} } const ssrHTML = ref<string>('') - if (import.meta.client && nuxtApp.isHydrating) { - ssrHTML.value = getFragmentHTML(instance.vnode?.el ?? null, true)?.join('') || '' + if (import.meta.client && instance.vnode?.el) { + ssrHTML.value = getFragmentHTML(instance.vnode.el, true)?.join('') || '' const key = `${props.name}_${hashId.value}` nuxtApp.payload.data[key] ||= {} nuxtApp.payload.data[key].html = ssrHTML.value @@ -250,7 +250,7 @@ export default defineComponent({ // this is used to force trigger Teleport when vue makes the diff between old and new node const isKeyOdd = teleportKey.value === 0 || !!(teleportKey.value && !(teleportKey.value % 2)) - if (uid.value && html.value && (import.meta.server || props.lazy ? canTeleport : mounted.value || nuxtApp.isHydrating)) { + if (uid.value && html.value && (import.meta.server || props.lazy ? canTeleport : (mounted.value || instance.vnode?.el))) { for (const slot in slots) { if (availableSlots.value.includes(slot)) { teleports.push(createVNode(Teleport, From 72a9a5b6f2a75f05c54ca05eec27f22c0fc9fae6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 14:26:49 +0000 Subject: [PATCH 368/470] chore(deps): update all non-major dependencies (main) (#26492) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/dependency-review.yml | 2 +- package.json | 2 +- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 102 ++++++++++++------------ 4 files changed, 54 insertions(+), 54 deletions(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index e781898a7a..b818d2f085 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -19,4 +19,4 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: 'Dependency Review' - uses: actions/dependency-review-action@733dd5d4a5203f238c33806593ec0f5fc5343d8c # v4.2.4 + uses: actions/dependency-review-action@5bbc3ba658137598168acb2ab73b21c432dd411b # v4.2.5 diff --git a/package.json b/package.json index 24d961903c..374dad2908 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.3.6", + "happy-dom": "14.3.8", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.5", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index dbaa66be31..deb79741dd 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -60,7 +60,7 @@ }, "dependencies": { "@nuxt/devalue": "^2.0.2", - "@nuxt/devtools": "^1.1.3", + "@nuxt/devtools": "^1.1.4", "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d1adc5565..d2a4e79b41 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.3.6 - version: 14.3.6 + specifier: 14.3.8 + version: 14.3.8 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -232,7 +232,7 @@ importers: version: 5.2.6(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) webpack: specifier: 5.91.0 version: 5.91.0 @@ -243,8 +243,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 '@nuxt/devtools': - specifier: ^1.1.3 - version: 1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) + specifier: ^1.1.4 + version: 1.1.4(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -431,7 +431,7 @@ importers: version: 5.2.6(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) packages/schema: dependencies: @@ -868,7 +868,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.6) + version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.8) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2178,8 +2178,8 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.3(nuxt@packages+nuxt)(vite@5.2.6): - resolution: {integrity: sha512-bVIGng74haYAvJXiV+xtk7xrpHPZOJtcV4Flgl9IM+PYSjqs5pIRFRDnDwCQYAGt99hxGtQkdTBRqPQLxVCmeA==} + /@nuxt/devtools-kit@1.1.4(nuxt@packages+nuxt)(vite@5.2.6): + resolution: {integrity: sha512-/aZW/vn09vJML3Bi6dP9m51EN8eyeqHbyCyeuGsPUy/2GIlziaNHTaFlNWmLLkezdS4bhEGSr38Z5sa6x8FchQ==} peerDependencies: nuxt: workspace:* vite: 5.2.6 @@ -2191,8 +2191,8 @@ packages: vite: 5.2.6(@types/node@20.11.30) dev: false - /@nuxt/devtools-wizard@1.1.3: - resolution: {integrity: sha512-eeAeqHel5fb9eRjiw6/YOeGUGjsddooUrGXSc6aGTGnlnT6qOpMXRxj/amh9Pi0mm0cUiy5wILeGAlwK92waCA==} + /@nuxt/devtools-wizard@1.1.4: + resolution: {integrity: sha512-BTobds8a5fwucbHwMb42V53xgPv78SzAt/I44Dz0/uI8LxSKeX45ogEERDHB9hnRMjC/ZBTv1Z6HpGOmoB4Sxg==} hasBin: true dependencies: consola: 3.2.3 @@ -2207,20 +2207,20 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.3(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): - resolution: {integrity: sha512-+mps8+01b2ntJOHNNTfeUTj4A/b2CyAxvmbwgoDc91XAycpJMWqzYzqBXemR4ZoDL8mbk6coQ1rmz8f1dM25fA==} + /@nuxt/devtools@1.1.4(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-mJFSB7zbzT1oBP9yf82siI7xIvhZleVuVLiSOCCks8+DhJGgcRPLIDNRm23aFu6YWO0pEv19TiISExiLAkJp2g==} hasBin: true peerDependencies: nuxt: workspace:* vite: 5.2.6 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.3(nuxt@packages+nuxt)(vite@5.2.6) - '@nuxt/devtools-wizard': 1.1.3 + '@nuxt/devtools-kit': 1.1.4(nuxt@packages+nuxt)(vite@5.2.6) + '@nuxt/devtools-wizard': 1.1.4 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) - '@vue/devtools-core': 7.0.20(vite@5.2.6)(vue@3.4.21) - '@vue/devtools-kit': 7.0.20(vue@3.4.21) + '@vue/devtools-applet': 7.0.22(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-core': 7.0.22(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-kit': 7.0.22(vue@3.4.21) birpc: 0.2.17 consola: 3.2.3 cronstrue: 2.48.0 @@ -2328,7 +2328,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2381,7 +2381,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.3.6 + happy-dom: 14.3.8 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.4 @@ -2396,8 +2396,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.2.6(@types/node@20.11.30) - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3656,7 +3656,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.6) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) transitivePeerDependencies: - supports-color dev: true @@ -3844,15 +3844,15 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-applet@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): - resolution: {integrity: sha512-q48RtnhFmC0kd4N+3Edfctv6oL2neN6crUapBydSr6szjR87dQJygTEYKlpyx0SHmVLVwq4mcgFuf1ftAKjd/w==} + /@vue/devtools-applet@7.0.22(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-qr6CM6MtDU7aWcwYeHPdfKWPnA2AnRFpHnZ6r3xrPIC2Gx8ekRClaOFZlnXRSMAxNCvfiXpPeJNOgCIHePUcHQ==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-core': 7.0.20(vite@5.2.6)(vue@3.4.21) - '@vue/devtools-kit': 7.0.20(vue@3.4.21) - '@vue/devtools-shared': 7.0.20 - '@vue/devtools-ui': 7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) + '@vue/devtools-core': 7.0.22(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-kit': 7.0.22(vue@3.4.21) + '@vue/devtools-shared': 7.0.22 + '@vue/devtools-ui': 7.0.22(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) perfect-debounce: 1.0.0 splitpanes: 3.1.5 vue: 3.4.21(typescript@5.4.3) @@ -3876,11 +3876,11 @@ packages: - vite dev: false - /@vue/devtools-core@7.0.20(vite@5.2.6)(vue@3.4.21): - resolution: {integrity: sha512-JefAn0ljTUPtoEJ47PjEfcLQb9BVt3OH1R6aD8qZ7bNYwZH+xystXpVJ3pW+1iDnOXjfpLgc3bsHUZoxlfobpw==} + /@vue/devtools-core@7.0.22(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-jnC+fFMvUsVRy136TxTSXUvfRv/1RzNpQaLJEq+j8YeImyetoPiLX7wdB0z2NMray1//0d8tg9ItIZaLalAm9w==} dependencies: - '@vue/devtools-kit': 7.0.20(vue@3.4.21) - '@vue/devtools-shared': 7.0.20 + '@vue/devtools-kit': 7.0.22(vue@3.4.21) + '@vue/devtools-shared': 7.0.22 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 @@ -3890,12 +3890,12 @@ packages: - vue dev: false - /@vue/devtools-kit@7.0.20(vue@3.4.21): - resolution: {integrity: sha512-FgFuPuqrhQ51rR/sVi52FnGgrxJ3X1bvNra/SkBzPhxJVhfyL5w2YUJZI1FgCvtLAyPSomJNdvlG415ZbJsr6w==} + /@vue/devtools-kit@7.0.22(vue@3.4.21): + resolution: {integrity: sha512-STRHF+dNF8+ekGN1e3TxOyAN/ivrjqIJcAGsz9jS2rsQvU3HIkC5YNFvpbVk2dGdEnVuvgZQNb4qJGMJrQufoA==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-shared': 7.0.20 + '@vue/devtools-shared': 7.0.22 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 @@ -3903,14 +3903,14 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: false - /@vue/devtools-shared@7.0.20: - resolution: {integrity: sha512-E6CiCaYr6ZWOCYJgWodXcPCXxB12vgbUA1X1sG0F1tK5Bo5I35GJuTR8LBJLFHV0VpwLWvyrIi9drT1ZbuJxlg==} + /@vue/devtools-shared@7.0.22: + resolution: {integrity: sha512-RtqPObulhlhZr8mP27TWcZHBx63x4BaEO6X9JRKqnIa9PenaT28dIpgYLL/9bZsjRP/6YyP4wMu9sL74JJdipQ==} dependencies: rfdc: 1.3.1 dev: false - /@vue/devtools-ui@7.0.20(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21): - resolution: {integrity: sha512-0Jy+9l8gQKnEPitOBthib6bZPdf2FipPIpMZPZ90xH4z1nWGN2aHBqOHH3dMpNgnymlkgAR5QDvodj5RcxiUGw==} + /@vue/devtools-ui@7.0.22(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21): + resolution: {integrity: sha512-1WtmpBSX4kxHJeqpn5ylN883Ly7epjAysvVm+QwabLwuuzqPn1tD/M55R3BFsPx2wAbjw/Kga5BqNHvnGms6mg==} peerDependencies: '@unocss/reset': '>=0.50.0-0' floating-vue: '>=2.0.0-0' @@ -6766,8 +6766,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.3.6: - resolution: {integrity: sha512-fUb3dn0iuyyxRGqwFoU5iy6wjozxt/Qw7zGeRMockbBlpOegrV7Y0HIYBMQw8X4s7qpu55Tu7cNFoRM8s9VW5A==} + /happy-dom@14.3.8: + resolution: {integrity: sha512-jP7p/VQJ08lbIoCsw1Adna3RA86eE+2CNkqvJRWIhrKP7XKZ0e0s2TJSt5lwGS4b7x0z0Ztw0A9P4uQGMHPiiA==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11731,10 +11731,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.6)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11752,7 +11752,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.6): + /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.8): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11788,7 +11788,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.6 + happy-dom: 14.3.8 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11810,7 +11810,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.6): + /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.8): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11845,7 +11845,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.6 + happy-dom: 14.3.8 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 From 670e2090bccade1a9af64e54c1a512258b334712 Mon Sep 17 00:00:00 2001 From: Junaid Ahmed <12216819+junaidkbr@users.noreply.github.com> Date: Tue, 26 Mar 2024 19:27:31 +0500 Subject: [PATCH 369/470] docs: adjust grammar (#26482) --- docs/1.getting-started/4.styling.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/1.getting-started/4.styling.md b/docs/1.getting-started/4.styling.md index 38d2d36f1f..4b2bd3be36 100644 --- a/docs/1.getting-started/4.styling.md +++ b/docs/1.getting-started/4.styling.md @@ -421,7 +421,7 @@ For proper syntax highlighting in SFC, you can use the postcss lang attribute. ```vue <style lang="postcss"> - /* Write stylus here */ + /* Write postcss here */ </style> ``` @@ -458,7 +458,7 @@ Use different styles for different layouts. Nuxt isn't opinionated when it comes to styling and provides you with a wide variety of options. You can use any styling tool that you want, such as popular libraries like [UnoCSS](https://unocss.dev) or [Tailwind CSS](https://tailwindcss.com). -The community and the Nuxt team have developed plenty of Nuxt modules to makes the integration easier. +The community and the Nuxt team have developed plenty of Nuxt modules to make the integration easier. You can discover them on the [modules section](/modules) of the website. Here are a few modules to help you get started: From 3522c9867779bfc10b319f0947a740b733645c03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 20:43:17 +0000 Subject: [PATCH 370/470] chore(deps): update codecov/codecov-action action to v4.1.1 (main) (#26496) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 02508e2657..c0b25a87d5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -236,7 +236,7 @@ jobs: TEST_CONTEXT: ${{ matrix.context }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || runner.os == 'Windows' }} - - uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v4.1.0 + - uses: codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # v4.1.1 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 }} From bcca7aa71e2bcf8e86965275974108cbd6e8f116 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Mar 2024 09:32:15 +0000 Subject: [PATCH 371/470] chore(deps): update devdependency happy-dom to v14.3.9 (main) (#26500) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 374dad2908..d3f735c1fb 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.3.8", + "happy-dom": "14.3.9", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2a4e79b41..e69175394f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.3.8 - version: 14.3.8 + specifier: 14.3.9 + version: 14.3.9 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -232,7 +232,7 @@ importers: version: 5.2.6(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) webpack: specifier: 5.91.0 version: 5.91.0 @@ -431,7 +431,7 @@ importers: version: 5.2.6(@types/node@20.11.30) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) + version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) packages/schema: dependencies: @@ -868,7 +868,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.8) + version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.9) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2328,7 +2328,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2381,7 +2381,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.3.8 + happy-dom: 14.3.9 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.4 @@ -2396,8 +2396,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.0 vite: 5.2.6(@types/node@20.11.30) - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3656,7 +3656,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.8) + vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) transitivePeerDependencies: - supports-color dev: true @@ -6766,8 +6766,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.3.8: - resolution: {integrity: sha512-jP7p/VQJ08lbIoCsw1Adna3RA86eE+2CNkqvJRWIhrKP7XKZ0e0s2TJSt5lwGS4b7x0z0Ztw0A9P4uQGMHPiiA==} + /happy-dom@14.3.9: + resolution: {integrity: sha512-0kPQchwthekcYpYN8CvCiq+/z5bqFYDLbTxZ+yDLwT8AFRVJDFadShHRxp3VAZRy7a5isOZ1j/LzsU1dtAIZMQ==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -11731,10 +11731,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.8)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11752,7 +11752,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.8): + /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.9): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11788,7 +11788,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.8 + happy-dom: 14.3.9 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11810,7 +11810,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.8): + /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.9): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11845,7 +11845,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.8 + happy-dom: 14.3.9 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 From baf8539f31fbf87f743fe7a647b20179dae07a9c Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 27 Mar 2024 11:13:19 +0000 Subject: [PATCH 372/470] fix(nuxt): add build id to rendered payload url (#26504) --- packages/nuxt/src/core/runtime/nitro/renderer.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 9005e01963..90d3c89225 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -21,7 +21,7 @@ import type { HeadEntryOptions } from '@unhead/schema' import type { Link, Script, Style } from '@unhead/vue' import { createServerHead } from '@unhead/vue' -import { defineRenderHandler, getRouteRules, useRuntimeConfig, useStorage } from '#internal/nitro' +import { defineRenderHandler, getRouteRules, useAppConfig, useRuntimeConfig, useStorage } from '#internal/nitro' import { useNitroApp } from '#internal/nitro/app' // @ts-expect-error virtual file @@ -326,7 +326,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse // Whether we are prerendering route const _PAYLOAD_EXTRACTION = import.meta.prerender && process.env.NUXT_PAYLOAD_EXTRACTION && !ssrContext.noSSR && !isRenderingIsland - const payloadURL = _PAYLOAD_EXTRACTION ? joinURL(ssrContext.runtimeConfig.app.baseURL, url, process.env.NUXT_JSON_PAYLOADS ? '_payload.json' : '_payload.js') : undefined + const payloadURL = _PAYLOAD_EXTRACTION ? joinURL(ssrContext.runtimeConfig.app.baseURL, url, process.env.NUXT_JSON_PAYLOADS ? '_payload.json' : '_payload.js') + '?' + (useAppConfig().nuxt as any)?.buildId : undefined if (import.meta.prerender) { ssrContext.payload.prerenderedAt = Date.now() } From 8c3ddf7fc42eaadba5f71335894f95f38dbb0aa0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Mar 2024 11:42:34 +0000 Subject: [PATCH 373/470] chore(deps): update resolutions rollup to ^4.13.1 (main) (#26506) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 278 +++++++++++++++++++++++++------------------------ 2 files changed, 144 insertions(+), 136 deletions(-) diff --git a/package.json b/package.json index d3f735c1fb..d2401e66b9 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@nuxt/schema": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "rollup": "^4.13.0", + "rollup": "^4.13.1", "nuxt": "workspace:*", "vite": "5.2.6", "vue": "3.4.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e69175394f..92c98fd4b7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ overrides: '@nuxt/schema': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - rollup: ^4.13.0 + rollup: ^4.13.1 nuxt: workspace:* vite: 5.2.6 vue: 3.4.21 @@ -204,7 +204,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.0) + version: 3.7.1(rollup@4.13.1) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.4 - version: 1.1.4(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) + version: 1.1.4(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.1)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -385,13 +385,13 @@ importers: version: 1.9.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.0) + version: 3.7.1(rollup@4.13.1) unplugin: specifier: ^1.10.0 version: 1.10.0 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.13.0)(vue-router@4.3.0)(vue@3.4.21) + version: 0.7.0(rollup@4.13.1)(vue-router@4.3.0)(vue@3.4.21) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -464,7 +464,7 @@ importers: version: 1.5.3 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.0) + version: 3.7.1(rollup@4.13.1) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -552,7 +552,7 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.13.0) + version: 5.0.5(rollup@4.13.1) '@vitejs/plugin-vue': specifier: ^5.0.4 version: 5.0.4(vite@5.2.6)(vue@3.4.21) @@ -621,7 +621,7 @@ importers: version: 8.4.38 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.13.0) + version: 5.12.0(rollup@4.13.1) std-env: specifier: ^3.7.0 version: 3.7.0 @@ -2207,7 +2207,7 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.4(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.0)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): + /@nuxt/devtools@1.1.4(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.1)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-mJFSB7zbzT1oBP9yf82siI7xIvhZleVuVLiSOCCks8+DhJGgcRPLIDNRm23aFu6YWO0pEv19TiISExiLAkJp2g==} hasBin: true peerDependencies: @@ -2248,9 +2248,9 @@ packages: semver: 7.6.0 simple-git: 3.23.0 sirv: 2.0.4 - unimport: 3.7.1(rollup@4.13.0) + unimport: 3.7.1(rollup@4.13.1) vite: 5.2.6(@types/node@20.11.30) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.6) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.1)(vite@5.2.6) vite-plugin-vue-inspector: 4.0.2(vite@5.2.6) which: 3.0.1 ws: 8.16.0 @@ -2589,101 +2589,101 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.13.0): + /@rollup/plugin-alias@5.1.0(rollup@4.13.1): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.13.0 + rollup: 4.13.1 slash: 4.0.0 - /@rollup/plugin-commonjs@25.0.7(rollup@4.13.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.13.1): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.8 - rollup: 4.13.0 + rollup: 4.13.1 - /@rollup/plugin-inject@5.0.5(rollup@4.13.0): + /@rollup/plugin-inject@5.0.5(rollup@4.13.1): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) estree-walker: 2.0.2 magic-string: 0.30.8 - rollup: 4.13.0 + rollup: 4.13.1 - /@rollup/plugin-json@6.1.0(rollup@4.13.0): + /@rollup/plugin-json@6.1.0(rollup@4.13.1): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) - rollup: 4.13.0 + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + rollup: 4.13.1 - /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.1): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.13.0 + rollup: 4.13.1 - /@rollup/plugin-replace@5.0.5(rollup@4.13.0): + /@rollup/plugin-replace@5.0.5(rollup@4.13.1): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) magic-string: 0.30.8 - rollup: 4.13.0 + rollup: 4.13.1 - /@rollup/plugin-terser@0.4.4(rollup@4.13.0): + /@rollup/plugin-terser@0.4.4(rollup@4.13.1): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.13.0 + rollup: 4.13.1 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 @@ -2695,11 +2695,11 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@4.13.0): + /@rollup/pluginutils@5.1.0(rollup@4.13.1): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true @@ -2707,94 +2707,101 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.13.0 + rollup: 4.13.1 - /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} + /@rollup/rollup-android-arm-eabi@4.13.1: + resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.13.0: - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} + /@rollup/rollup-android-arm64@4.13.1: + resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.13.0: - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} + /@rollup/rollup-darwin-arm64@4.13.1: + resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.13.0: - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} + /@rollup/rollup-darwin-x64@4.13.1: + resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.13.1: + resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} + /@rollup/rollup-linux-arm64-gnu@4.13.1: + resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} + /@rollup/rollup-linux-arm64-musl@4.13.1: + resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + /@rollup/rollup-linux-riscv64-gnu@4.13.1: + resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} + /@rollup/rollup-linux-s390x-gnu@4.13.1: + resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.1: + resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + /@rollup/rollup-linux-x64-musl@4.13.1: + resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} + /@rollup/rollup-win32-arm64-msvc@4.13.1: + resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} + /@rollup/rollup-win32-ia32-msvc@4.13.1: + resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} + /@rollup/rollup-win32-x64-msvc@4.13.1: + resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==} cpu: [x64] os: [win32] requiresBuild: true @@ -3377,7 +3384,7 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: false - /@unocss/astro@0.58.6(rollup@4.13.0)(vite@5.2.6): + /@unocss/astro@0.58.6(rollup@4.13.1)(vite@5.2.6): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: vite: 5.2.6 @@ -3387,19 +3394,19 @@ packages: dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.6) + '@unocss/vite': 0.58.6(rollup@4.13.1)(vite@5.2.6) vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false - /@unocss/cli@0.58.6(rollup@4.13.0): + /@unocss/cli@0.58.6(rollup@4.13.1): resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/preset-uno': 0.58.6 @@ -3571,13 +3578,13 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.13.0)(vite@5.2.6): + /@unocss/vite@0.58.6(rollup@4.13.1)(vite@5.2.6): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: vite: 5.2.6 dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/inspector': 0.58.6 @@ -3766,7 +3773,7 @@ packages: '@volar/language-core': 2.1.3 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.13.0)(vue@3.4.21): + /@vue-macros/common@1.10.1(rollup@4.13.1)(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3776,9 +3783,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.13.0) + ast-kit: 0.11.3(rollup@4.13.1) local-pkg: 0.5.0 magic-string-ast: 0.3.0 vue: 3.4.21(typescript@5.4.3) @@ -3924,7 +3931,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.6) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.1)(vite@5.2.6) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' @@ -4504,34 +4511,34 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.3(rollup@4.13.0): + /ast-kit@0.11.3(rollup@4.13.1): resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-kit@0.9.5(rollup@4.13.0): + /ast-kit@0.9.5(rollup@4.13.1): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-walker-scope@0.5.0(rollup@4.13.0): + /ast-walker-scope@0.5.0(rollup@4.13.1): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - ast-kit: 0.9.5(rollup@4.13.0) + ast-kit: 0.9.5(rollup@4.13.1) transitivePeerDependencies: - rollup dev: false @@ -8583,14 +8590,14 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.13.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.13.0) - '@rollup/plugin-json': 6.1.0(rollup@4.13.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.13.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.13.0) - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.13.1) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.13.1) + '@rollup/plugin-json': 6.1.0(rollup@4.13.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.13.1) + '@rollup/plugin-terser': 0.4.4(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 archiver: 7.0.1 @@ -8634,8 +8641,8 @@ packages: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.13.0 - rollup-plugin-visualizer: 5.12.0(rollup@4.13.0) + rollup: 4.13.1 + rollup-plugin-visualizer: 5.12.0(rollup@4.13.1) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 @@ -8645,7 +8652,7 @@ packages: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.13.0) + unimport: 3.7.1(rollup@4.13.1) unstorage: 1.10.2(ioredis@5.3.2) unwasm: 0.3.8 transitivePeerDependencies: @@ -10192,56 +10199,57 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.3): + /rollup-plugin-dts@6.1.0(rollup@4.13.1)(typescript@5.4.3): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 4.13.0 + rollup: 4.13.1 typescript: 5.4.3 optionalDependencies: '@babel/code-frame': 7.24.2 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.13.0): + /rollup-plugin-visualizer@5.12.0(rollup@4.13.1): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.13.0 + rollup: ^4.13.1 peerDependenciesMeta: rollup: optional: true dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.13.0 + rollup: 4.13.1 source-map: 0.7.4 yargs: 17.7.2 - /rollup@4.13.0: - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} + /rollup@4.13.1: + resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.0 - '@rollup/rollup-android-arm64': 4.13.0 - '@rollup/rollup-darwin-arm64': 4.13.0 - '@rollup/rollup-darwin-x64': 4.13.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 - '@rollup/rollup-linux-arm64-gnu': 4.13.0 - '@rollup/rollup-linux-arm64-musl': 4.13.0 - '@rollup/rollup-linux-riscv64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-musl': 4.13.0 - '@rollup/rollup-win32-arm64-msvc': 4.13.0 - '@rollup/rollup-win32-ia32-msvc': 4.13.0 - '@rollup/rollup-win32-x64-msvc': 4.13.0 + '@rollup/rollup-android-arm-eabi': 4.13.1 + '@rollup/rollup-android-arm64': 4.13.1 + '@rollup/rollup-darwin-arm64': 4.13.1 + '@rollup/rollup-darwin-x64': 4.13.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.1 + '@rollup/rollup-linux-arm64-gnu': 4.13.1 + '@rollup/rollup-linux-arm64-musl': 4.13.1 + '@rollup/rollup-linux-riscv64-gnu': 4.13.1 + '@rollup/rollup-linux-s390x-gnu': 4.13.1 + '@rollup/rollup-linux-x64-gnu': 4.13.1 + '@rollup/rollup-linux-x64-musl': 4.13.1 + '@rollup/rollup-win32-arm64-msvc': 4.13.1 + '@rollup/rollup-win32-ia32-msvc': 4.13.1 + '@rollup/rollup-win32-x64-msvc': 4.13.1 fsevents: 2.3.3 /run-applescript@5.0.0: @@ -11121,12 +11129,12 @@ packages: typescript: optional: true dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.13.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.0) - '@rollup/plugin-json': 6.1.0(rollup@4.13.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.13.0) - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.13.1) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.1) + '@rollup/plugin-json': 6.1.0(rollup@4.13.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -11141,8 +11149,8 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 4.13.0 - rollup-plugin-dts: 6.1.0(rollup@4.13.0)(typescript@5.4.3) + rollup: 4.13.1 + rollup-plugin-dts: 6.1.0(rollup@4.13.1)(typescript@5.4.3) scule: 1.3.0 typescript: 5.4.3 untyped: 1.4.2 @@ -11219,10 +11227,10 @@ packages: vfile: 6.0.1 dev: true - /unimport@3.7.1(rollup@4.13.0): + /unimport@3.7.1(rollup@4.13.1): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -11295,7 +11303,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.6): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.1)(vite@5.2.6): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -11307,8 +11315,8 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.13.0)(vite@5.2.6) - '@unocss/cli': 0.58.6(rollup@4.13.0) + '@unocss/astro': 0.58.6(rollup@4.13.1)(vite@5.2.6) + '@unocss/cli': 0.58.6(rollup@4.13.1) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 '@unocss/postcss': 0.58.6(postcss@8.4.38) @@ -11326,7 +11334,7 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.0)(vite@5.2.6) + '@unocss/vite': 0.58.6(rollup@4.13.1)(vite@5.2.6) vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - postcss @@ -11334,7 +11342,7 @@ packages: - supports-color dev: false - /unplugin-vue-router@0.7.0(rollup@4.13.0)(vue-router@4.3.0)(vue@3.4.21): + /unplugin-vue-router@0.7.0(rollup@4.13.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -11343,9 +11351,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) - '@vue-macros/common': 1.10.1(rollup@4.13.0)(vue@3.4.21) - ast-walker-scope: 0.5.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@vue-macros/common': 1.10.1(rollup@4.13.1)(vue@3.4.21) + ast-walker-scope: 0.5.0(rollup@4.13.1) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 @@ -11651,7 +11659,7 @@ packages: vue-tsc: 2.0.7(typescript@5.4.3) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.0)(vite@5.2.6): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.1)(vite@5.2.6): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -11663,7 +11671,7 @@ packages: dependencies: '@antfu/utils': 0.7.7 '@nuxt/kit': link:packages/kit - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.1) debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -11727,7 +11735,7 @@ packages: '@types/node': 20.11.30 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.13.0 + rollup: 4.13.1 optionalDependencies: fsevents: 2.3.3 From fa9d43753d25fc2e8c3107f194b2bab6d4ebcb9a Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 27 Mar 2024 11:42:43 +0000 Subject: [PATCH 374/470] fix(nuxt): support serialising rich server logs (#26503) --- ...dev-server-logs.client.ts => dev-server-logs.ts} | 13 ++++++++++--- packages/nuxt/src/app/types/augments.d.ts | 2 -- packages/nuxt/src/core/nuxt.ts | 2 +- .../nuxt/src/core/runtime/nitro/dev-server-logs.ts | 8 ++++++-- 4 files changed, 17 insertions(+), 8 deletions(-) rename packages/nuxt/src/app/plugins/{dev-server-logs.client.ts => dev-server-logs.ts} (79%) diff --git a/packages/nuxt/src/app/plugins/dev-server-logs.client.ts b/packages/nuxt/src/app/plugins/dev-server-logs.ts similarity index 79% rename from packages/nuxt/src/app/plugins/dev-server-logs.client.ts rename to packages/nuxt/src/app/plugins/dev-server-logs.ts index 9f03fd4b4e..15ee629db4 100644 --- a/packages/nuxt/src/app/plugins/dev-server-logs.client.ts +++ b/packages/nuxt/src/app/plugins/dev-server-logs.ts @@ -1,5 +1,6 @@ import { consola, createConsola } from 'consola' import type { LogObject } from 'consola' +import { parse } from 'devalue' import { defineNuxtPlugin } from '../nuxt' @@ -7,7 +8,12 @@ import { defineNuxtPlugin } from '../nuxt' import { devLogs, devRootDir } from '#build/nuxt.config.mjs' export default defineNuxtPlugin((nuxtApp) => { - if (!import.meta.client || import.meta.test) { return } + if (import.meta.test) { return } + + if (import.meta.server) { + nuxtApp.ssrContext!.event.context._payloadReducers = nuxtApp.ssrContext!._payloadReducers + return + } // Show things in console if (devLogs !== 'silent') { @@ -43,8 +49,9 @@ export default defineNuxtPlugin((nuxtApp) => { // pass SSR logs after hydration nuxtApp.hooks.hook('app:suspense:resolve', async () => { - if (typeof window !== 'undefined' && window.__NUXT_LOGS__) { - await nuxtApp.hooks.callHook('dev:ssr-logs', window.__NUXT_LOGS__) + if (typeof window !== 'undefined') { + const logs = parse(document.getElementById('__NUXT_LOGS__')?.textContent || '[]', nuxtApp._payloadRevivers) as LogObject[] + await nuxtApp.hooks.callHook('dev:ssr-logs', logs) } }) }) diff --git a/packages/nuxt/src/app/types/augments.d.ts b/packages/nuxt/src/app/types/augments.d.ts index 1f9a89e8bf..e9ea30b927 100644 --- a/packages/nuxt/src/app/types/augments.d.ts +++ b/packages/nuxt/src/app/types/augments.d.ts @@ -1,5 +1,4 @@ import type { UseHeadInput } from '@unhead/vue' -import type { LogObject } from 'consola' import type { NuxtApp, useNuxtApp } from '../nuxt' interface NuxtStaticBuildFlags { @@ -18,7 +17,6 @@ declare global { interface ImportMeta extends NuxtStaticBuildFlags {} interface Window { - __NUXT_LOGS__?: LogObject[] __NUXT__?: Record<string, any> useNuxtApp?: typeof useNuxtApp } diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index ab8f93c794..03c151b638 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -202,7 +202,7 @@ async function initNuxt (nuxt: Nuxt) { } if (nuxt.options.dev && nuxt.options.features.devLogs) { - addPlugin(resolve(nuxt.options.appDir, 'plugins/dev-server-logs.client')) + addPlugin(resolve(nuxt.options.appDir, 'plugins/dev-server-logs')) addServerPlugin(resolve(distDir, 'core/runtime/nitro/dev-server-logs')) nuxt.options.nitro = defu(nuxt.options.nitro, { externals: { diff --git a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts index b7efca61e4..11e6a3be28 100644 --- a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts +++ b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts @@ -1,7 +1,7 @@ import { AsyncLocalStorage } from 'node:async_hooks' import type { LogObject } from 'consola' import { consola } from 'consola' -import devalue from '@nuxt/devalue' +import { stringify } from 'devalue' import type { H3Event } from 'h3' import { withTrailingSlash } from 'ufo' import { getContext } from 'unctx' @@ -53,7 +53,11 @@ export default (nitroApp: NitroApp) => { nitroApp.hooks.hook('render:html', (htmlContext) => { const ctx = asyncContext.tryUse() if (!ctx) { return } - htmlContext.bodyAppend.unshift(`<script>window.__NUXT_LOGS__ = ${devalue(asyncContext.use().logs)}</script>`) + try { + htmlContext.bodyAppend.unshift(`<script type="application/json" id="__NUXT_LOGS__">${stringify(ctx.logs, ctx.event.context._payloadReducers)}</script>`) + } catch (e) { + console.warn('[nuxt] Failed to stringify dev server logs. You can define your own reducer/reviver for rich types following the instructions in https://nuxt.com/docs/api/composables/use-nuxt-app#payload.', e) + } }) } From 4a87c35df6eff47c1b9d01d241e98ccb9181905a Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 27 Mar 2024 17:12:57 +0000 Subject: [PATCH 375/470] fix(nuxt): handle errors parsing/stringifying logs --- packages/nuxt/src/app/plugins/dev-server-logs.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/plugins/dev-server-logs.ts b/packages/nuxt/src/app/plugins/dev-server-logs.ts index 15ee629db4..edeb39ae8f 100644 --- a/packages/nuxt/src/app/plugins/dev-server-logs.ts +++ b/packages/nuxt/src/app/plugins/dev-server-logs.ts @@ -37,7 +37,11 @@ export default defineNuxtPlugin((nuxtApp) => { nuxtApp.hook('dev:ssr-logs', (logs) => { for (const log of logs) { // deduplicate so we don't print out things that are logged on client - if (!hydrationLogs.size || !hydrationLogs.has(JSON.stringify(log.args))) { + try { + if (!hydrationLogs.size || !hydrationLogs.has(JSON.stringify(log.args))) { + logger.log(normalizeServerLog({ ...log })) + } + } catch { logger.log(normalizeServerLog({ ...log })) } } @@ -50,7 +54,8 @@ export default defineNuxtPlugin((nuxtApp) => { // pass SSR logs after hydration nuxtApp.hooks.hook('app:suspense:resolve', async () => { if (typeof window !== 'undefined') { - const logs = parse(document.getElementById('__NUXT_LOGS__')?.textContent || '[]', nuxtApp._payloadRevivers) as LogObject[] + const content = document.getElementById('__NUXT_LOGS__')?.textContent + const logs = content ? parse(content, nuxtApp._payloadRevivers) as LogObject[] : [] await nuxtApp.hooks.callHook('dev:ssr-logs', logs) } }) From ae72c4a60d0ca7cd4fe2f51439d1001d8d79de9e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Mar 2024 17:39:37 +0000 Subject: [PATCH 376/470] chore(deps): update all non-major dependencies to ^1.9.2 (main) (#26518) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- packages/nuxt/package.json | 6 ++-- packages/schema/package.json | 2 +- pnpm-lock.yaml | 62 ++++++++++++++++++------------------ test/bundle.test.ts | 4 +-- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index deb79741dd..ac97f68473 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.9.1", - "@unhead/ssr": "^1.9.1", - "@unhead/vue": "^1.9.1", + "@unhead/dom": "^1.9.2", + "@unhead/ssr": "^1.9.2", + "@unhead/vue": "^1.9.2", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 989b8f7b37..75cd1023b7 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.9.1", + "@unhead/schema": "1.9.2", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 92c98fd4b7..8be2b4d8cf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -264,14 +264,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.11.30 '@unhead/dom': - specifier: ^1.9.1 - version: 1.9.1 + specifier: ^1.9.2 + version: 1.9.2 '@unhead/ssr': - specifier: ^1.9.1 - version: 1.9.1 + specifier: ^1.9.2 + version: 1.9.2 '@unhead/vue': - specifier: ^1.9.1 - version: 1.9.1(vue@3.4.21) + specifier: ^1.9.2 + version: 1.9.2(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -482,8 +482,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.9.1 - version: 1.9.1 + specifier: 1.9.2 + version: 1.9.2 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.2.6)(vue@3.4.21) @@ -3346,41 +3346,41 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.9.1: - resolution: {integrity: sha512-5YVT8pyg7Mw8niWwklP8nFKK9WLIvaK4O3tXvqpW9OxSAexJG576bh6FR0hEtSDLBkJh+pI8mMMMIuzSdK/whA==} + /@unhead/dom@1.9.2: + resolution: {integrity: sha512-yREmUAfYJsPV9qR3G85MkdH+FdvsHf8AIJRm7FgQidrPxFr8tCICdID3+jXULz3oq8pFye1tAyHlBHXeq3SIpA==} dependencies: - '@unhead/schema': 1.9.1 - '@unhead/shared': 1.9.1 + '@unhead/schema': 1.9.2 + '@unhead/shared': 1.9.2 dev: false - /@unhead/schema@1.9.1: - resolution: {integrity: sha512-wCJKNx4l837NEVMWP3MnUfkgsnMyuXwYs7+5VvbYzAWbnZSvQt/K10xDV0N7ft9RSlPfgukVVG+gtARm1kGVHQ==} + /@unhead/schema@1.9.2: + resolution: {integrity: sha512-NRCAcuWtD2WCL8u3qR1yn41JpDB+ExjBnSLAuJseOD9+XJjQBqPRgx/bhxZ3Dx6vrrCnCF+SvKr+W1pa+3mWdA==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.9.1: - resolution: {integrity: sha512-rZgzXzOeF4vu2bJJAkHJckgPgWGfpDA3/vesPhJIZGs2NkGYi9lDwMUeJ90HKCMJv1+JRAcPOokjRi6vRlnQpg==} + /@unhead/shared@1.9.2: + resolution: {integrity: sha512-jXQ4vK9wXf66hflOSBUXQKVsOLJrYVSOknDH+9PTwz5CIgJv/Y/o/NkRCJjyf5W7qFf605Te28lbTeLumT+BeQ==} dependencies: - '@unhead/schema': 1.9.1 + '@unhead/schema': 1.9.2 dev: false - /@unhead/ssr@1.9.1: - resolution: {integrity: sha512-ojY5umX2rtEvmsAFX935DPxk+rZfmgLOEMP1etJGYmCh2GQskK4USjUp9uYJyf0DP0xh+42R4a06e5602CIWHQ==} + /@unhead/ssr@1.9.2: + resolution: {integrity: sha512-XKNAK3A67ZZpNq8arTyUj7brmTOYH3PJrVSx546MCQQvCuP6U3brWyIPy12+a/XiAxr4z62vd2IHCZya8OrZrQ==} dependencies: - '@unhead/schema': 1.9.1 - '@unhead/shared': 1.9.1 + '@unhead/schema': 1.9.2 + '@unhead/shared': 1.9.2 dev: false - /@unhead/vue@1.9.1(vue@3.4.21): - resolution: {integrity: sha512-clSKIkwtw26Lx5tR7ecJ/zvyFJkghvJU+jt2liQ4XYQb/Qaveh8L7gqsI1RKUuKaXAjlo2Z4Jpp1v9nHxA0heg==} + /@unhead/vue@1.9.2(vue@3.4.21): + resolution: {integrity: sha512-wp0eOyb7tu2isSt1IiDGm194W/8DVL3cXZd8uvhVlhS9yPL3TzwrSNbvwx95fhfrGuXFraoLjp4SpZ2BCszFsg==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.9.1 - '@unhead/shared': 1.9.1 + '@unhead/schema': 1.9.2 + '@unhead/shared': 1.9.2 hookable: 5.5.3 - unhead: 1.9.1 + unhead: 1.9.2 vue: 3.4.21(typescript@5.4.3) dev: false @@ -11197,12 +11197,12 @@ packages: node-fetch-native: 1.6.4 pathe: 1.1.2 - /unhead@1.9.1: - resolution: {integrity: sha512-qTyA0V6xjUrIJp6KWs0CqAayw4K2DE7rh0GO0vmcC2YuF0HITO/3zkVtG7zhJUd5VeGgGCO/82zatDOOhMyneA==} + /unhead@1.9.2: + resolution: {integrity: sha512-CveP8bjL8gUJnZ1NqcMU1roe+VuM14wr0cJfNek/LCSI2i968mHDD5tbDXNcMSAVOhffKj6WkTngTUKNOZxA7g==} dependencies: - '@unhead/dom': 1.9.1 - '@unhead/schema': 1.9.1 - '@unhead/shared': 1.9.1 + '@unhead/dom': 1.9.2 + '@unhead/schema': 1.9.2 + '@unhead/shared': 1.9.2 hookable: 5.5.3 dev: false diff --git a/test/bundle.test.ts b/test/bundle.test.ts index c12fd76f66..5eb102893a 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM for (const outputDir of ['.output', '.output-inline']) { it('default client bundle size', async () => { const clientStats = await analyzeSizes('**/*.js', join(rootDir, outputDir, 'public')) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"106k"') + expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot('"105k"') expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` [ "_nuxt/entry.js", @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"526k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"76.0k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.6k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 575832b59ebf285c710f3084b8b80ca559e8045e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 14:51:52 +0000 Subject: [PATCH 377/470] chore(deps): update all non-major dependencies (main) (#26530) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 68 +++++++++++++++++++------------------- 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index d2401e66b9..2b352146ea 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "eslint": "8.57.0", "eslint-config-standard": "17.1.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "48.2.1", + "eslint-plugin-jsdoc": "48.2.2", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-unicorn": "51.0.1", "execa": "8.0.1", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index ac97f68473..1c3756f0f2 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -60,7 +60,7 @@ }, "dependencies": { "@nuxt/devalue": "^2.0.2", - "@nuxt/devtools": "^1.1.4", + "@nuxt/devtools": "^1.1.5", "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8be2b4d8cf..c3272fdee0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,8 +71,8 @@ importers: specifier: 2.29.1 version: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0) eslint-plugin-jsdoc: - specifier: 48.2.1 - version: 48.2.1(eslint@8.57.0) + specifier: 48.2.2 + version: 48.2.2(eslint@8.57.0) eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 @@ -243,8 +243,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 '@nuxt/devtools': - specifier: ^1.1.4 - version: 1.1.4(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.1)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) + specifier: ^1.1.5 + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.1)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -2178,8 +2178,8 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.4(nuxt@packages+nuxt)(vite@5.2.6): - resolution: {integrity: sha512-/aZW/vn09vJML3Bi6dP9m51EN8eyeqHbyCyeuGsPUy/2GIlziaNHTaFlNWmLLkezdS4bhEGSr38Z5sa6x8FchQ==} + /@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.6): + resolution: {integrity: sha512-Nb/NKFCRtxyqcPD6snB52rXtbRQMjGtn3ncpa8cLWsnoqnkd9emQ4uwV8IwCNxTnqUBtbGU79/TlJ79SKH9TAw==} peerDependencies: nuxt: workspace:* vite: 5.2.6 @@ -2191,8 +2191,8 @@ packages: vite: 5.2.6(@types/node@20.11.30) dev: false - /@nuxt/devtools-wizard@1.1.4: - resolution: {integrity: sha512-BTobds8a5fwucbHwMb42V53xgPv78SzAt/I44Dz0/uI8LxSKeX45ogEERDHB9hnRMjC/ZBTv1Z6HpGOmoB4Sxg==} + /@nuxt/devtools-wizard@1.1.5: + resolution: {integrity: sha512-bWLgLvYFbYCQYlLPttZaUo58cS1VJo1uEFguHaCwZ7Fzkm4Iv+lFTv5BzD+gOHwohaXLr3YecgZOO4YNJTgXyA==} hasBin: true dependencies: consola: 3.2.3 @@ -2207,20 +2207,20 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.4(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.1)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): - resolution: {integrity: sha512-mJFSB7zbzT1oBP9yf82siI7xIvhZleVuVLiSOCCks8+DhJGgcRPLIDNRm23aFu6YWO0pEv19TiISExiLAkJp2g==} + /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.1)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} hasBin: true peerDependencies: nuxt: workspace:* vite: 5.2.6 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.4(nuxt@packages+nuxt)(vite@5.2.6) - '@nuxt/devtools-wizard': 1.1.4 + '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.6) + '@nuxt/devtools-wizard': 1.1.5 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.22(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) - '@vue/devtools-core': 7.0.22(vite@5.2.6)(vue@3.4.21) - '@vue/devtools-kit': 7.0.22(vue@3.4.21) + '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-core': 7.0.25(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-kit': 7.0.25(vue@3.4.21) birpc: 0.2.17 consola: 3.2.3 cronstrue: 2.48.0 @@ -3851,15 +3851,15 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-applet@7.0.22(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): - resolution: {integrity: sha512-qr6CM6MtDU7aWcwYeHPdfKWPnA2AnRFpHnZ6r3xrPIC2Gx8ekRClaOFZlnXRSMAxNCvfiXpPeJNOgCIHePUcHQ==} + /@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-9JwnjRO2tAHxFjA+cHSpQ/DKIqUKILvYaWJkOt1KqkedXPHzUWU1NfQAto+p6ycaKInA5A0VdXdmIl4N8YJCrw==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-core': 7.0.22(vite@5.2.6)(vue@3.4.21) - '@vue/devtools-kit': 7.0.22(vue@3.4.21) - '@vue/devtools-shared': 7.0.22 - '@vue/devtools-ui': 7.0.22(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) + '@vue/devtools-core': 7.0.25(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-kit': 7.0.25(vue@3.4.21) + '@vue/devtools-shared': 7.0.25 + '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) perfect-debounce: 1.0.0 splitpanes: 3.1.5 vue: 3.4.21(typescript@5.4.3) @@ -3883,11 +3883,11 @@ packages: - vite dev: false - /@vue/devtools-core@7.0.22(vite@5.2.6)(vue@3.4.21): - resolution: {integrity: sha512-jnC+fFMvUsVRy136TxTSXUvfRv/1RzNpQaLJEq+j8YeImyetoPiLX7wdB0z2NMray1//0d8tg9ItIZaLalAm9w==} + /@vue/devtools-core@7.0.25(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-aCsY4J6SvSBDuGdYADszByT0wy0GgpgdCApxcZzQEqYlyVchX7vqznJQrm7Y1GCLqAvoLaxsQqew7Cz+KQ3Idg==} dependencies: - '@vue/devtools-kit': 7.0.22(vue@3.4.21) - '@vue/devtools-shared': 7.0.22 + '@vue/devtools-kit': 7.0.25(vue@3.4.21) + '@vue/devtools-shared': 7.0.25 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 @@ -3897,12 +3897,12 @@ packages: - vue dev: false - /@vue/devtools-kit@7.0.22(vue@3.4.21): - resolution: {integrity: sha512-STRHF+dNF8+ekGN1e3TxOyAN/ivrjqIJcAGsz9jS2rsQvU3HIkC5YNFvpbVk2dGdEnVuvgZQNb4qJGMJrQufoA==} + /@vue/devtools-kit@7.0.25(vue@3.4.21): + resolution: {integrity: sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-shared': 7.0.22 + '@vue/devtools-shared': 7.0.25 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 @@ -3910,14 +3910,14 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: false - /@vue/devtools-shared@7.0.22: - resolution: {integrity: sha512-RtqPObulhlhZr8mP27TWcZHBx63x4BaEO6X9JRKqnIa9PenaT28dIpgYLL/9bZsjRP/6YyP4wMu9sL74JJdipQ==} + /@vue/devtools-shared@7.0.25: + resolution: {integrity: sha512-5+XYhcHSXuJSguYnNwL6/e6VTmXwCfryWQOkffh9ZU2zMByybqqqBrMWqvBkqTmMFCjPdzulo66xXbVbwLaElQ==} dependencies: rfdc: 1.3.1 dev: false - /@vue/devtools-ui@7.0.22(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21): - resolution: {integrity: sha512-1WtmpBSX4kxHJeqpn5ylN883Ly7epjAysvVm+QwabLwuuzqPn1tD/M55R3BFsPx2wAbjw/Kga5BqNHvnGms6mg==} + /@vue/devtools-ui@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21): + resolution: {integrity: sha512-OxcwecnKmKm/zIG/VSixRgSqzjRU9UFld26LIq8kunxvr4zswjHT2xHMb/iauBC2c9TNo8Uk5muUTFLmNbYwnA==} peerDependencies: '@unocss/reset': '>=0.50.0-0' floating-vue: '>=2.0.0-0' @@ -6018,8 +6018,8 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@48.2.1(eslint@8.57.0): - resolution: {integrity: sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==} + /eslint-plugin-jsdoc@48.2.2(eslint@8.57.0): + resolution: {integrity: sha512-S0Gk+rpT5w/ephKCncUY7kUsix9uE4B9XI8D/fS1/26d8okE+vZsuG1IvIt4B6sJUdQqsnzi+YXfmh+HJG11CA==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 From 290dc272255595c9503a9d782265c0f1f02f9074 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 17:58:33 +0000 Subject: [PATCH 378/470] chore(deps): update resolutions rollup to ^4.13.2 (main) (#26537) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 284 +++++++++++++++++++++++++------------------------ 2 files changed, 147 insertions(+), 139 deletions(-) diff --git a/package.json b/package.json index 2b352146ea..5e3e1008f6 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@nuxt/schema": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "rollup": "^4.13.1", + "rollup": "^4.13.2", "nuxt": "workspace:*", "vite": "5.2.6", "vue": "3.4.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c3272fdee0..7f1d573a0b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ overrides: '@nuxt/schema': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - rollup: ^4.13.1 + rollup: ^4.13.2 nuxt: workspace:* vite: 5.2.6 vue: 3.4.21 @@ -204,7 +204,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.1) + version: 3.7.1(rollup@4.13.2) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.5 - version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.1)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -385,13 +385,13 @@ importers: version: 1.9.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.1) + version: 3.7.1(rollup@4.13.2) unplugin: specifier: ^1.10.0 version: 1.10.0 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.13.1)(vue-router@4.3.0)(vue@3.4.21) + version: 0.7.0(rollup@4.13.2)(vue-router@4.3.0)(vue@3.4.21) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -464,7 +464,7 @@ importers: version: 1.5.3 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.1) + version: 3.7.1(rollup@4.13.2) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -552,7 +552,7 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.13.1) + version: 5.0.5(rollup@4.13.2) '@vitejs/plugin-vue': specifier: ^5.0.4 version: 5.0.4(vite@5.2.6)(vue@3.4.21) @@ -621,7 +621,7 @@ importers: version: 8.4.38 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.13.1) + version: 5.12.0(rollup@4.13.2) std-env: specifier: ^3.7.0 version: 3.7.0 @@ -2207,7 +2207,7 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.1)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): + /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} hasBin: true peerDependencies: @@ -2248,9 +2248,9 @@ packages: semver: 7.6.0 simple-git: 3.23.0 sirv: 2.0.4 - unimport: 3.7.1(rollup@4.13.1) + unimport: 3.7.1(rollup@4.13.2) vite: 5.2.6(@types/node@20.11.30) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.1)(vite@5.2.6) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.6) vite-plugin-vue-inspector: 4.0.2(vite@5.2.6) which: 3.0.1 ws: 8.16.0 @@ -2589,101 +2589,101 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.13.1): + /@rollup/plugin-alias@5.1.0(rollup@4.13.2): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.13.1 + rollup: 4.13.2 slash: 4.0.0 - /@rollup/plugin-commonjs@25.0.7(rollup@4.13.1): + /@rollup/plugin-commonjs@25.0.7(rollup@4.13.2): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.8 - rollup: 4.13.1 + rollup: 4.13.2 - /@rollup/plugin-inject@5.0.5(rollup@4.13.1): + /@rollup/plugin-inject@5.0.5(rollup@4.13.2): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) estree-walker: 2.0.2 magic-string: 0.30.8 - rollup: 4.13.1 + rollup: 4.13.2 - /@rollup/plugin-json@6.1.0(rollup@4.13.1): + /@rollup/plugin-json@6.1.0(rollup@4.13.2): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) - rollup: 4.13.1 + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + rollup: 4.13.2 - /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.1): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.2): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.13.1 + rollup: 4.13.2 - /@rollup/plugin-replace@5.0.5(rollup@4.13.1): + /@rollup/plugin-replace@5.0.5(rollup@4.13.2): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) magic-string: 0.30.8 - rollup: 4.13.1 + rollup: 4.13.2 - /@rollup/plugin-terser@0.4.4(rollup@4.13.1): + /@rollup/plugin-terser@0.4.4(rollup@4.13.2): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.13.1 + rollup: 4.13.2 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 @@ -2695,11 +2695,11 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@4.13.1): + /@rollup/pluginutils@5.1.0(rollup@4.13.2): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true @@ -2707,101 +2707,108 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.13.1 + rollup: 4.13.2 - /@rollup/rollup-android-arm-eabi@4.13.1: - resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==} + /@rollup/rollup-android-arm-eabi@4.13.2: + resolution: {integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.13.1: - resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==} + /@rollup/rollup-android-arm64@4.13.2: + resolution: {integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.13.1: - resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==} + /@rollup/rollup-darwin-arm64@4.13.2: + resolution: {integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.13.1: - resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==} + /@rollup/rollup-darwin-x64@4.13.2: + resolution: {integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.13.1: - resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==} + /@rollup/rollup-linux-arm-gnueabihf@4.13.2: + resolution: {integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.13.1: - resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==} + /@rollup/rollup-linux-arm64-gnu@4.13.2: + resolution: {integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.13.1: - resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==} + /@rollup/rollup-linux-arm64-musl@4.13.2: + resolution: {integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.13.1: - resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==} + /@rollup/rollup-linux-powerpc64le-gnu@4.13.2: + resolution: {integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==} + cpu: [ppc64le] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.13.2: + resolution: {integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.13.1: - resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==} + /@rollup/rollup-linux-s390x-gnu@4.13.2: + resolution: {integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.13.1: - resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==} + /@rollup/rollup-linux-x64-gnu@4.13.2: + resolution: {integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.13.1: - resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==} + /@rollup/rollup-linux-x64-musl@4.13.2: + resolution: {integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.13.1: - resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==} + /@rollup/rollup-win32-arm64-msvc@4.13.2: + resolution: {integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.13.1: - resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==} + /@rollup/rollup-win32-ia32-msvc@4.13.2: + resolution: {integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.13.1: - resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==} + /@rollup/rollup-win32-x64-msvc@4.13.2: + resolution: {integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==} cpu: [x64] os: [win32] requiresBuild: true @@ -3384,7 +3391,7 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: false - /@unocss/astro@0.58.6(rollup@4.13.1)(vite@5.2.6): + /@unocss/astro@0.58.6(rollup@4.13.2)(vite@5.2.6): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: vite: 5.2.6 @@ -3394,19 +3401,19 @@ packages: dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.1)(vite@5.2.6) + '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.6) vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false - /@unocss/cli@0.58.6(rollup@4.13.1): + /@unocss/cli@0.58.6(rollup@4.13.2): resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/preset-uno': 0.58.6 @@ -3578,13 +3585,13 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.13.1)(vite@5.2.6): + /@unocss/vite@0.58.6(rollup@4.13.2)(vite@5.2.6): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: vite: 5.2.6 dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/inspector': 0.58.6 @@ -3773,7 +3780,7 @@ packages: '@volar/language-core': 2.1.3 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.13.1)(vue@3.4.21): + /@vue-macros/common@1.10.1(rollup@4.13.2)(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3783,9 +3790,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.13.1) + ast-kit: 0.11.3(rollup@4.13.2) local-pkg: 0.5.0 magic-string-ast: 0.3.0 vue: 3.4.21(typescript@5.4.3) @@ -3931,7 +3938,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.1)(vite@5.2.6) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.2)(vite@5.2.6) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' @@ -4511,34 +4518,34 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.3(rollup@4.13.1): + /ast-kit@0.11.3(rollup@4.13.2): resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-kit@0.9.5(rollup@4.13.1): + /ast-kit@0.9.5(rollup@4.13.2): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-walker-scope@0.5.0(rollup@4.13.1): + /ast-walker-scope@0.5.0(rollup@4.13.2): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - ast-kit: 0.9.5(rollup@4.13.1) + ast-kit: 0.9.5(rollup@4.13.2) transitivePeerDependencies: - rollup dev: false @@ -8590,14 +8597,14 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.13.1) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.1) - '@rollup/plugin-inject': 5.0.5(rollup@4.13.1) - '@rollup/plugin-json': 6.1.0(rollup@4.13.1) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.1) - '@rollup/plugin-replace': 5.0.5(rollup@4.13.1) - '@rollup/plugin-terser': 0.4.4(rollup@4.13.1) - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/plugin-alias': 5.1.0(rollup@4.13.2) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.2) + '@rollup/plugin-inject': 5.0.5(rollup@4.13.2) + '@rollup/plugin-json': 6.1.0(rollup@4.13.2) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.2) + '@rollup/plugin-replace': 5.0.5(rollup@4.13.2) + '@rollup/plugin-terser': 0.4.4(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 archiver: 7.0.1 @@ -8641,8 +8648,8 @@ packages: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.13.1 - rollup-plugin-visualizer: 5.12.0(rollup@4.13.1) + rollup: 4.13.2 + rollup-plugin-visualizer: 5.12.0(rollup@4.13.2) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 @@ -8652,7 +8659,7 @@ packages: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.13.1) + unimport: 3.7.1(rollup@4.13.2) unstorage: 1.10.2(ioredis@5.3.2) unwasm: 0.3.8 transitivePeerDependencies: @@ -10199,57 +10206,58 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.13.1)(typescript@5.4.3): + /rollup-plugin-dts@6.1.0(rollup@4.13.2)(typescript@5.4.3): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 4.13.1 + rollup: 4.13.2 typescript: 5.4.3 optionalDependencies: '@babel/code-frame': 7.24.2 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.13.1): + /rollup-plugin-visualizer@5.12.0(rollup@4.13.2): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.13.1 + rollup: ^4.13.2 peerDependenciesMeta: rollup: optional: true dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.13.1 + rollup: 4.13.2 source-map: 0.7.4 yargs: 17.7.2 - /rollup@4.13.1: - resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==} + /rollup@4.13.2: + resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.1 - '@rollup/rollup-android-arm64': 4.13.1 - '@rollup/rollup-darwin-arm64': 4.13.1 - '@rollup/rollup-darwin-x64': 4.13.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.1 - '@rollup/rollup-linux-arm64-gnu': 4.13.1 - '@rollup/rollup-linux-arm64-musl': 4.13.1 - '@rollup/rollup-linux-riscv64-gnu': 4.13.1 - '@rollup/rollup-linux-s390x-gnu': 4.13.1 - '@rollup/rollup-linux-x64-gnu': 4.13.1 - '@rollup/rollup-linux-x64-musl': 4.13.1 - '@rollup/rollup-win32-arm64-msvc': 4.13.1 - '@rollup/rollup-win32-ia32-msvc': 4.13.1 - '@rollup/rollup-win32-x64-msvc': 4.13.1 + '@rollup/rollup-android-arm-eabi': 4.13.2 + '@rollup/rollup-android-arm64': 4.13.2 + '@rollup/rollup-darwin-arm64': 4.13.2 + '@rollup/rollup-darwin-x64': 4.13.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.2 + '@rollup/rollup-linux-arm64-gnu': 4.13.2 + '@rollup/rollup-linux-arm64-musl': 4.13.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.13.2 + '@rollup/rollup-linux-riscv64-gnu': 4.13.2 + '@rollup/rollup-linux-s390x-gnu': 4.13.2 + '@rollup/rollup-linux-x64-gnu': 4.13.2 + '@rollup/rollup-linux-x64-musl': 4.13.2 + '@rollup/rollup-win32-arm64-msvc': 4.13.2 + '@rollup/rollup-win32-ia32-msvc': 4.13.2 + '@rollup/rollup-win32-x64-msvc': 4.13.2 fsevents: 2.3.3 /run-applescript@5.0.0: @@ -11129,12 +11137,12 @@ packages: typescript: optional: true dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.13.1) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.1) - '@rollup/plugin-json': 6.1.0(rollup@4.13.1) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.1) - '@rollup/plugin-replace': 5.0.5(rollup@4.13.1) - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/plugin-alias': 5.1.0(rollup@4.13.2) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.2) + '@rollup/plugin-json': 6.1.0(rollup@4.13.2) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.2) + '@rollup/plugin-replace': 5.0.5(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -11149,8 +11157,8 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 4.13.1 - rollup-plugin-dts: 6.1.0(rollup@4.13.1)(typescript@5.4.3) + rollup: 4.13.2 + rollup-plugin-dts: 6.1.0(rollup@4.13.2)(typescript@5.4.3) scule: 1.3.0 typescript: 5.4.3 untyped: 1.4.2 @@ -11227,10 +11235,10 @@ packages: vfile: 6.0.1 dev: true - /unimport@3.7.1(rollup@4.13.1): + /unimport@3.7.1(rollup@4.13.2): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -11303,7 +11311,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.1)(vite@5.2.6): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.2)(vite@5.2.6): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -11315,8 +11323,8 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.13.1)(vite@5.2.6) - '@unocss/cli': 0.58.6(rollup@4.13.1) + '@unocss/astro': 0.58.6(rollup@4.13.2)(vite@5.2.6) + '@unocss/cli': 0.58.6(rollup@4.13.2) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 '@unocss/postcss': 0.58.6(postcss@8.4.38) @@ -11334,7 +11342,7 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.1)(vite@5.2.6) + '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.6) vite: 5.2.6(@types/node@20.11.30) transitivePeerDependencies: - postcss @@ -11342,7 +11350,7 @@ packages: - supports-color dev: false - /unplugin-vue-router@0.7.0(rollup@4.13.1)(vue-router@4.3.0)(vue@3.4.21): + /unplugin-vue-router@0.7.0(rollup@4.13.2)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -11351,9 +11359,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) - '@vue-macros/common': 1.10.1(rollup@4.13.1)(vue@3.4.21) - ast-walker-scope: 0.5.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@vue-macros/common': 1.10.1(rollup@4.13.2)(vue@3.4.21) + ast-walker-scope: 0.5.0(rollup@4.13.2) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 @@ -11659,7 +11667,7 @@ packages: vue-tsc: 2.0.7(typescript@5.4.3) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.1)(vite@5.2.6): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.6): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -11671,7 +11679,7 @@ packages: dependencies: '@antfu/utils': 0.7.7 '@nuxt/kit': link:packages/kit - '@rollup/pluginutils': 5.1.0(rollup@4.13.1) + '@rollup/pluginutils': 5.1.0(rollup@4.13.2) debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -11735,7 +11743,7 @@ packages: '@types/node': 20.11.30 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.13.1 + rollup: 4.13.2 optionalDependencies: fsevents: 2.3.3 From 871404ae5673425aeedde82f123ea58aa7c6facf Mon Sep 17 00:00:00 2001 From: xjccc <546534045@qq.com> Date: Fri, 29 Mar 2024 02:06:16 +0800 Subject: [PATCH 379/470] docs: add contents of the layout in examples (#26532) --- docs/3.api/1.components/3.nuxt-layout.md | 42 ++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/docs/3.api/1.components/3.nuxt-layout.md b/docs/3.api/1.components/3.nuxt-layout.md index 3b5a462a00..1ff8168ade 100644 --- a/docs/3.api/1.components/3.nuxt-layout.md +++ b/docs/3.api/1.components/3.nuxt-layout.md @@ -87,6 +87,8 @@ console.log(layoutCustomProps.title) // I am a custom layout `<NuxtLayout />` renders incoming content via `<slot />`, which is then wrapped around Vue’s `<Transition />` component to activate layout transition. For this to work as expected, it is recommended that `<NuxtLayout />` is **not** the root element of the page component. +::code-group + ```vue [pages/index.vue] <template> <div> @@ -97,13 +99,27 @@ console.log(layoutCustomProps.title) // I am a custom layout </template> ``` +```vue [layouts/custom.vue] +<template> + <div> + <!-- named slot --> + <slot name="header" /> + <slot /> + </div> +</template> +``` + +:: + :read-more{to="/docs/getting-started/transitions"} ## Layout's Ref To get the ref of a layout component, access it through `ref.value.layoutRef`. -````vue [app.vue] +::code-group + +```vue [app.vue] <script setup lang="ts"> const layout = ref() @@ -113,8 +129,28 @@ function logFoo () { </script> <template> - <NuxtLayout ref="layout" /> + <NuxtLayout ref="layout"> + default layout + </NuxtLayout> </template> -```` +``` + +```vue [layouts/default.vue] +<script setup lang="ts"> +const foo = () => console.log('foo') +defineExpose({ + foo +}) +</script> + +<template> + <div> + default layout + <slot /> + </div> +</template> +``` + +:: :read-more{to="/docs/guide/directory-structure/layouts"} From 22dfac7bd71a7fcd6b6519a681fa5e87988075de Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Fri, 29 Mar 2024 09:13:04 +0000 Subject: [PATCH 380/470] fix(nuxt): augment `GlobalComponents` in multiple vue modules (#26541) --- packages/nuxt/src/components/templates.ts | 20 +++++++++++++++----- packages/schema/src/config/typescript.ts | 17 ++++++++++++++++- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/packages/nuxt/src/components/templates.ts b/packages/nuxt/src/components/templates.ts index c5b31e8252..44c166eb07 100644 --- a/packages/nuxt/src/components/templates.ts +++ b/packages/nuxt/src/components/templates.ts @@ -109,12 +109,22 @@ export const componentsTypeTemplate = { : c.filePath.replace(/(?<=\w)\.(?!vue)\w+$/g, ''), { wrapper: false })}['${c.export}']` ]) - return `// Generated by components discovery + return ` +interface _GlobalComponents { + ${componentTypes.map(([pascalName, type]) => ` '${pascalName}': ${type}`).join('\n')} + ${componentTypes.map(([pascalName, type]) => ` 'Lazy${pascalName}': ${type}`).join('\n')} +} + +declare module '@vue/runtime-core' { + export interface GlobalComponents extends _GlobalComponents { } +} + +declare module '@vue/runtime-dom' { + export interface GlobalComponents extends _GlobalComponents { } +} + declare module 'vue' { - export interface GlobalComponents { -${componentTypes.map(([pascalName, type]) => ` '${pascalName}': ${type}`).join('\n')} -${componentTypes.map(([pascalName, type]) => ` 'Lazy${pascalName}': ${type}`).join('\n')} - } + export interface GlobalComponents extends _GlobalComponents { } } ${componentTypes.map(([pascalName, type]) => `export const ${pascalName}: ${type}`).join('\n')} diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 9fcdf4ada2..d67d6497ee 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -32,7 +32,22 @@ export default defineUntypedSchema({ */ hoist: { $resolve: (val) => { - const defaults = ['nitropack', 'defu', 'h3', '@unhead/vue', 'vue', 'vue-router', '@nuxt/schema', 'nuxt', 'consola', 'ofetch'] + const defaults = [ + // Nitro auto-imported/augmented dependencies + 'nitropack', + 'defu', + 'h3', + 'consola', + 'ofetch', + // Key nuxt dependencies + '@unhead/vue', + 'vue', + '@vue/runtime-core', + '@vue/runtime-dom', + 'vue-router', + '@nuxt/schema', + 'nuxt' + ] return val === false ? [] : (Array.isArray(val) ? val.concat(defaults) : defaults) } }, From 9b243631b4a601459d3f84ee177c78720d7b60d5 Mon Sep 17 00:00:00 2001 From: xjccc <546534045@qq.com> Date: Fri, 29 Mar 2024 18:09:25 +0800 Subject: [PATCH 381/470] refactor(nuxt): remove duplicated check (#26544) --- packages/nuxt/src/app/composables/asyncData.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 4ae5507330..6e8de20f3b 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -351,13 +351,11 @@ export function useAsyncData< if (instance && !instance._nuxtOnBeforeMountCbs) { instance._nuxtOnBeforeMountCbs = [] const cbs = instance._nuxtOnBeforeMountCbs - if (instance) { - onBeforeMount(() => { - cbs.forEach((cb) => { cb() }) - cbs.splice(0, cbs.length) - }) - onUnmounted(() => cbs.splice(0, cbs.length)) - } + onBeforeMount(() => { + cbs.forEach((cb) => { cb() }) + cbs.splice(0, cbs.length) + }) + onUnmounted(() => cbs.splice(0, cbs.length)) } if (fetchOnServer && nuxtApp.isHydrating && (asyncData.error.value || hasCachedData())) { From a33674b06b989ab2f16007786c5d85752d182589 Mon Sep 17 00:00:00 2001 From: Alex Liu <dsa1314@gmail.com> Date: Fri, 29 Mar 2024 18:42:06 +0800 Subject: [PATCH 382/470] refactor(nuxt): simplify check in `navigateTo` for server (#26546) --- packages/nuxt/src/app/composables/router.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index 0f2eac9811..717b14cf43 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -125,18 +125,16 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na const toPath = typeof to === 'string' ? to : (withQuery((to as RouteLocationPathRaw).path || '/', to.query || {}) + (to.hash || '')) // Early open handler - if (options?.open) { - if (import.meta.client) { - const { target = '_blank', windowFeatures = {} } = options.open + if (import.meta.client && options?.open) { + const { target = '_blank', windowFeatures = {} } = options.open - const features = Object.entries(windowFeatures) - .filter(([_, value]) => value !== undefined) - .map(([feature, value]) => `${feature.toLowerCase()}=${value}`) - .join(', ') + const features = Object.entries(windowFeatures) + .filter(([_, value]) => value !== undefined) + .map(([feature, value]) => `${feature.toLowerCase()}=${value}`) + .join(', ') - open(toPath, target, features) - return Promise.resolve() - } + open(toPath, target, features) + return Promise.resolve() } const isExternal = options?.external || hasProtocol(toPath, { acceptRelative: true }) From 24ad4506f7e737bc7b1c1c1aa6cc7182ebac9023 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 11:37:20 +0000 Subject: [PATCH 383/470] chore(deps): update all non-major dependencies (main) (#26545) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 8 +- packages/schema/package.json | 4 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 214 +++++++++++++++++------------------ test/bundle.test.ts | 2 +- 7 files changed, 117 insertions(+), 117 deletions(-) diff --git a/package.json b/package.json index 5e3e1008f6..1cef3eacd0 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@nuxt/webpack-builder": "workspace:*", "rollup": "^4.13.2", "nuxt": "workspace:*", - "vite": "5.2.6", + "vite": "5.2.7", "vue": "3.4.21", "magic-string": "^0.30.8" }, diff --git a/packages/kit/package.json b/packages/kit/package.json index 722047b326..e26ad1de80 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -52,7 +52,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.5", "unbuild": "latest", - "vite": "5.2.6", + "vite": "5.2.7", "vitest": "1.4.0", "webpack": "5.91.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 1c3756f0f2..26f791f738 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.9.2", - "@unhead/ssr": "^1.9.2", - "@unhead/vue": "^1.9.2", + "@unhead/dom": "^1.9.3", + "@unhead/ssr": "^1.9.3", + "@unhead/vue": "^1.9.3", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", @@ -122,7 +122,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.2.6", + "vite": "5.2.7", "vitest": "1.4.0" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 75cd1023b7..eed55db933 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.9.2", + "@unhead/schema": "1.9.3", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", @@ -52,7 +52,7 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.2.6", + "vite": "5.2.7", "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 5a26664a96..aaf8b8f6ab 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -62,7 +62,7 @@ "ufo": "^1.5.3", "unenv": "^1.9.0", "unplugin": "^1.10.0", - "vite": "^5.2.6", + "vite": "^5.2.7", "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f1d573a0b..211ec9127b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: '@nuxt/webpack-builder': workspace:* rollup: ^4.13.2 nuxt: workspace:* - vite: 5.2.6 + vite: 5.2.7 vue: 3.4.21 magic-string: ^0.30.8 @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -141,7 +141,7 @@ importers: version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -228,8 +228,8 @@ importers: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.6 - version: 5.2.6(@types/node@20.11.30) + specifier: 5.2.7 + version: 5.2.7(@types/node@20.11.30) vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.5 - version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.2)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -264,14 +264,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.11.30 '@unhead/dom': - specifier: ^1.9.2 - version: 1.9.2 + specifier: ^1.9.3 + version: 1.9.3 '@unhead/ssr': - specifier: ^1.9.2 - version: 1.9.2 + specifier: ^1.9.3 + version: 1.9.3 '@unhead/vue': - specifier: ^1.9.2 - version: 1.9.2(vue@3.4.21) + specifier: ^1.9.3 + version: 1.9.3(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -422,13 +422,13 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.6)(vue@3.4.21) + version: 5.0.4(vite@5.2.7)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.6 - version: 5.2.6(@types/node@20.11.30) + specifier: 5.2.7 + version: 5.2.7(@types/node@20.11.30) vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) @@ -482,14 +482,14 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.9.2 - version: 1.9.2 + specifier: 1.9.3 + version: 1.9.3 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.6)(vue@3.4.21) + version: 5.0.4(vite@5.2.7)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.6)(vue@3.4.21) + version: 3.1.0(vite@5.2.7)(vue@3.4.21) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 @@ -524,8 +524,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.2.6 - version: 5.2.6(@types/node@20.11.30) + specifier: 5.2.7 + version: 5.2.7(@types/node@20.11.30) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -555,10 +555,10 @@ importers: version: 5.0.5(rollup@4.13.2) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.6)(vue@3.4.21) + version: 5.0.4(vite@5.2.7)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.6)(vue@3.4.21) + version: 3.1.0(vite@5.2.7)(vue@3.4.21) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -638,14 +638,14 @@ importers: specifier: ^1.10.0 version: 1.10.0 vite: - specifier: 5.2.6 - version: 5.2.6(@types/node@20.11.30) + specifier: 5.2.7 + version: 5.2.7(@types/node@20.11.30) vite-node: specifier: ^1.4.0 version: 1.4.0(@types/node@20.11.30) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.6)(vue-tsc@2.0.7) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.7)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -2178,17 +2178,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.6): + /@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.7): resolution: {integrity: sha512-Nb/NKFCRtxyqcPD6snB52rXtbRQMjGtn3ncpa8cLWsnoqnkd9emQ4uwV8IwCNxTnqUBtbGU79/TlJ79SKH9TAw==} peerDependencies: nuxt: workspace:* - vite: 5.2.6 + vite: 5.2.7 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) dev: false /@nuxt/devtools-wizard@1.1.5: @@ -2207,19 +2207,19 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): + /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.2)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21): resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.2.6 + vite: 5.2.7 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.6) + '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.7) '@nuxt/devtools-wizard': 1.1.5 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21) - '@vue/devtools-core': 7.0.25(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21) + '@vue/devtools-core': 7.0.25(vite@5.2.7)(vue@3.4.21) '@vue/devtools-kit': 7.0.25(vue@3.4.21) birpc: 0.2.17 consola: 3.2.3 @@ -2249,9 +2249,9 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.13.2) - vite: 5.2.6(@types/node@20.11.30) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.6) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.6) + vite: 5.2.7(@types/node@20.11.30) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.7) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.7) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -2328,7 +2328,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2342,7 +2342,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.2.6 + vite: 5.2.7 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.21 vue-router: ^4.0.0 @@ -2395,9 +2395,9 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.0 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3353,56 +3353,56 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.9.2: - resolution: {integrity: sha512-yREmUAfYJsPV9qR3G85MkdH+FdvsHf8AIJRm7FgQidrPxFr8tCICdID3+jXULz3oq8pFye1tAyHlBHXeq3SIpA==} + /@unhead/dom@1.9.3: + resolution: {integrity: sha512-l7KO6zv8T/yKpWOtcKww3k6RLENEiwiapoiPwtKlwWBFJekSjgM1+1AVu58yWqadFYHGP0/XhMwxKrOaOL+Vkw==} dependencies: - '@unhead/schema': 1.9.2 - '@unhead/shared': 1.9.2 + '@unhead/schema': 1.9.3 + '@unhead/shared': 1.9.3 dev: false - /@unhead/schema@1.9.2: - resolution: {integrity: sha512-NRCAcuWtD2WCL8u3qR1yn41JpDB+ExjBnSLAuJseOD9+XJjQBqPRgx/bhxZ3Dx6vrrCnCF+SvKr+W1pa+3mWdA==} + /@unhead/schema@1.9.3: + resolution: {integrity: sha512-emFHDYxn6u5SVwSRXMpYBCYKBua+GCjUwTLLdUupInthW3UraSUuXakmv06wDvejE8pTrBOPrGWescIYmwm69A==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.9.2: - resolution: {integrity: sha512-jXQ4vK9wXf66hflOSBUXQKVsOLJrYVSOknDH+9PTwz5CIgJv/Y/o/NkRCJjyf5W7qFf605Te28lbTeLumT+BeQ==} + /@unhead/shared@1.9.3: + resolution: {integrity: sha512-9wJ+wNmAVDCsCFKE3YHMwNkmFqKzCqQfp53ABJHQFOvY336s4nMWtiMNMjxF4aY4pJk8Qpwd8dRlgpLlyH0KZg==} dependencies: - '@unhead/schema': 1.9.2 + '@unhead/schema': 1.9.3 dev: false - /@unhead/ssr@1.9.2: - resolution: {integrity: sha512-XKNAK3A67ZZpNq8arTyUj7brmTOYH3PJrVSx546MCQQvCuP6U3brWyIPy12+a/XiAxr4z62vd2IHCZya8OrZrQ==} + /@unhead/ssr@1.9.3: + resolution: {integrity: sha512-oFFynkmAoHoDU2uG3otBnYOj5rmi14fqaUpA4tzsRlyLiwyF3Hd8nXec9YM7JaBzstoiy2NGf7dTfY7eNc8NoQ==} dependencies: - '@unhead/schema': 1.9.2 - '@unhead/shared': 1.9.2 + '@unhead/schema': 1.9.3 + '@unhead/shared': 1.9.3 dev: false - /@unhead/vue@1.9.2(vue@3.4.21): - resolution: {integrity: sha512-wp0eOyb7tu2isSt1IiDGm194W/8DVL3cXZd8uvhVlhS9yPL3TzwrSNbvwx95fhfrGuXFraoLjp4SpZ2BCszFsg==} + /@unhead/vue@1.9.3(vue@3.4.21): + resolution: {integrity: sha512-DrTOTUOvKZlL7nVhsu9gCNXiGv/ErqHqSOrbNGqahlnOFJgJQD+9VVr904K/u75ISg00ksAzKfFPN15FgMovMw==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.9.2 - '@unhead/shared': 1.9.2 + '@unhead/schema': 1.9.3 + '@unhead/shared': 1.9.3 hookable: 5.5.3 - unhead: 1.9.2 + unhead: 1.9.3 vue: 3.4.21(typescript@5.4.3) dev: false - /@unocss/astro@0.58.6(rollup@4.13.2)(vite@5.2.6): + /@unocss/astro@0.58.6(rollup@4.13.2)(vite@5.2.7): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: - vite: 5.2.6 + vite: 5.2.7 peerDependenciesMeta: vite: optional: true dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.6) - vite: 5.2.6(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.7) + vite: 5.2.7(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3585,10 +3585,10 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.13.2)(vite@5.2.6): + /@unocss/vite@0.58.6(rollup@4.13.2)(vite@5.2.7): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: - vite: 5.2.6 + vite: 5.2.7 dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.13.2) @@ -3600,7 +3600,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) transitivePeerDependencies: - rollup dev: false @@ -3626,29 +3626,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.6)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.7)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.2.6 + vite: 5.2.7 vue: 3.4.21 dependencies: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.7)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.2.6 + vite: 5.2.7 vue: 3.4.21 dependencies: - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3858,12 +3858,12 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.6)(vue@3.4.21): + /@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21): resolution: {integrity: sha512-9JwnjRO2tAHxFjA+cHSpQ/DKIqUKILvYaWJkOt1KqkedXPHzUWU1NfQAto+p6ycaKInA5A0VdXdmIl4N8YJCrw==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-core': 7.0.25(vite@5.2.6)(vue@3.4.21) + '@vue/devtools-core': 7.0.25(vite@5.2.7)(vue@3.4.21) '@vue/devtools-kit': 7.0.25(vue@3.4.21) '@vue/devtools-shared': 7.0.25 '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) @@ -3890,7 +3890,7 @@ packages: - vite dev: false - /@vue/devtools-core@7.0.25(vite@5.2.6)(vue@3.4.21): + /@vue/devtools-core@7.0.25(vite@5.2.7)(vue@3.4.21): resolution: {integrity: sha512-aCsY4J6SvSBDuGdYADszByT0wy0GgpgdCApxcZzQEqYlyVchX7vqznJQrm7Y1GCLqAvoLaxsQqew7Cz+KQ3Idg==} dependencies: '@vue/devtools-kit': 7.0.25(vue@3.4.21) @@ -3898,7 +3898,7 @@ packages: mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.6) + vite-hot-client: 0.2.3(vite@5.2.7) transitivePeerDependencies: - vite - vue @@ -3938,7 +3938,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.2)(vite@5.2.6) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.2)(vite@5.2.7) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' @@ -11205,12 +11205,12 @@ packages: node-fetch-native: 1.6.4 pathe: 1.1.2 - /unhead@1.9.2: - resolution: {integrity: sha512-CveP8bjL8gUJnZ1NqcMU1roe+VuM14wr0cJfNek/LCSI2i968mHDD5tbDXNcMSAVOhffKj6WkTngTUKNOZxA7g==} + /unhead@1.9.3: + resolution: {integrity: sha512-nV6d4ALJph73hCJT1tAd4z30Q2Gv8vNUvK0netM/EetL2scdggf9brcX3OyPqWhZbnFIOE+AouH2oE1KPznkcw==} dependencies: - '@unhead/dom': 1.9.2 - '@unhead/schema': 1.9.2 - '@unhead/shared': 1.9.2 + '@unhead/dom': 1.9.3 + '@unhead/schema': 1.9.3 + '@unhead/shared': 1.9.3 hookable: 5.5.3 dev: false @@ -11311,19 +11311,19 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.2)(vite@5.2.6): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.2)(vite@5.2.7): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.58.6 - vite: 5.2.6 + vite: 5.2.7 peerDependenciesMeta: '@unocss/webpack': optional: true vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.13.2)(vite@5.2.6) + '@unocss/astro': 0.58.6(rollup@4.13.2)(vite@5.2.7) '@unocss/cli': 0.58.6(rollup@4.13.2) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -11342,8 +11342,8 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.6) - vite: 5.2.6(@types/node@20.11.30) + '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.7) + vite: 5.2.7(@types/node@20.11.30) transitivePeerDependencies: - postcss - rollup @@ -11566,12 +11566,12 @@ packages: vfile-message: 4.0.2 dev: true - /vite-hot-client@0.2.3(vite@5.2.6): + /vite-hot-client@0.2.3(vite@5.2.7): resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: - vite: 5.2.6 + vite: 5.2.7 dependencies: - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) dev: false /vite-node@1.0.2(@types/node@20.11.30): @@ -11583,7 +11583,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11604,7 +11604,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -11615,7 +11615,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.6)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.7)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11624,7 +11624,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.2.6 + vite: 5.2.7 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -11659,7 +11659,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.3 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11667,12 +11667,12 @@ packages: vue-tsc: 2.0.7(typescript@5.4.3) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.6): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.7): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.2.6 + vite: 5.2.7 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -11687,16 +11687,16 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.2.6): + /vite-plugin-vue-inspector@4.0.2(vite@5.2.7): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.2.6 + vite: 5.2.7 dependencies: '@babel/core': 7.24.1 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.1) @@ -11707,13 +11707,13 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.6(@types/node@20.11.30): - resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} + /vite@5.2.7(@types/node@20.11.30): + resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11747,10 +11747,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.6)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11813,7 +11813,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) vite-node: 1.0.2(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11870,7 +11870,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.6(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.11.30) vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 5eb102893a..63ce5418d5 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"526k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.6k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.5k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From b5e413fec9f5ec97964ac578894fcd3d3f7dcda6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 12:08:42 +0000 Subject: [PATCH 384/470] chore(deps): update all non-major dependencies (main) (#26548) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/nuxt/package.json | 4 +-- packages/vite/package.json | 4 +-- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 49 ++++++++++++++++++++++++----------- 4 files changed, 39 insertions(+), 20 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 26f791f738..0a0e2c8d2c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -100,14 +100,14 @@ "radix3": "^1.1.2", "scule": "^1.3.0", "std-env": "^3.7.0", - "strip-literal": "^2.0.0", + "strip-literal": "^2.1.0", "ufo": "^1.5.3", "ultrahtml": "^1.5.3", "uncrypto": "^0.1.3", "unctx": "^2.3.1", "unenv": "^1.9.0", "unimport": "^3.7.1", - "unplugin": "^1.10.0", + "unplugin": "^1.10.1", "unplugin-vue-router": "^0.7.0", "unstorage": "^1.10.2", "untyped": "^1.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index aaf8b8f6ab..179734ea31 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -58,10 +58,10 @@ "postcss": "^8.4.38", "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", - "strip-literal": "^2.0.0", + "strip-literal": "^2.1.0", "ufo": "^1.5.3", "unenv": "^1.9.0", - "unplugin": "^1.10.0", + "unplugin": "^1.10.1", "vite": "^5.2.7", "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 9b155d1dae..78f7c01075 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -58,7 +58,7 @@ "time-fix-plugin": "^2.0.7", "ufo": "^1.5.3", "unenv": "^1.9.0", - "unplugin": "^1.10.0", + "unplugin": "^1.10.1", "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 211ec9127b..9f07369ae9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -366,8 +366,8 @@ importers: specifier: ^3.7.0 version: 3.7.0 strip-literal: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.1.0 + version: 2.1.0 ufo: specifier: ^1.5.3 version: 1.5.3 @@ -387,8 +387,8 @@ importers: specifier: ^3.7.1 version: 3.7.1(rollup@4.13.2) unplugin: - specifier: ^1.10.0 - version: 1.10.0 + specifier: ^1.10.1 + version: 1.10.1 unplugin-vue-router: specifier: ^0.7.0 version: 0.7.0(rollup@4.13.2)(vue-router@4.3.0)(vue@3.4.21) @@ -626,8 +626,8 @@ importers: specifier: ^3.7.0 version: 3.7.0 strip-literal: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.1.0 + version: 2.1.0 ufo: specifier: ^1.5.3 version: 1.5.3 @@ -635,8 +635,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.10.0 - version: 1.10.0 + specifier: ^1.10.1 + version: 1.10.1 vite: specifier: 5.2.7 version: 5.2.7(@types/node@20.11.30) @@ -771,8 +771,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 unplugin: - specifier: ^1.10.0 - version: 1.10.0 + specifier: ^1.10.1 + version: 1.10.1 url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0)(webpack@5.91.0) @@ -2394,7 +2394,7 @@ packages: std-env: 3.7.0 ufo: 1.5.3 unenv: 1.9.0 - unplugin: 1.10.0 + unplugin: 1.10.1 vite: 5.2.7(@types/node@20.11.30) vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) @@ -3667,7 +3667,7 @@ packages: magicast: 0.3.3 picocolors: 1.0.0 std-env: 3.7.0 - strip-literal: 2.0.0 + strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) @@ -7517,6 +7517,10 @@ packages: /js-tokens@8.0.2: resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==} + dev: true + + /js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -10770,6 +10774,12 @@ packages: resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: js-tokens: 8.0.2 + dev: true + + /strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + dependencies: + js-tokens: 9.0.0 /stylehacks@6.1.1(postcss@8.4.38): resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} @@ -11250,7 +11260,7 @@ packages: pkg-types: 1.0.3 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.10.0 + unplugin: 1.10.1 transitivePeerDependencies: - rollup @@ -11369,7 +11379,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.10.0 + unplugin: 1.10.1 vue-router: 4.3.0(vue@3.4.21) yaml: 2.3.4 transitivePeerDependencies: @@ -11386,6 +11396,15 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 + /unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + /unstorage@1.10.2(ioredis@5.3.2): resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} peerDependencies: @@ -11479,7 +11498,7 @@ packages: mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - unplugin: 1.10.0 + unplugin: 1.10.1 /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} From 50c92fbe6cfb5ce4d5bd51ffdbc7f6da2b1ddf65 Mon Sep 17 00:00:00 2001 From: Pothuraju <ram.k160796@gmail.com> Date: Fri, 29 Mar 2024 18:08:44 +0530 Subject: [PATCH 385/470] docs: add note about `prerenderRoutes` in dynamic routes (#26547) --- docs/3.api/3.utils/prerender-routes.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/3.api/3.utils/prerender-routes.md b/docs/3.api/3.utils/prerender-routes.md index 0b679c49e0..a806678bfd 100644 --- a/docs/3.api/3.utils/prerender-routes.md +++ b/docs/3.api/3.utils/prerender-routes.md @@ -14,6 +14,10 @@ When prerendering, you can hint to Nitro to prerender additional paths, even if `prerenderRoutes` can only be called within the [Nuxt context](/docs/guide/going-further/nuxt-app#the-nuxt-context). :: +::note +`prerenderRoutes` has to be executed during prerendering. If the `prerenderRoutes` is used in dynamic pages/routes which are not prerendered, then it will not be executed. +:: + ```js const route = useRoute() From 7024d5c796f9c343909d0105cdbd958c9ecd1363 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 17:31:00 +0000 Subject: [PATCH 386/470] chore(deps): update dependency webpack-dev-middleware to v7.2.0 (main) (#26559) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/schema/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/schema/package.json b/packages/schema/package.json index eed55db933..3cb0df058c 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -58,7 +58,7 @@ "vue-loader": "17.4.2", "vue-router": "4.3.0", "webpack": "5.91.0", - "webpack-dev-middleware": "7.1.1" + "webpack-dev-middleware": "7.2.0" }, "dependencies": { "@nuxt/ui-templates": "^1.3.1", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 78f7c01075..ed5ac84992 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -64,7 +64,7 @@ "vue-loader": "^17.4.2", "webpack": "^5.91.0", "webpack-bundle-analyzer": "^4.10.1", - "webpack-dev-middleware": "^7.1.1", + "webpack-dev-middleware": "^7.2.0", "webpack-hot-middleware": "^2.26.1", "webpack-virtual-modules": "^0.6.1", "webpackbar": "^6.0.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f07369ae9..5c5c90ada8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -542,8 +542,8 @@ importers: specifier: 5.91.0 version: 5.91.0 webpack-dev-middleware: - specifier: 7.1.1 - version: 7.1.1(webpack@5.91.0) + specifier: 7.2.0 + version: 7.2.0(webpack@5.91.0) packages/vite: dependencies: @@ -789,8 +789,8 @@ importers: specifier: ^4.10.1 version: 4.10.1 webpack-dev-middleware: - specifier: ^7.1.1 - version: 7.1.1(webpack@5.91.0) + specifier: ^7.2.0 + version: 7.2.0(webpack@5.91.0) webpack-hot-middleware: specifier: ^2.26.1 version: 2.26.1 @@ -12119,8 +12119,8 @@ packages: - utf-8-validate dev: false - /webpack-dev-middleware@7.1.1(webpack@5.91.0): - resolution: {integrity: sha512-NmRVq4AvRQs66dFWyDR4GsFDJggtSi2Yn38MXLk0nffgF9n/AIP4TFBg2TQKYaRAN4sHuKOTiz9BnNCENDLEVA==} + /webpack-dev-middleware@7.2.0(webpack@5.91.0): + resolution: {integrity: sha512-VLzmsjJrf+3UVf3QsT3E7xZ9F9bdhUhQFGRxyl6bmYR+W519UWnK6/teZeqAFFjWEtpVs+JqNPCVqB/s7P4tGg==} engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.0.0 From a3b0b112245a96c0d3e9485ce6c0c74bbf89c497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lehoczky=20Zolt=C3=A1n?= <ifjlehoczkyzoltan@gmail.com> Date: Fri, 29 Mar 2024 19:49:00 +0100 Subject: [PATCH 387/470] chore: improve pr template (#26562) --- .github/PULL_REQUEST_TEMPLATE.md | 40 +++++++++----------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f99be3b89d..8cba9c0e73 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,37 +1,19 @@ -<!--- -☝️ PR title should follow conventional commits (https://conventionalcommits.org) - -Please carefully read the contribution docs before creating a pull request - 👉 https://nuxt.com/docs/community/contribution ---> - ### 🔗 Linked issue -<!-- Please ensure there is an open issue and mention its number as #123 --> - -### ❓ Type of change - -<!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply. --> - -- [ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations) -- [ ] 🐞 Bug fix (a non-breaking change that fixes an issue) -- [ ] 👌 Enhancement (improving an existing functionality like performance) -- [ ] ✨ New feature (a non-breaking change that adds functionality) -- [ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries) -- [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to change) +<!-- Please ensure there is an open issue and mention its number. For example, "resolves #123" --> ### 📚 Description -<!-- Describe your changes in detail --> -<!-- Why is this change required? What problem does it solve? --> -<!-- If it resolves an open issue, please link to the issue here. For example "Resolves #1337" --> +<!-- Describe your changes in detail. Why is this change required? What problem does it solve? --> -### 📝 Checklist +<!---------------------------------------------------------------------- +Before creating the pull request, please make sure you do the following: -<!-- Put an `x` in all the boxes that apply. --> -<!-- If your change requires a documentation PR, please link it appropriately --> -<!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> +- Check that there isn't already a PR that solves the problem the same way. If you find a duplicate, please help us reviewing it. +- Read the contribution docs at https://nuxt.com/docs/community/contribution +- Ensure that PR title follows conventional commits (https://conventionalcommits.org) +- Update the corresponding documentation if needed. +- Include relevant tests that fail without this PR but pass with it. -- [ ] I have linked an issue or discussion. -- [ ] I have added tests (if possible). -- [ ] I have updated the documentation accordingly. +Thank you for contributing to Nuxt! +-----------------------------------------------------------------------> From 41ab12414f1d527f918b0c7904a61115dc5b2d79 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 07:41:18 +0000 Subject: [PATCH 388/470] chore(deps): update dependency cookie-es to ^1.1.0 (main) (#26568) --- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 0a0e2c8d2c..ad5b5d15c0 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -73,7 +73,7 @@ "acorn": "8.11.3", "c12": "^1.10.0", "chokidar": "^3.6.0", - "cookie-es": "^1.0.0", + "cookie-es": "^1.1.0", "defu": "^6.1.4", "destr": "^2.0.3", "devalue": "^4.3.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5c5c90ada8..be919fad3b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -285,8 +285,8 @@ importers: specifier: ^3.6.0 version: 3.6.0 cookie-es: - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.1.0 + version: 1.1.0 defu: specifier: ^6.1.4 version: 6.1.4 @@ -5057,6 +5057,9 @@ packages: /cookie-es@1.0.0: resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} + /cookie-es@1.1.0: + resolution: {integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==} + /core-js-compat@3.34.0: resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==} dependencies: @@ -6767,7 +6770,7 @@ packages: /h3@1.11.1: resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} dependencies: - cookie-es: 1.0.0 + cookie-es: 1.1.0 crossws: 0.2.4 defu: 6.1.4 destr: 2.0.3 From 6dcad76a06004089859dbf1446ed14ba963b64be Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Sat, 30 Mar 2024 08:41:46 +0100 Subject: [PATCH 389/470] perf(nuxt): reduce nuxt island payload (#26569) --- .../nuxt/src/app/components/nuxt-island.ts | 63 ++++++++++--------- .../nuxt/src/core/runtime/nitro/renderer.ts | 4 +- test/basic.test.ts | 3 - 3 files changed, 37 insertions(+), 33 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 5b6a424be9..efed027d50 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -88,30 +88,32 @@ export default defineComponent({ onMounted(() => { mounted.value = true; teleportKey.value++ }) function setPayload (key: string, result: NuxtIslandResponse) { + const toRevive: Partial<NuxtIslandResponse> = {} + if (result.props) { toRevive.props = result.props } + if (result.slots) { toRevive.slots = result.slots } + if (result.components) { toRevive.components = result.components } + nuxtApp.payload.data[key] = { __nuxt_island: { key, ...(import.meta.server && import.meta.prerender) ? {} : { params: { ...props.context, props: props.props ? JSON.stringify(props.props) : undefined } }, - result: { - props: result.props, - slots: result.slots, - components: result.components - } + result: toRevive }, ...result } } - const payloads: Required<Pick<NuxtIslandResponse, 'slots' | 'components'>> = { - slots: {}, - components: {} - } + const payloads: Partial<Pick<NuxtIslandResponse, 'slots' | 'components'>> = {} if (instance.vnode.el) { - payloads.slots = toRaw(nuxtApp.payload.data[`${props.name}_${hashId.value}`])?.slots ?? {} - payloads.components = toRaw(nuxtApp.payload.data[`${props.name}_${hashId.value}`])?.components ?? {} + const slots = toRaw(nuxtApp.payload.data[`${props.name}_${hashId.value}`])?.slots + if (slots) { payloads.slots = slots } + if (selectiveClient) { + const components = toRaw(nuxtApp.payload.data[`${props.name}_${hashId.value}`])?.components + if (components) { payloads.components = components } + } } const ssrHTML = ref<string>('') @@ -137,12 +139,15 @@ export default defineComponent({ } } - return html.replaceAll(SLOT_FALLBACK_RE, (full, slotName) => { - if (!currentSlots.includes(slotName)) { - return full + (payloads.slots[slotName]?.fallback || '') - } - return full - }) + if (payloads.slots) { + return html.replaceAll(SLOT_FALLBACK_RE, (full, slotName) => { + if (!currentSlots.includes(slotName)) { + return full + (payloads.slots?.[slotName]?.fallback || '') + } + return full + }) + } + return html }) const cHead = ref<Record<'link' | 'style', Array<Record<string, string>>>>({ link: [], style: [] }) @@ -256,24 +261,26 @@ export default defineComponent({ teleports.push(createVNode(Teleport, // use different selectors for even and odd teleportKey to force trigger the teleport { to: import.meta.client ? `${isKeyOdd ? 'div' : ''}[data-island-uid="${uid.value}"][data-island-slot="${slot}"]` : `uid=${uid.value};slot=${slot}` }, - { default: () => (payloads.slots[slot].props?.length ? payloads.slots[slot].props : [{}]).map((data: any) => slots[slot]?.(data)) }) + { default: () => (payloads.slots?.[slot].props?.length ? payloads.slots[slot].props : [{}]).map((data: any) => slots[slot]?.(data)) }) ) } } if (selectiveClient) { if (import.meta.server) { - for (const [id, info] of Object.entries(payloads.components ?? {})) { - const { html, slots } = info - let replaced = html.replaceAll('data-island-uid', `data-island-uid="${uid.value}"`) - for (const slot in slots) { - replaced = replaced.replaceAll(`data-island-slot="${slot}">`, full => full + slots[slot]) + if (payloads.components) { + for (const [id, info] of Object.entries(payloads.components)) { + const { html, slots } = info + let replaced = html.replaceAll('data-island-uid', `data-island-uid="${uid.value}"`) + for (const slot in slots) { + replaced = replaced.replaceAll(`data-island-slot="${slot}">`, full => full + slots[slot]) + } + teleports.push(createVNode(Teleport, { to: `uid=${uid.value};client=${id}` }, { + default: () => [createStaticVNode(replaced, 1)] + })) } - teleports.push(createVNode(Teleport, { to: `uid=${uid.value};client=${id}` }, { - default: () => [createStaticVNode(replaced, 1)] - })) } - } else if (canLoadClientComponent.value) { - for (const [id, info] of Object.entries(payloads.components ?? {})) { + } else if (canLoadClientComponent.value && payloads.components) { + for (const [id, info] of Object.entries(payloads.components)) { const { props, slots } = info const component = components!.get(id)! // use different selectors for even and odd teleportKey to force trigger the teleport diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 90d3c89225..1b367f432d 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -649,7 +649,7 @@ const SSR_CLIENT_TELEPORT_MARKER = /^uid=([^;]*);client=(.*)$/ const SSR_CLIENT_SLOT_MARKER = /^island-slot=(?:[^;]*);(.*)$/ function getSlotIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse['slots'] { - if (!ssrContext.islandContext) { return {} } + if (!ssrContext.islandContext || !Object.keys(ssrContext.islandContext.slots).length) { return undefined } const response: NuxtIslandResponse['slots'] = {} for (const slot in ssrContext.islandContext.slots) { response[slot] = { @@ -661,7 +661,7 @@ function getSlotIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse[ } function getClientIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse['components'] { - if (!ssrContext.islandContext) { return {} } + if (!ssrContext.islandContext || !Object.keys(ssrContext.islandContext.components).length) { return undefined } const response: NuxtIslandResponse['components'] = {} for (const clientUid in ssrContext.islandContext.components) { diff --git a/test/basic.test.ts b/test/basic.test.ts index 18e3884d15..86aff1bb37 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1968,14 +1968,12 @@ describe('component islands', () => { expect(result).toMatchInlineSnapshot(` { - "components": {}, "head": { "link": [], "style": [], }, "html": "<pre data-island-uid> Route: /foo </pre>", - "slots": {}, "state": {}, } `) @@ -1993,7 +1991,6 @@ describe('component islands', () => { result.html = result.html.replaceAll(/ (data-island-uid|data-island-component)="([^"]*)"/g, '') expect(result).toMatchInlineSnapshot(` { - "components": {}, "head": { "link": [], "style": [], From f00dcdf0f86a3dea1bfabdb86cd35ee659d5faa7 Mon Sep 17 00:00:00 2001 From: Taras Batenkov <taras.batenkov@gmail.com> Date: Sat, 30 Mar 2024 09:43:54 +0200 Subject: [PATCH 390/470] docs: clarify app-config merging strategy note (#26564) --- docs/2.guide/2.directory-structure/3.app-config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d8eb2ce4be..93c15381f8 100644 --- a/docs/2.guide/2.directory-structure/3.app-config.md +++ b/docs/2.guide/2.directory-structure/3.app-config.md @@ -99,7 +99,7 @@ Nuxt uses a custom merging strategy for the `AppConfig` within [the layers](/doc This strategy is implemented using a [Function Merger](https://github.com/unjs/defu#function-merger), which allows defining a custom merging strategy for every key in `app.config` that has an array as value. ::note -The Function Merger should only be used in the base `app.config` of your application. +The function merger can only be used in the extended layers and not the main `app.config` in project. :: Here's an example of how you can use: From 8eef1e3c57d5d034ffb733c623ec811c3dd433de Mon Sep 17 00:00:00 2001 From: Alex Liu <dsa1314@gmail.com> Date: Sat, 30 Mar 2024 15:48:43 +0800 Subject: [PATCH 391/470] refactor(nuxt): simplify `runtimeConfig` initialization of client side (#26558) --- packages/nuxt/src/app/nuxt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 61aecaf95f..95734eb125 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -338,7 +338,7 @@ export function createNuxtApp (options: CreateOptions) { } // Expose runtime config - const runtimeConfig = import.meta.server ? options.ssrContext!.runtimeConfig : reactive(nuxtApp.payload.config!) + const runtimeConfig = import.meta.server ? options.ssrContext!.runtimeConfig : nuxtApp.payload.config! nuxtApp.provide('config', runtimeConfig) return nuxtApp From 21dbc7c311441f2a19122a0fd9f677bd29b2d60c Mon Sep 17 00:00:00 2001 From: Maxime Pauvert <maximepvrt@gmail.com> Date: Sat, 30 Mar 2024 10:02:22 +0100 Subject: [PATCH 392/470] docs: update core modules roadmap (#26553) --- docs/5.community/6.roadmap.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/5.community/6.roadmap.md b/docs/5.community/6.roadmap.md index e0380c9cfc..9d17984679 100644 --- a/docs/5.community/6.roadmap.md +++ b/docs/5.community/6.roadmap.md @@ -31,9 +31,7 @@ Check [Discussions](https://github.com/nuxt/nuxt/discussions) and [RFCs](https:/ Milestone | Expected date | Notes | Description -------------|---------------|------------------------------------------------------------------------|----------------------- SEO & PWA | 2024 | [nuxt/nuxt#18395](https://github.com/nuxt/nuxt/discussions/18395) | Migrating from [nuxt-community/pwa-module](https://github.com/nuxt-community/pwa-module) for built-in SEO utils and service worker support -Scripts | 2024 | [nuxt/nuxt#22016](https://github.com/nuxt/nuxt/discussions/22016) | Easy 3rd party script management. Assets | 2024 | [nuxt/nuxt#22012](https://github.com/nuxt/nuxt/discussions/22012) | Allow developers and modules to handle loading third-party assets. -A11y | 2024 | [nuxt/nuxt#23255](https://github.com/nuxt/nuxt/issues/23255) | Accessibility hinting and utilities Translations | - | [nuxt/translations#4](https://github.com/nuxt/translations/discussions/4) ([request access](https://github.com/nuxt/nuxt/discussions/16054)) | A collaborative project for a stable translation process for Nuxt 3 docs. Currently pending for ideas and documentation tooling support (content v2 with remote sources). ## Core Modules Roadmap @@ -42,7 +40,10 @@ In addition to the Nuxt framework, there are modules that are vital for the ecos Module | Status | Nuxt Support | Repository | Description ---------------|---------------------|--------------|------------|------------------- +Scripts | April 2024 | 3.x | `nuxt/scripts` to be announced | Easy 3rd party script management. [nuxt/nuxt#22016](https://github.com/nuxt/nuxt/discussions/22016) +A11y | Planned | 3.x | `nuxt/a11y` to be announced | Accessibility hinting and utilities [nuxt/nuxt#23255](https://github.com/nuxt/nuxt/issues/23255) Auth | Planned | 3.x | `nuxt/auth` to be announced | Nuxt 3 support is planned after session support +Hints | Planned | 3.x | `nuxt/hints` to be announced | Guidance and suggestions for enhancing development practices ## Release Cycle From 275bee5b0812b59c20a51c73d2bc4c36d03b5185 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 09:02:31 +0000 Subject: [PATCH 393/470] chore(deps): update devdependency @types/node to v20.12.2 (main) (#26573) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 178 ++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 149 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 1cef3eacd0..3117a858cd 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.11.30", + "@types/node": "20.12.2", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index be919fad3b..366b0e3387 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,8 +38,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.30 - version: 20.11.30 + specifier: 20.12.2 + version: 20.12.2 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -138,7 +138,7 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) + version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.9) vitest-environment-nuxt: specifier: 1.0.0 version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) @@ -229,10 +229,10 @@ importers: version: 2.0.0(typescript@5.4.3) vite: specifier: 5.2.7 - version: 5.2.7(@types/node@20.11.30) + version: 5.2.7(@types/node@20.12.2) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) + version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.9) webpack: specifier: 5.91.0 version: 5.91.0 @@ -525,7 +525,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.7 - version: 5.2.7(@types/node@20.11.30) + version: 5.2.7(@types/node@20.12.2) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -639,10 +639,10 @@ importers: version: 1.10.1 vite: specifier: 5.2.7 - version: 5.2.7(@types/node@20.11.30) + version: 5.2.7(@types/node@20.12.2) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.11.30) + version: 1.4.0(@types/node@20.12.2) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.7)(vue-tsc@2.0.7) @@ -868,7 +868,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.11.30)(happy-dom@14.3.9) + version: 1.0.2(@types/node@20.12.2)(happy-dom@14.3.9) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2004,7 +2004,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.11.30 + '@types/node': 20.12.2 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2395,8 +2395,8 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.7(@types/node@20.11.30) - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) + vite: 5.2.7(@types/node@20.12.2) + vitest: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.9) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) @@ -2984,7 +2984,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 dev: true /@types/debug@4.1.12: @@ -3034,7 +3034,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -3061,7 +3061,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 dev: true /@types/lodash-es@4.17.12: @@ -3087,7 +3087,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 dev: true /@types/node@20.11.30: @@ -3095,6 +3095,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.12.2: + resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -3178,7 +3183,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3193,7 +3198,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3636,7 +3641,7 @@ packages: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color @@ -3670,7 +3675,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) + vitest: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.9) transitivePeerDependencies: - supports-color dev: true @@ -7470,7 +7475,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.12.2 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7481,7 +7486,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7489,7 +7494,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -11596,7 +11601,7 @@ packages: vite: 5.2.7(@types/node@20.11.30) dev: false - /vite-node@1.0.2(@types/node@20.11.30): + /vite-node@1.0.2(@types/node@20.12.2): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11605,7 +11610,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) transitivePeerDependencies: - '@types/node' - less @@ -11636,6 +11641,27 @@ packages: - sugarss - supports-color - terser + dev: true + + /vite-node@1.4.0(@types/node@20.12.2): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.7(@types/node@20.12.2) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.7)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} @@ -11681,7 +11707,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.3 - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11769,6 +11795,41 @@ packages: optionalDependencies: fsevents: 2.3.3 + /vite@5.2.7(@types/node@20.12.2): + resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.12.2 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.13.2 + optionalDependencies: + fsevents: 2.3.3 + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: @@ -11790,7 +11851,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.11.30)(happy-dom@14.3.9): + /vitest@1.0.2(@types/node@20.12.2)(happy-dom@14.3.9): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11815,7 +11876,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11835,8 +11896,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.7(@types/node@20.11.30) - vite-node: 1.0.2(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) + vite-node: 1.0.2(@types/node@20.12.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11905,6 +11966,63 @@ packages: - terser dev: true + /vitest@1.4.0(@types/node@20.12.2)(happy-dom@14.3.9): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.12.2 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + happy-dom: 14.3.9 + local-pkg: 0.5.0 + magic-string: 0.30.8 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.5.1 + tinypool: 0.8.2 + vite: 5.2.7(@types/node@20.12.2) + vite-node: 1.4.0(@types/node@20.12.2) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} From 4bc22a838e60cb02711721debfd6dce637d2ed7a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:48:13 +0000 Subject: [PATCH 394/470] chore(deps): update dependency knitwork to ^1.1.0 (main) (#26577) --- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 20 ++++++++++---------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index e26ad1de80..b81b39c497 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -34,7 +34,7 @@ "hash-sum": "^2.0.0", "ignore": "^5.3.1", "jiti": "^1.21.0", - "knitwork": "^1.0.0", + "knitwork": "^1.1.0", "mlly": "^1.6.1", "pathe": "^1.1.2", "pkg-types": "^1.0.3", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index ad5b5d15c0..83fffa363c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -86,7 +86,7 @@ "hookable": "^5.5.3", "jiti": "^1.21.0", "klona": "^2.0.6", - "knitwork": "^1.0.0", + "knitwork": "^1.1.0", "magic-string": "^0.30.8", "mlly": "^1.6.1", "nitropack": "^2.9.5", diff --git a/packages/vite/package.json b/packages/vite/package.json index 179734ea31..82f029c141 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -48,7 +48,7 @@ "fs-extra": "^11.2.0", "get-port-please": "^3.1.2", "h3": "^1.11.1", - "knitwork": "^1.0.0", + "knitwork": "^1.1.0", "magic-string": "^0.30.8", "mlly": "^1.6.1", "ohash": "^1.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 366b0e3387..7c470e8f81 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -179,8 +179,8 @@ importers: specifier: ^1.21.0 version: 1.21.0 knitwork: - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.1.0 + version: 1.1.0 mlly: specifier: ^1.6.1 version: 1.6.1 @@ -324,8 +324,8 @@ importers: specifier: ^2.0.6 version: 2.0.6 knitwork: - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.1.0 + version: 1.1.0 magic-string: specifier: ^0.30.8 version: 0.30.8 @@ -596,8 +596,8 @@ importers: specifier: ^1.11.1 version: 1.11.1 knitwork: - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.1.0 + version: 1.1.0 magic-string: specifier: ^0.30.8 version: 0.30.8 @@ -7624,8 +7624,8 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} - /knitwork@1.0.0: - resolution: {integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==} + /knitwork@1.1.0: + resolution: {integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==} /kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -8645,7 +8645,7 @@ packages: is-primitive: 3.0.1 jiti: 1.21.0 klona: 2.0.6 - knitwork: 1.0.0 + knitwork: 1.1.0 listhen: 1.7.2 magic-string: 0.30.8 mime: 4.0.1 @@ -11501,7 +11501,7 @@ packages: /unwasm@0.3.8: resolution: {integrity: sha512-nIJQXxGl/gTUp5dZkSc8jbxAqSOa9Vv4jjSZXNI6OK0JXdvW3SQUHR+KY66rjI0W//km59jivGgd5TCvBUWsnA==} dependencies: - knitwork: 1.0.0 + knitwork: 1.1.0 magic-string: 0.30.8 mlly: 1.6.1 pathe: 1.1.2 From 17488508b1cf7cfd98462bd85a1dfbf8e0570326 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Mon, 1 Apr 2024 15:56:44 +0100 Subject: [PATCH 395/470] chore: enable devtools by default in playground --- playground/nuxt.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index 896312f044..a4da3d7459 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -1,3 +1,3 @@ export default defineNuxtConfig({ - + devtools: { enabled: true } }) From fe9667939a37331f1d109aff3ef3558d99db5efe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 12:45:12 +0100 Subject: [PATCH 396/470] chore(deps): update all non-major dependencies (main) (#26584) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 4 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 290 +++++++++------------------------- test/bundle.test.ts | 2 +- 6 files changed, 83 insertions(+), 223 deletions(-) diff --git a/package.json b/package.json index 3117a858cd..2cf5df8463 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.3.9", + "happy-dom": "14.3.10", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.5", @@ -89,7 +89,7 @@ "vue-router": "4.3.0", "vue-tsc": "2.0.7" }, - "packageManager": "pnpm@8.15.5", + "packageManager": "pnpm@8.15.6", "engines": { "node": "^14.18.0 || >=16.10.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 83fffa363c..1de62cf8d7 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.9.3", - "@unhead/ssr": "^1.9.3", - "@unhead/vue": "^1.9.3", + "@unhead/dom": "^1.9.4", + "@unhead/ssr": "^1.9.4", + "@unhead/vue": "^1.9.4", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 3cb0df058c..358a1c1353 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.9.3", + "@unhead/schema": "1.9.4", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index ed5ac84992..9a9b4567c6 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -42,7 +42,7 @@ "hash-sum": "^2.0.0", "lodash-es": "4.17.21", "magic-string": "^0.30.8", - "memfs": "^4.8.0", + "memfs": "^4.8.1", "mini-css-extract-plugin": "^2.8.1", "mlly": "^1.6.1", "ohash": "^1.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7c470e8f81..34b8b70a87 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.3.9 - version: 14.3.9 + specifier: 14.3.10 + version: 14.3.10 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.9) + version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -232,7 +232,7 @@ importers: version: 5.2.7(@types/node@20.12.2) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.9) + version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) webpack: specifier: 5.91.0 version: 5.91.0 @@ -262,16 +262,16 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.11.30 + version: 20.12.2 '@unhead/dom': - specifier: ^1.9.3 - version: 1.9.3 + specifier: ^1.9.4 + version: 1.9.4 '@unhead/ssr': - specifier: ^1.9.3 - version: 1.9.3 + specifier: ^1.9.4 + version: 1.9.4 '@unhead/vue': - specifier: ^1.9.3 - version: 1.9.3(vue@3.4.21) + specifier: ^1.9.4 + version: 1.9.4(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -428,10 +428,10 @@ importers: version: 2.0.0(typescript@5.4.3) vite: specifier: 5.2.7 - version: 5.2.7(@types/node@20.11.30) + version: 5.2.7(@types/node@20.12.2) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30)(happy-dom@14.3.9) + version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) packages/schema: dependencies: @@ -482,8 +482,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.9.3 - version: 1.9.3 + specifier: 1.9.4 + version: 1.9.4 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.2.7)(vue@3.4.21) @@ -723,8 +723,8 @@ importers: specifier: ^0.30.8 version: 0.30.8 memfs: - specifier: ^4.8.0 - version: 4.8.0 + specifier: ^4.8.1 + version: 4.8.1 mini-css-extract-plugin: specifier: ^2.8.1 version: 2.8.1(webpack@5.91.0) @@ -852,7 +852,7 @@ importers: version: 1.5.3 unplugin: specifier: latest - version: 1.10.0 + version: 1.10.1 vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -868,7 +868,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.12.2)(happy-dom@14.3.9) + version: 1.0.2(@types/node@20.12.2)(happy-dom@14.3.10) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2188,7 +2188,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) dev: false /@nuxt/devtools-wizard@1.1.5: @@ -2249,7 +2249,7 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.13.2) - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.7) vite-plugin-vue-inspector: 4.0.2(vite@5.2.7) which: 3.0.1 @@ -2328,7 +2328,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2381,7 +2381,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.3.9 + happy-dom: 14.3.10 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.4 @@ -2396,8 +2396,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.1 vite: 5.2.7(@types/node@20.12.2) - vitest: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.9) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3018,7 +3018,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.11.30 + '@types/node': 20.12.2 dev: true /@types/hash-sum@1.0.2: @@ -3090,11 +3090,6 @@ packages: '@types/node': 20.12.2 dev: true - /@types/node@20.11.30: - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} - dependencies: - undici-types: 5.26.5 - /@types/node@20.12.2: resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} dependencies: @@ -3118,7 +3113,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3157,7 +3152,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.2 tapable: 2.2.1 webpack: 5.91.0 transitivePeerDependencies: @@ -3358,41 +3353,41 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.9.3: - resolution: {integrity: sha512-l7KO6zv8T/yKpWOtcKww3k6RLENEiwiapoiPwtKlwWBFJekSjgM1+1AVu58yWqadFYHGP0/XhMwxKrOaOL+Vkw==} + /@unhead/dom@1.9.4: + resolution: {integrity: sha512-nEaHOcCL0u56g4XOV5XGwRMFZ05eEINfp8nxVrPiIGLrS9BoFrZS7/6IYSkalkNRTmw8M5xqxt6BalBr594SaA==} dependencies: - '@unhead/schema': 1.9.3 - '@unhead/shared': 1.9.3 + '@unhead/schema': 1.9.4 + '@unhead/shared': 1.9.4 dev: false - /@unhead/schema@1.9.3: - resolution: {integrity: sha512-emFHDYxn6u5SVwSRXMpYBCYKBua+GCjUwTLLdUupInthW3UraSUuXakmv06wDvejE8pTrBOPrGWescIYmwm69A==} + /@unhead/schema@1.9.4: + resolution: {integrity: sha512-/J6KYQ+aqKO5uLDTU9BXfiRAfJ3mQNmF5gh3Iyd4qZaWfqjsDGYIaAe4xAGPnJxwBn6FHlnvQvZBSGqru1MByw==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.9.3: - resolution: {integrity: sha512-9wJ+wNmAVDCsCFKE3YHMwNkmFqKzCqQfp53ABJHQFOvY336s4nMWtiMNMjxF4aY4pJk8Qpwd8dRlgpLlyH0KZg==} + /@unhead/shared@1.9.4: + resolution: {integrity: sha512-ErP6SUzPPRX9Df4fqGlwlLInoG+iBiH0nDudRuIpoFGyTnv1uO9BQ+lfFld8s1gI1WCdoBwVkISBp9/f/E/GLA==} dependencies: - '@unhead/schema': 1.9.3 + '@unhead/schema': 1.9.4 dev: false - /@unhead/ssr@1.9.3: - resolution: {integrity: sha512-oFFynkmAoHoDU2uG3otBnYOj5rmi14fqaUpA4tzsRlyLiwyF3Hd8nXec9YM7JaBzstoiy2NGf7dTfY7eNc8NoQ==} + /@unhead/ssr@1.9.4: + resolution: {integrity: sha512-+32lSX6q+c+PcF0NsywBMmwDgxApjo4R7yxjRBB0gmeEcr58hejS/Ju82D8dLKvHqafLB1cQA7I4XUPyrDUx3Q==} dependencies: - '@unhead/schema': 1.9.3 - '@unhead/shared': 1.9.3 + '@unhead/schema': 1.9.4 + '@unhead/shared': 1.9.4 dev: false - /@unhead/vue@1.9.3(vue@3.4.21): - resolution: {integrity: sha512-DrTOTUOvKZlL7nVhsu9gCNXiGv/ErqHqSOrbNGqahlnOFJgJQD+9VVr904K/u75ISg00ksAzKfFPN15FgMovMw==} + /@unhead/vue@1.9.4(vue@3.4.21): + resolution: {integrity: sha512-F37bDhhieWQJyXvFV8NmrOXoIVJMhxVI/0ZUDrI9uTkMCofjfKWDJ+Gz0iYdhYF9mjQ5BN+pM31Zpxi+fN5Cfg==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.9.3 - '@unhead/shared': 1.9.3 + '@unhead/schema': 1.9.4 + '@unhead/shared': 1.9.4 hookable: 5.5.3 - unhead: 1.9.3 + unhead: 1.9.4 vue: 3.4.21(typescript@5.4.3) dev: false @@ -3407,7 +3402,7 @@ packages: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.7) - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) transitivePeerDependencies: - rollup dev: false @@ -3605,7 +3600,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) transitivePeerDependencies: - rollup dev: false @@ -3653,7 +3648,7 @@ packages: vite: 5.2.7 vue: 3.4.21 dependencies: - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3675,7 +3670,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.9) + vitest: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) transitivePeerDependencies: - supports-color dev: true @@ -5059,9 +5054,6 @@ packages: /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - /cookie-es@1.0.0: - resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} - /cookie-es@1.1.0: resolution: {integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==} @@ -6788,8 +6780,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.3.9: - resolution: {integrity: sha512-0kPQchwthekcYpYN8CvCiq+/z5bqFYDLbTxZ+yDLwT8AFRVJDFadShHRxp3VAZRy7a5isOZ1j/LzsU1dtAIZMQ==} + /happy-dom@14.3.10: + resolution: {integrity: sha512-Rh5li9vA9MF9Gkg85CbFABKTa3uoSAByILRNGb92u/vswDd561gBg2p1UW1ZauvDWWwRxPcbACK5zv3BR+gHnQ==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -7523,10 +7515,6 @@ packages: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} requiresBuild: true - /js-tokens@8.0.2: - resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==} - dev: true - /js-tokens@9.0.0: resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} @@ -8076,8 +8064,8 @@ packages: fs-monkey: 1.0.5 dev: false - /memfs@4.8.0: - resolution: {integrity: sha512-fcs7trFxZlOMadmTw5nyfOwS3il9pr3y+6xzLfXNwmuR/D0i4wz6rJURxArAbcJDGalbpbMvQ/IFI0NojRZgRg==} + /memfs@4.8.1: + resolution: {integrity: sha512-7q/AdPzf2WpwPlPL4v1kE2KsJsHl7EF4+hAeVzlyanr2+YnR21NVn9mDqo+7DEaKDRsQy8nvxPlKH4WqMtiO0w==} engines: {node: '>= 4.0.0'} dependencies: tslib: 2.6.2 @@ -8625,7 +8613,7 @@ packages: chokidar: 3.6.0 citty: 0.1.6 consola: 3.2.3 - cookie-es: 1.0.0 + cookie-es: 1.1.0 croner: 8.0.1 crossws: 0.2.4 db0: 0.1.4 @@ -10778,12 +10766,6 @@ packages: dependencies: acorn: 8.11.3 - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - dependencies: - js-tokens: 8.0.2 - dev: true - /strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} dependencies: @@ -11203,7 +11185,7 @@ packages: acorn: 8.11.3 estree-walker: 3.0.3 magic-string: 0.30.8 - unplugin: 1.10.0 + unplugin: 1.10.1 /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -11223,12 +11205,12 @@ packages: node-fetch-native: 1.6.4 pathe: 1.1.2 - /unhead@1.9.3: - resolution: {integrity: sha512-nV6d4ALJph73hCJT1tAd4z30Q2Gv8vNUvK0netM/EetL2scdggf9brcX3OyPqWhZbnFIOE+AouH2oE1KPznkcw==} + /unhead@1.9.4: + resolution: {integrity: sha512-QVU0y3KowRu2cLjXxfemTKNohK4vdEwyahoszlEnRz0E5BTNRZQSs8AnommorGmVM7DvB2t4dwWadB51wDlPzw==} dependencies: - '@unhead/dom': 1.9.3 - '@unhead/schema': 1.9.3 - '@unhead/shared': 1.9.3 + '@unhead/dom': 1.9.4 + '@unhead/schema': 1.9.4 + '@unhead/shared': 1.9.4 hookable: 5.5.3 dev: false @@ -11361,7 +11343,7 @@ packages: '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.7) - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) transitivePeerDependencies: - postcss - rollup @@ -11395,15 +11377,6 @@ packages: - vue dev: false - /unplugin@1.10.0: - resolution: {integrity: sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==} - engines: {node: '>=14.0.0'} - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.1 - /unplugin@1.10.1: resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} engines: {node: '>=14.0.0'} @@ -11598,7 +11571,7 @@ packages: peerDependencies: vite: 5.2.7 dependencies: - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) dev: false /vite-node@1.0.2(@types/node@20.12.2): @@ -11622,27 +11595,6 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.11.30): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.11.30) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@1.4.0(@types/node@20.12.2): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11735,7 +11687,7 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) transitivePeerDependencies: - rollup - supports-color @@ -11755,46 +11707,11 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.2.7(@types/node@20.11.30) + vite: 5.2.7(@types/node@20.12.2) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.7(@types/node@20.11.30): - resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.30 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.13.2 - optionalDependencies: - fsevents: 2.3.3 - /vite@5.2.7(@types/node@20.12.2): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11830,10 +11747,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.9)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11851,7 +11768,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.12.2)(happy-dom@14.3.9): + /vitest@1.0.2(@types/node@20.12.2)(happy-dom@14.3.10): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11887,7 +11804,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.9 + happy-dom: 14.3.10 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11909,64 +11826,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.11.30)(happy-dom@14.3.9): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.11.30 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - happy-dom: 14.3.9 - local-pkg: 0.5.0 - magic-string: 0.30.8 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.5.1 - tinypool: 0.8.2 - vite: 5.2.7(@types/node@20.11.30) - vite-node: 1.4.0(@types/node@20.11.30) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vitest@1.4.0(@types/node@20.12.2)(happy-dom@14.3.9): + /vitest@1.4.0(@types/node@20.12.2)(happy-dom@14.3.10): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -12001,13 +11861,13 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.9 + happy-dom: 14.3.10 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 - strip-literal: 2.0.0 + strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.2 vite: 5.2.7(@types/node@20.12.2) @@ -12250,7 +12110,7 @@ packages: optional: true dependencies: colorette: 2.0.20 - memfs: 4.8.0 + memfs: 4.8.1 mime-types: 2.1.35 on-finished: 2.4.1 range-parser: 1.2.1 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 63ce5418d5..5eb102893a 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"526k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.5k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.6k"') const packages = modules.files .filter(m => m.endsWith('package.json')) From 386be0b866382caddf31eba9965a0fd5cef94d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Tue, 2 Apr 2024 13:46:05 +0200 Subject: [PATCH 397/470] docs: replace `process.*` with `import.meta.*` (#26611) --- docs/1.getting-started/7.state-management.md | 4 ++-- docs/2.guide/2.directory-structure/1.middleware.md | 6 +++--- docs/2.guide/2.directory-structure/1.plugins.md | 2 +- docs/2.guide/3.going-further/10.runtime-config.md | 2 +- docs/2.guide/3.going-further/8.custom-routing.md | 2 +- docs/3.api/2.composables/use-nuxt-app.md | 6 +++--- docs/3.api/5.kit/10.templates.md | 2 +- docs/3.api/5.kit/9.plugins.md | 2 +- test/fixtures/basic/pages/preview/index.vue | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/1.getting-started/7.state-management.md b/docs/1.getting-started/7.state-management.md index b9d58a4402..d9edf3f161 100644 --- a/docs/1.getting-started/7.state-management.md +++ b/docs/1.getting-started/7.state-management.md @@ -130,12 +130,12 @@ export const useLocale = () => { export const useDefaultLocale = (fallback = 'en-US') => { const locale = ref(fallback) - if (process.server) { + if (import.meta.server) { const reqLocale = useRequestHeaders()['accept-language']?.split(',')[0] if (reqLocale) { locale.value = reqLocale } - } else if (process.client) { + } else if (import.meta.client) { const navLang = navigator.language if (navLang) { locale.value = navLang diff --git a/docs/2.guide/2.directory-structure/1.middleware.md b/docs/2.guide/2.directory-structure/1.middleware.md index 22c63eb24a..e4e97484d3 100644 --- a/docs/2.guide/2.directory-structure/1.middleware.md +++ b/docs/2.guide/2.directory-structure/1.middleware.md @@ -125,12 +125,12 @@ However, if you want to avoid this behaviour you can do so: ```ts twoslash [middleware/example.ts] export default defineNuxtRouteMiddleware(to => { // skip middleware on server - if (process.server) return + if (import.meta.server) return // skip middleware on client side entirely - if (process.client) return + if (import.meta.client) return // or only skip middleware on initial client load const nuxtApp = useNuxtApp() - if (process.client && nuxtApp.isHydrating && nuxtApp.payload.serverRendered) return + if (import.meta.client && nuxtApp.isHydrating && nuxtApp.payload.serverRendered) return }) ``` diff --git a/docs/2.guide/2.directory-structure/1.plugins.md b/docs/2.guide/2.directory-structure/1.plugins.md index 995e6212d1..4de600585d 100644 --- a/docs/2.guide/2.directory-structure/1.plugins.md +++ b/docs/2.guide/2.directory-structure/1.plugins.md @@ -78,7 +78,7 @@ export default defineNuxtPlugin({ ::note If you are using the object-syntax, the properties may be statically analyzed in future to produce a more optimized build. So you should not define them at runtime. :br -For example, setting `enforce: process.server ? 'pre' : 'post'` would defeat any future optimization Nuxt is able to do for your plugins. +For example, setting `enforce: import.meta.server ? 'pre' : 'post'` would defeat any future optimization Nuxt is able to do for your plugins. :: ## Registration Order 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 192f73df94..e84823704c 100644 --- a/docs/2.guide/3.going-further/10.runtime-config.md +++ b/docs/2.guide/3.going-further/10.runtime-config.md @@ -98,7 +98,7 @@ The behavior is different between the client-side and server-side: const config = useRuntimeConfig() console.log('Runtime config:', config) -if (process.server) { +if (import.meta.server) { console.log('API secret:', config.apiSecret) } </script> diff --git a/docs/2.guide/3.going-further/8.custom-routing.md b/docs/2.guide/3.going-further/8.custom-routing.md index b8f39b048d..3d88d20c03 100644 --- a/docs/2.guide/3.going-further/8.custom-routing.md +++ b/docs/2.guide/3.going-further/8.custom-routing.md @@ -172,6 +172,6 @@ import { createMemoryHistory } from 'vue-router' export default <RouterConfig> { // https://router.vuejs.org/api/interfaces/routeroptions.html - history: base => process.client ? createMemoryHistory(base) : null /* default */ + history: base => import.meta.client ? createMemoryHistory(base) : null /* default */ } ``` diff --git a/docs/3.api/2.composables/use-nuxt-app.md b/docs/3.api/2.composables/use-nuxt-app.md index c1d91933d5..29a920cdb1 100644 --- a/docs/3.api/2.composables/use-nuxt-app.md +++ b/docs/3.api/2.composables/use-nuxt-app.md @@ -51,7 +51,7 @@ export default defineNuxtPlugin((nuxtApp) => { }) nuxtApp.hook('vue:error', (..._args) => { console.log('vue:error') - // if (process.client) { + // if (import.meta.client) { // console.log(..._args) // } }) @@ -120,7 +120,7 @@ Nuxt exposes the following properties through `ssrContext`: export const useColor = () => useState<string>('color', () => 'pink') export default defineNuxtPlugin((nuxtApp) => { - if (process.server) { + if (import.meta.server) { const color = useColor() } }) @@ -159,7 +159,7 @@ export default defineComponent({ setup (_props, { slots, emit }) { const nuxtApp = useNuxtApp() onErrorCaptured((err) => { - if (process.client && !nuxtApp.isHydrating) { + if (import.meta.client && !nuxtApp.isHydrating) { // ... } }) diff --git a/docs/3.api/5.kit/10.templates.md b/docs/3.api/5.kit/10.templates.md index d748246942..db6fdff969 100644 --- a/docs/3.api/5.kit/10.templates.md +++ b/docs/3.api/5.kit/10.templates.md @@ -117,7 +117,7 @@ import { defineNuxtPlugin } from '#imports' import metaConfig from '#build/meta.config.mjs' export default defineNuxtPlugin((nuxtApp) => { - const createHead = process.server ? createServerHead : createClientHead + const createHead = import.meta.server ? createServerHead : createClientHead const head = createHead() head.push(metaConfig.globalMeta) diff --git a/docs/3.api/5.kit/9.plugins.md b/docs/3.api/5.kit/9.plugins.md index af538cb142..aec172f0ec 100644 --- a/docs/3.api/5.kit/9.plugins.md +++ b/docs/3.api/5.kit/9.plugins.md @@ -251,7 +251,7 @@ export default defineNuxtPlugin((nuxtApp) => { nuxtApp.vueApp.use(VueFire, { firebaseApp }) <% if(options.ssr) { %> - if (process.server) { + if (import.meta.server) { nuxtApp.payload.vuefire = useSSRInitialState(undefined, firebaseApp) } else if (nuxtApp.payload?.vuefire) { useSSRInitialState(nuxtApp.payload.vuefire, firebaseApp) diff --git a/test/fixtures/basic/pages/preview/index.vue b/test/fixtures/basic/pages/preview/index.vue index df9c2c6dd1..ce33ac9cd5 100644 --- a/test/fixtures/basic/pages/preview/index.vue +++ b/test/fixtures/basic/pages/preview/index.vue @@ -4,7 +4,7 @@ const { enabled: isPreview } = usePreviewMode() const { data } = await useAsyncData(async () => { await new Promise(resolve => setTimeout(resolve, 200)) - const fetchedOnClient = process.client + const fetchedOnClient = import.meta.client console.log(fetchedOnClient) From 2f8915127df96648e1137217de954b59c579fd42 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 3 Apr 2024 09:51:05 +0100 Subject: [PATCH 398/470] fix(nuxt): suppress warning about resolve cache-driver (#26595) --- packages/nuxt/src/core/nitro.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 128e08b198..5f35fc145f 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -12,6 +12,7 @@ import escapeRE from 'escape-string-regexp' import { defu } from 'defu' import fsExtra from 'fs-extra' import { dynamicEventHandler } from 'h3' +import { isWindows } from 'std-env' import type { Nuxt, NuxtOptions, RuntimeConfig } from 'nuxt/schema' // @ts-expect-error TODO: add legacy type support for subpath imports import { template as defaultSpaLoadingTemplate } from '@nuxt/ui-templates/templates/spa-loading-icon.mjs' @@ -416,10 +417,12 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { }) const cacheDir = resolve(nuxt.options.buildDir, 'cache/nitro/prerender') + const cacheDriverPath = await resolvePath(join(distDir, 'core/runtime/nitro/cache-driver')) await fsp.rm(cacheDir, { recursive: true, force: true }).catch(() => {}) nitro.options._config.storage = defu(nitro.options._config.storage, { 'internal:nuxt:prerender': { - driver: pathToFileURL(await resolvePath(join(distDir, 'core/runtime/nitro/cache-driver'))).href, + // TODO: resolve upstream where file URLs are not being resolved/inlined correctly + driver: isWindows ? pathToFileURL(cacheDriverPath).href : cacheDriverPath, base: cacheDir } }) From cbb4a1cb61f1121399b3ee4889a7a50cdddcb837 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 3 Apr 2024 10:15:21 +0100 Subject: [PATCH 399/470] perf(nuxt): unsubscribe from watch when scope is disposed (#26554) --- packages/nuxt/src/app/composables/asyncData.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 6e8de20f3b..3fdb7a0bfa 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -1,4 +1,4 @@ -import { computed, getCurrentInstance, onBeforeMount, onServerPrefetch, onUnmounted, ref, shallowRef, toRef, unref, watch } from 'vue' +import { computed, getCurrentInstance, getCurrentScope, onBeforeMount, onScopeDispose, onServerPrefetch, onUnmounted, ref, shallowRef, toRef, unref, watch } from 'vue' import type { Ref, WatchSource } from 'vue' import type { NuxtApp } from '../nuxt' import { useNuxtApp } from '../nuxt' @@ -223,8 +223,8 @@ export function useAsyncData< const promise = nuxtApp.runWithContext(_handler) - nuxtApp.ssrContext!._sharedPrerenderCache!.set(key, promise) - return promise + nuxtApp.ssrContext!._sharedPrerenderCache!.set(key, promise) + return promise } // Used to get default values @@ -370,16 +370,20 @@ export function useAsyncData< // 4. Navigation (lazy: false) - or plugin usage: await fetch initialFetch() } + const hasScope = getCurrentScope() if (options.watch) { - watch(options.watch, () => asyncData.refresh()) + const unsub = watch(options.watch, () => asyncData.refresh()) + if (hasScope) { + onScopeDispose(unsub) + } } const off = nuxtApp.hook('app:data:refresh', async (keys) => { if (!keys || keys.includes(key)) { await asyncData.refresh() } }) - if (instance) { - onUnmounted(off) + if (hasScope) { + onScopeDispose(off) } } From 1019ed9fbad760db46f08c3180cba42e5173c1da Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 3 Apr 2024 10:15:36 +0100 Subject: [PATCH 400/470] fix(nuxt): handle auto-importing named components (#26556) --- packages/nuxt/src/components/transform.ts | 15 ++- .../nuxt/test/components-transform.test.ts | 112 ++++++++++++++++++ 2 files changed, 121 insertions(+), 6 deletions(-) create mode 100644 packages/nuxt/test/components-transform.test.ts diff --git a/packages/nuxt/src/components/transform.ts b/packages/nuxt/src/components/transform.ts index 39258224e3..38acd08b3b 100644 --- a/packages/nuxt/src/components/transform.ts +++ b/packages/nuxt/src/components/transform.ts @@ -6,6 +6,7 @@ import { createUnplugin } from 'unplugin' import { parseURL } from 'ufo' import { parseQuery } from 'vue-router' import { normalize, resolve } from 'pathe' +import { genImport } from 'knitwork' import { distDir } from '../dirs' import type { getComponentsT } from './module' @@ -27,7 +28,7 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT const components = getComponents(mode) return components.flatMap((c): Import[] => { const withMode = (mode: string | undefined) => mode - ? `${c.filePath}${c.filePath.includes('?') ? '&' : '?'}nuxt_component=${mode}&nuxt_component_name=${c.pascalName}` + ? `${c.filePath}${c.filePath.includes('?') ? '&' : '?'}nuxt_component=${mode}&nuxt_component_name=${c.pascalName}&nuxt_component_export=${c.export || 'default'}` : c.filePath const mode = !c._raw && c.mode && ['client', 'server'].includes(c.mode) ? c.mode : undefined @@ -60,20 +61,22 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT const query = parseQuery(search) const mode = query.nuxt_component const bare = id.replace(/\?.*/, '') + const componentExport = query.nuxt_component_export as string || 'default' + const exportWording = componentExport === 'default' ? 'export default' : `export const ${componentExport} =` if (mode === 'async') { return { code: [ 'import { defineAsyncComponent } from "vue"', - `export default defineAsyncComponent(() => import(${JSON.stringify(bare)}).then(r => r.default))` + `${exportWording} defineAsyncComponent(() => import(${JSON.stringify(bare)}).then(r => r[${JSON.stringify(componentExport)}] || r.default || r))` ].join('\n'), map: null } } else if (mode === 'client') { return { code: [ - `import __component from ${JSON.stringify(bare)}`, + genImport(bare, [{ name: componentExport, as: '__component' }]), 'import { createClientOnly } from "#app/components/client-only"', - 'export default createClientOnly(__component)' + `${exportWording} createClientOnly(__component)` ].join('\n'), map: null } @@ -82,7 +85,7 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT code: [ 'import { defineAsyncComponent } from "vue"', 'import { createClientOnly } from "#app/components/client-only"', - `export default defineAsyncComponent(() => import(${JSON.stringify(bare)}).then(r => createClientOnly(r.default)))` + `${exportWording} defineAsyncComponent(() => import(${JSON.stringify(bare)}).then(r => createClientOnly(r[${JSON.stringify(componentExport)}] || r.default || r)))` ].join('\n'), map: null } @@ -91,7 +94,7 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT return { code: [ `import { createServerComponent } from ${JSON.stringify(serverComponentRuntime)}`, - `export default createServerComponent(${JSON.stringify(name)})` + `${exportWording} createServerComponent(${JSON.stringify(name)})` ].join('\n'), map: null } diff --git a/packages/nuxt/test/components-transform.test.ts b/packages/nuxt/test/components-transform.test.ts new file mode 100644 index 0000000000..b3a5127a26 --- /dev/null +++ b/packages/nuxt/test/components-transform.test.ts @@ -0,0 +1,112 @@ +import { fileURLToPath } from 'node:url' +import { describe, expect, it } from 'vitest' +import type { Component, Nuxt } from '@nuxt/schema' +import { kebabCase } from 'scule' + +import { createTransformPlugin } from '../src/components/transform' + +describe('components:transform', () => { + it('should transform #components imports', async () => { + const transform = createTransformer([ + createComponent('Foo'), + createComponent('Bar', { export: 'Bar' }) + ]) + + const code = await transform('import { Foo, Bar } from \'#components\'', '/app.vue') + expect(code).toMatchInlineSnapshot(` + "import Foo from '/Foo.vue'; + import { Bar } from '/Bar.vue'; + " + `) + }) + + it('should correctly resolve server-only components', async () => { + const transform = createTransformer([ + createComponent('Foo', { mode: 'server' }) + ]) + + const code = await transform('import { Foo, LazyFoo } from \'#components\'', '/app.vue') + expect(code).toMatchInlineSnapshot(` + "import Foo from '/Foo.vue?nuxt_component=server&nuxt_component_name=Foo&nuxt_component_export=default'; + import LazyFoo from '/Foo.vue?nuxt_component=server,async&nuxt_component_name=Foo&nuxt_component_export=default'; + " + `) + + expect(await transform('', '/Foo.vue?nuxt_component=server&nuxt_component_name=Foo&nuxt_component_export=default')).toMatchInlineSnapshot(` + "import { createServerComponent } from "<repo>/nuxt/src/components/runtime/server-component" + export default createServerComponent("Foo")" + `) + expect(await transform('', '/Foo.vue?nuxt_component=server,async&nuxt_component_name=Foo&nuxt_component_export=default')).toMatchInlineSnapshot(` + "import { createServerComponent } from "<repo>/nuxt/src/components/runtime/server-component" + export default createServerComponent("Foo")" + `) + expect(await transform('', '/Foo.vue?nuxt_component=server&nuxt_component_name=Foo&nuxt_component_export=Foo')).toMatchInlineSnapshot(` + "import { createServerComponent } from "<repo>/nuxt/src/components/runtime/server-component" + export const Foo = createServerComponent("Foo")" + `) + }) + + it('should correctly resolve client-only components', async () => { + const transform = createTransformer([ + createComponent('Foo', { mode: 'client' }) + ]) + + const code = await transform('import { Foo, LazyFoo } from \'#components\'', '/app.vue') + expect(code).toMatchInlineSnapshot(` + "import Foo from '/Foo.vue?nuxt_component=client&nuxt_component_name=Foo&nuxt_component_export=default'; + import LazyFoo from '/Foo.vue?nuxt_component=client,async&nuxt_component_name=Foo&nuxt_component_export=default'; + " + `) + + expect(await transform('', '/Foo.vue?nuxt_component=client&nuxt_component_name=Foo&nuxt_component_export=default')).toMatchInlineSnapshot(` + "import { default as __component } from "/Foo.vue"; + import { createClientOnly } from "#app/components/client-only" + export default createClientOnly(__component)" + `) + expect(await transform('', '/Foo.vue?nuxt_component=client,async&nuxt_component_name=Foo&nuxt_component_export=default')).toMatchInlineSnapshot(` + "import { defineAsyncComponent } from "vue" + import { createClientOnly } from "#app/components/client-only" + export default defineAsyncComponent(() => import("/Foo.vue").then(r => createClientOnly(r["default"] || r.default || r)))" + `) + expect(await transform('', '/Foo.vue?nuxt_component=client,async&nuxt_component_name=Foo&nuxt_component_export=Foo')).toMatchInlineSnapshot(` + "import { defineAsyncComponent } from "vue" + import { createClientOnly } from "#app/components/client-only" + export const Foo = defineAsyncComponent(() => import("/Foo.vue").then(r => createClientOnly(r["Foo"] || r.default || r)))" + `) + }) +}) + +const rootDir = fileURLToPath(new URL('../..', import.meta.url)) + +function createTransformer (components: Component[], mode: 'client' | 'server' | 'all' = 'all') { + const stubNuxt = { + options: { + buildDir: '/', + sourcemap: { + server: false, + client: false + } + } + } as Nuxt + const plugin = createTransformPlugin(stubNuxt, () => components, mode).vite() + + return async (code: string, id: string) => { + const result = await (plugin as any).transform!(code, id) + return (typeof result === 'string' ? result : result?.code)?.replaceAll(rootDir, '<repo>/') + } +} + +function createComponent (pascalName: string, options: Partial<Component> = {}) { + return { + filePath: `/${pascalName}.vue`, + pascalName, + export: 'default', + chunkName: `components/${pascalName.toLowerCase()}`, + kebabName: kebabCase(pascalName), + mode: 'all', + prefetch: false, + preload: false, + shortPath: `components/${pascalName}.vue`, + ...options + } satisfies Component +} From 9bb8976470c66352ee901a2db3216c6b3b060290 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 3 Apr 2024 10:16:15 +0100 Subject: [PATCH 401/470] fix(schema): update webpack `transformAssetUrls` + pass `hoistStatic` to vite plugin (#26563) --- packages/schema/build.config.ts | 1 + packages/schema/package.json | 1 + packages/schema/src/config/app.ts | 8 ++++++++ packages/schema/src/config/typescript.ts | 1 + packages/schema/src/config/vite.ts | 6 ++++++ packages/schema/src/config/webpack.ts | 16 +++++++++------- packages/schema/src/types/config.ts | 2 +- packages/vite/src/vite.ts | 11 ----------- pnpm-lock.yaml | 10 +++++++--- 9 files changed, 34 insertions(+), 22 deletions(-) diff --git a/packages/schema/build.config.ts b/packages/schema/build.config.ts index 49c2520e6f..283258f95f 100644 --- a/packages/schema/build.config.ts +++ b/packages/schema/build.config.ts @@ -56,6 +56,7 @@ export default defineBuildConfig({ '@vue/language-core', // Implicit '@vue/compiler-core', + '@vue/compiler-sfc', '@vue/shared', 'untyped' ] diff --git a/packages/schema/package.json b/packages/schema/package.json index 358a1c1353..1e532ada5e 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,6 +42,7 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", + "@vue/compiler-sfc": "^3.4.21", "@vue/language-core": "2.0.7", "c12": "1.10.0", "esbuild-loader": "4.1.0", diff --git a/packages/schema/src/config/app.ts b/packages/schema/src/config/app.ts index 8f8cfb8c1d..83559fb12a 100644 --- a/packages/schema/src/config/app.ts +++ b/packages/schema/src/config/app.ts @@ -8,6 +8,14 @@ export default defineUntypedSchema({ * Vue.js config */ vue: { + /** @type {typeof import('@vue/compiler-sfc').AssetURLTagConfig} */ + transformAssetUrls: { + video: ['src', 'poster'], + source: ['src'], + img: ['src'], + image: ['xlink:href', 'href'], + use: ['xlink:href', 'href'] + }, /** * Options for the Vue compiler that will be passed at build time. * @see [documentation](https://vuejs.org/api/application.html#app-config-compileroptions) diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index d67d6497ee..95e074d602 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -43,6 +43,7 @@ export default defineUntypedSchema({ '@unhead/vue', 'vue', '@vue/runtime-core', + '@vue/compiler-sfc', '@vue/runtime-dom', 'vue-router', '@nuxt/schema', diff --git a/packages/schema/src/config/vite.ts b/packages/schema/src/config/vite.ts index 070c3eb4b8..9e0e6d7e6d 100644 --- a/packages/schema/src/config/vite.ts +++ b/packages/schema/src/config/vite.ts @@ -49,11 +49,17 @@ export default defineUntypedSchema({ template: { compilerOptions: { $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).compilerOptions + }, + transformAssetUrls: { + $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).transformAssetUrls } }, script: { propsDestructure: { $resolve: async (val, get) => val ?? Boolean((await get('vue') as Record<string, any>).propsDestructure) + }, + hoistStatic: { + $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).compilerOptions?.hoistStatic } } }, diff --git a/packages/schema/src/config/webpack.ts b/packages/schema/src/config/webpack.ts index ab24ac603c..6dc0d53582 100644 --- a/packages/schema/src/config/webpack.ts +++ b/packages/schema/src/config/webpack.ts @@ -1,5 +1,6 @@ import { defu } from 'defu' import { defineUntypedSchema } from 'untyped' +import type { VueLoaderOptions } from 'vue-loader' export default defineUntypedSchema({ webpack: { @@ -200,14 +201,15 @@ export default defineUntypedSchema({ */ vue: { transformAssetUrls: { - video: 'src', - source: 'src', - object: 'src', - embed: 'src' + $resolve: async (val, get) => (val ?? (await get('vue.transformAssetUrls'))) as VueLoaderOptions['transformAssetUrls'] }, - compilerOptions: { $resolve: async (val, get) => val ?? (await get('vue.compilerOptions')) }, - propsDestructure: { $resolve: async (val, get) => val ?? Boolean(await get('vue.propsDestructure')) } - }, + compilerOptions: { + $resolve: async (val, get) => (val ?? (await get('vue.compilerOptions'))) as VueLoaderOptions['compilerOptions'] + }, + propsDestructure: { + $resolve: async (val, get) => Boolean(val ?? await get('vue.propsDestructure')) + } + } satisfies { [K in keyof VueLoaderOptions]: { $resolve: (val: unknown, get: (id: string) => Promise<unknown>) => Promise<VueLoaderOptions[K]> } }, css: { importLoaders: 0, diff --git a/packages/schema/src/types/config.ts b/packages/schema/src/types/config.ts index aa8197d299..b2e317e7bf 100644 --- a/packages/schema/src/types/config.ts +++ b/packages/schema/src/types/config.ts @@ -70,7 +70,7 @@ export type NuxtConfigLayer = ConfigLayer<NuxtConfig & { }> export interface NuxtBuilder { - bundle: (nuxt: Nuxt) => Promise<void> + bundle: (nuxt: Nuxt) => Promise<void> } // Normalized Nuxt options available as `nuxt.options.*` diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts index 9c11437d90..3953928011 100644 --- a/packages/vite/src/vite.ts +++ b/packages/vite/src/vite.ts @@ -112,17 +112,6 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { }), virtual(nuxt.vfs) ], - vue: { - template: { - transformAssetUrls: { - video: ['src', 'poster'], - source: ['src'], - img: ['src'], - image: ['xlink:href', 'href'], - use: ['xlink:href', 'href'] - } - } - }, server: { watch: { ignored: isIgnored }, fs: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34b8b70a87..87feaf430e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -493,6 +493,9 @@ importers: '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 + '@vue/compiler-sfc': + specifier: ^3.4.21 + version: 3.4.21 '@vue/language-core': specifier: 2.0.7 version: 2.0.7(typescript@5.4.3) @@ -534,7 +537,7 @@ importers: version: 2.0.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(vue@3.4.21)(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21)(webpack@5.91.0) vue-router: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) @@ -781,7 +784,7 @@ importers: version: 2.0.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(vue@3.4.21)(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21)(webpack@5.91.0) webpack: specifier: ^5.91.0 version: 5.91.0 @@ -11974,7 +11977,7 @@ packages: - supports-color dev: true - /vue-loader@17.4.2(vue@3.4.21)(webpack@5.91.0): + /vue-loader@17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21)(webpack@5.91.0): resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} peerDependencies: '@vue/compiler-sfc': '*' @@ -11986,6 +11989,7 @@ packages: vue: optional: true dependencies: + '@vue/compiler-sfc': 3.4.21 chalk: 4.1.2 hash-sum: 2.0.0 vue: 3.4.21(typescript@5.4.3) From 5f603610a5252b7557ec94d0003469701b49a3a6 Mon Sep 17 00:00:00 2001 From: Antoine Rey <antoinerey38@gmail.com> Date: Wed, 3 Apr 2024 11:16:32 +0200 Subject: [PATCH 402/470] fix(schema): document use case for `typescript.shim` (#26607) --- packages/schema/src/config/typescript.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 95e074d602..21e36a4be2 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -79,6 +79,9 @@ export default defineUntypedSchema({ * * We recommend instead letting the [official Vue extension](https://marketplace.visualstudio.com/items?itemName=Vue.volar) * generate accurate types for your components. + * + * Note that if you may wish to set this to `true` if you are using other libraries, such as ESLint, + * that are unable to understand the type of `.vue` files. */ shim: false } From d38d7e59b28bf705a8c65e2b912c12b9360e3d27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 10:33:06 +0100 Subject: [PATCH 403/470] chore(deps): pin devdependency @vue/compiler-sfc to 3.4.21 (main) (#26621) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/schema/package.json | 2 +- pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/schema/package.json b/packages/schema/package.json index 1e532ada5e..ba60f50c99 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,7 +42,7 @@ "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", - "@vue/compiler-sfc": "^3.4.21", + "@vue/compiler-sfc": "3.4.21", "@vue/language-core": "2.0.7", "c12": "1.10.0", "esbuild-loader": "4.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 87feaf430e..ed22d178fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -494,7 +494,7 @@ importers: specifier: 3.4.21 version: 3.4.21 '@vue/compiler-sfc': - specifier: ^3.4.21 + specifier: 3.4.21 version: 3.4.21 '@vue/language-core': specifier: 2.0.7 From be49918139f3ab3224ce62cb1bc02038977456c3 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 3 Apr 2024 10:56:27 +0100 Subject: [PATCH 404/470] perf(nuxt): reduce router resolutions (#26519) --- .../nuxt/src/pages/runtime/plugins/router.ts | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/packages/nuxt/src/pages/runtime/plugins/router.ts b/packages/nuxt/src/pages/runtime/plugins/router.ts index a53a73dab6..d46a3c5ad5 100644 --- a/packages/nuxt/src/pages/runtime/plugins/router.ts +++ b/packages/nuxt/src/pages/runtime/plugins/router.ts @@ -9,7 +9,7 @@ import { createWebHistory } from '#vue-router' import { createError } from 'h3' -import { isEqual, withoutBase } from 'ufo' +import { isEqual, isSamePath, withoutBase } from 'ufo' import type { PageMeta } from '../composables' @@ -70,9 +70,6 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ const routes = routerOptions.routes?.(_routes) ?? _routes let startPosition: Parameters<RouterScrollBehavior>[2] | null - const initialURL = import.meta.server - ? nuxtApp.ssrContext!.url - : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path) const router = createRouter({ ...routerOptions, @@ -111,8 +108,12 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ get: () => previousRoute.value }) + const initialURL = import.meta.server + ? nuxtApp.ssrContext!.url + : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path) + // Allows suspending the route object until page navigation completes - const _route = shallowRef(router.resolve(initialURL) as RouteLocation) + const _route = shallowRef(router.currentRoute.value) const syncCurrentRoute = () => { _route.value = router.currentRoute.value } nuxtApp.hook('page:finish', syncCurrentRoute) router.afterEach((to, from) => { @@ -138,19 +139,21 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ named: {} } - const error = useError() - try { if (import.meta.server) { await router.push(initialURL) } - await router.isReady() } catch (error: any) { // We'll catch 404s here await nuxtApp.runWithContext(() => showError(error)) } + const resolvedInitialRoute = import.meta.client && initialURL !== router.currentRoute.value.fullPath + ? router.resolve(initialURL) + : router.currentRoute.value + syncCurrentRoute() + if (import.meta.server && nuxtApp.ssrContext?.islandContext) { // We're in an island context, and don't need to handle middleware or redirections return { provide: { router } } @@ -225,6 +228,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ await nuxtApp.callHook('page:loading:end') }) + const error = useError() router.afterEach(async (to, _from, failure) => { delete nuxtApp._processingMiddleware @@ -247,18 +251,19 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ path: to.fullPath } }))) - } else if (import.meta.server && to.redirectedFrom && to.fullPath !== initialURL) { + } else if (import.meta.server && to.fullPath !== initialURL && (to.redirectedFrom || !isSamePath(to.fullPath, initialURL))) { await nuxtApp.runWithContext(() => navigateTo(to.fullPath || '/')) } }) nuxtApp.hooks.hookOnce('app:created', async () => { try { - const to = router.resolve(initialURL) // #4920, #4982 - if ('name' in to) { to.name = undefined } + if ('name' in resolvedInitialRoute) { + resolvedInitialRoute.name = undefined + } await router.replace({ - ...to, + ...resolvedInitialRoute, force: true }) // reset scroll behavior to initial value From 59b58b8485c9d1fce10503fe94ab5222262a8666 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 11:34:56 +0100 Subject: [PATCH 405/470] chore(deps): update all non-major dependencies (main) (#26613) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 6 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 4 +- packages/schema/package.json | 6 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 444 +++++++++++++++++----------------- test/bundle.test.ts | 4 +- 7 files changed, 234 insertions(+), 234 deletions(-) diff --git a/package.json b/package.json index 2cf5df8463..06b4c630d6 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@nuxt/schema": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "rollup": "^4.13.2", + "rollup": "^4.14.0", "nuxt": "workspace:*", "vite": "5.2.7", "vue": "3.4.21", @@ -50,7 +50,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.12.2", + "@types/node": "20.12.3", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", @@ -71,7 +71,7 @@ "happy-dom": "14.3.10", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", - "nitropack": "2.9.5", + "nitropack": "2.9.6", "nuxi": "3.11.1", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", diff --git a/packages/kit/package.json b/packages/kit/package.json index b81b39c497..229966ecc8 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -50,7 +50,7 @@ "@types/lodash-es": "4.17.12", "@types/semver": "7.5.8", "lodash-es": "4.17.21", - "nitropack": "2.9.5", + "nitropack": "2.9.6", "unbuild": "latest", "vite": "5.2.7", "vitest": "1.4.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 1de62cf8d7..3580b3b963 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -64,7 +64,7 @@ "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.3", - "@nuxt/ui-templates": "^1.3.1", + "@nuxt/ui-templates": "^1.3.2", "@nuxt/vite-builder": "workspace:*", "@unhead/dom": "^1.9.4", "@unhead/ssr": "^1.9.4", @@ -89,7 +89,7 @@ "knitwork": "^1.1.0", "magic-string": "^0.30.8", "mlly": "^1.6.1", - "nitropack": "^2.9.5", + "nitropack": "^2.9.6", "nuxi": "^3.11.1", "nypm": "^0.3.8", "ofetch": "^1.3.4", diff --git a/packages/schema/package.json b/packages/schema/package.json index ba60f50c99..0e94157ff2 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -48,7 +48,7 @@ "esbuild-loader": "4.1.0", "h3": "1.11.1", "ignore": "5.3.1", - "nitropack": "2.9.5", + "nitropack": "2.9.6", "ofetch": "1.3.4", "unbuild": "latest", "unctx": "2.3.1", @@ -59,10 +59,10 @@ "vue-loader": "17.4.2", "vue-router": "4.3.0", "webpack": "5.91.0", - "webpack-dev-middleware": "7.2.0" + "webpack-dev-middleware": "7.2.1" }, "dependencies": { - "@nuxt/ui-templates": "^1.3.1", + "@nuxt/ui-templates": "^1.3.2", "consola": "^3.2.3", "defu": "^6.1.4", "hookable": "^5.5.3", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 9a9b4567c6..b40b978920 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -64,7 +64,7 @@ "vue-loader": "^17.4.2", "webpack": "^5.91.0", "webpack-bundle-analyzer": "^4.10.1", - "webpack-dev-middleware": "^7.2.0", + "webpack-dev-middleware": "^7.2.1", "webpack-hot-middleware": "^2.26.1", "webpack-virtual-modules": "^0.6.1", "webpackbar": "^6.0.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed22d178fe..b2e9ef1d44 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ overrides: '@nuxt/schema': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - rollup: ^4.13.2 + rollup: ^4.14.0 nuxt: workspace:* vite: 5.2.7 vue: 3.4.21 @@ -38,8 +38,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.12.2 - version: 20.12.2 + specifier: 20.12.3 + version: 20.12.3 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -101,8 +101,8 @@ importers: specifier: 0.39.0 version: 0.39.0 nitropack: - specifier: 2.9.5 - version: 2.9.5 + specifier: 2.9.6 + version: 2.9.6 nuxi: specifier: 3.11.1 version: 3.11.1 @@ -138,7 +138,7 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) + version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) vitest-environment-nuxt: specifier: 1.0.0 version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) @@ -204,7 +204,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.2) + version: 3.7.1(rollup@4.14.0) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -222,17 +222,17 @@ importers: specifier: 4.17.21 version: 4.17.21 nitropack: - specifier: 2.9.5 - version: 2.9.5 + specifier: 2.9.6 + version: 2.9.6 unbuild: specifier: latest version: 2.0.0(typescript@5.4.3) vite: specifier: 5.2.7 - version: 5.2.7(@types/node@20.12.2) + version: 5.2.7(@types/node@20.12.3) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) + version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) webpack: specifier: 5.91.0 version: 5.91.0 @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.5 - version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.2)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21) + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.0)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -255,14 +255,14 @@ importers: specifier: ^2.5.3 version: 2.5.3 '@nuxt/ui-templates': - specifier: ^1.3.1 - version: 1.3.1 + specifier: ^1.3.2 + version: 1.3.2 '@nuxt/vite-builder': specifier: workspace:* version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.12.2 + version: 20.12.3 '@unhead/dom': specifier: ^1.9.4 version: 1.9.4 @@ -333,8 +333,8 @@ importers: specifier: ^1.6.1 version: 1.6.1 nitropack: - specifier: ^2.9.5 - version: 2.9.5 + specifier: ^2.9.6 + version: 2.9.6 nuxi: specifier: ^3.11.1 version: 3.11.1 @@ -385,13 +385,13 @@ importers: version: 1.9.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.2) + version: 3.7.1(rollup@4.14.0) unplugin: specifier: ^1.10.1 version: 1.10.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.13.2)(vue-router@4.3.0)(vue@3.4.21) + version: 0.7.0(rollup@4.14.0)(vue-router@4.3.0)(vue@3.4.21) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -428,16 +428,16 @@ importers: version: 2.0.0(typescript@5.4.3) vite: specifier: 5.2.7 - version: 5.2.7(@types/node@20.12.2) + version: 5.2.7(@types/node@20.12.3) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) + version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) packages/schema: dependencies: '@nuxt/ui-templates': - specifier: ^1.3.1 - version: 1.3.1 + specifier: ^1.3.2 + version: 1.3.2 consola: specifier: ^3.2.3 version: 3.2.3 @@ -464,7 +464,7 @@ importers: version: 1.5.3 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.13.2) + version: 3.7.1(rollup@4.14.0) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -512,8 +512,8 @@ importers: specifier: 5.3.1 version: 5.3.1 nitropack: - specifier: 2.9.5 - version: 2.9.5 + specifier: 2.9.6 + version: 2.9.6 ofetch: specifier: 1.3.4 version: 1.3.4 @@ -528,7 +528,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.7 - version: 5.2.7(@types/node@20.12.2) + version: 5.2.7(@types/node@20.12.3) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -545,8 +545,8 @@ importers: specifier: 5.91.0 version: 5.91.0 webpack-dev-middleware: - specifier: 7.2.0 - version: 7.2.0(webpack@5.91.0) + specifier: 7.2.1 + version: 7.2.1(webpack@5.91.0) packages/vite: dependencies: @@ -555,7 +555,7 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.13.2) + version: 5.0.5(rollup@4.14.0) '@vitejs/plugin-vue': specifier: ^5.0.4 version: 5.0.4(vite@5.2.7)(vue@3.4.21) @@ -624,7 +624,7 @@ importers: version: 8.4.38 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.13.2) + version: 5.12.0(rollup@4.14.0) std-env: specifier: ^3.7.0 version: 3.7.0 @@ -642,10 +642,10 @@ importers: version: 1.10.1 vite: specifier: 5.2.7 - version: 5.2.7(@types/node@20.12.2) + version: 5.2.7(@types/node@20.12.3) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.2) + version: 1.4.0(@types/node@20.12.3) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.7)(vue-tsc@2.0.7) @@ -792,8 +792,8 @@ importers: specifier: ^4.10.1 version: 4.10.1 webpack-dev-middleware: - specifier: ^7.2.0 - version: 7.2.0(webpack@5.91.0) + specifier: ^7.2.1 + version: 7.2.1(webpack@5.91.0) webpack-hot-middleware: specifier: ^2.26.1 version: 2.26.1 @@ -871,7 +871,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.12.2)(happy-dom@14.3.10) + version: 1.0.2(@types/node@20.12.3)(happy-dom@14.3.10) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2007,7 +2007,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.2 + '@types/node': 20.12.3 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2191,7 +2191,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) dev: false /@nuxt/devtools-wizard@1.1.5: @@ -2210,7 +2210,7 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.13.2)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21): + /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.0)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21): resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} hasBin: true peerDependencies: @@ -2251,9 +2251,9 @@ packages: semver: 7.6.0 simple-git: 3.23.0 sirv: 2.0.4 - unimport: 3.7.1(rollup@4.13.2) - vite: 5.2.7(@types/node@20.12.2) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.7) + unimport: 3.7.1(rollup@4.14.0) + vite: 5.2.7(@types/node@20.12.3) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.7) vite-plugin-vue-inspector: 4.0.2(vite@5.2.7) which: 3.0.1 ws: 8.16.0 @@ -2398,15 +2398,15 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.7(@types/node@20.12.2) - vitest: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) + vite: 5.2.7(@types/node@20.12.3) + vitest: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true - /@nuxt/ui-templates@1.3.1: - resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} + /@nuxt/ui-templates@1.3.2: + resolution: {integrity: sha512-aLHpV7Nj2cAHM2hPtwOtT2OIeOy4p6GN5qvNm6zBt6wke33t1jn0PR/FNwvKROIxM0xTAwB6jdmRJLXRPVGNhA==} dev: false /@nuxtjs/mdc@0.5.0: @@ -2446,7 +2446,7 @@ packages: unified: 11.0.4 unist-builder: 4.0.0 unist-util-visit: 5.0.0 - unwasm: 0.3.8 + unwasm: 0.3.9 transitivePeerDependencies: - supports-color dev: true @@ -2592,101 +2592,101 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.13.2): + /@rollup/plugin-alias@5.1.0(rollup@4.14.0): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.13.2 + rollup: 4.14.0 slash: 4.0.0 - /@rollup/plugin-commonjs@25.0.7(rollup@4.13.2): + /@rollup/plugin-commonjs@25.0.7(rollup@4.14.0): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.8 - rollup: 4.13.2 + rollup: 4.14.0 - /@rollup/plugin-inject@5.0.5(rollup@4.13.2): + /@rollup/plugin-inject@5.0.5(rollup@4.14.0): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) estree-walker: 2.0.2 magic-string: 0.30.8 - rollup: 4.13.2 + rollup: 4.14.0 - /@rollup/plugin-json@6.1.0(rollup@4.13.2): + /@rollup/plugin-json@6.1.0(rollup@4.14.0): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) - rollup: 4.13.2 + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + rollup: 4.14.0 - /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.2): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.0): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.13.2 + rollup: 4.14.0 - /@rollup/plugin-replace@5.0.5(rollup@4.13.2): + /@rollup/plugin-replace@5.0.5(rollup@4.14.0): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) magic-string: 0.30.8 - rollup: 4.13.2 + rollup: 4.14.0 - /@rollup/plugin-terser@0.4.4(rollup@4.13.2): + /@rollup/plugin-terser@0.4.4(rollup@4.14.0): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.13.2 + rollup: 4.14.0 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 @@ -2698,11 +2698,11 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@4.13.2): + /@rollup/pluginutils@5.1.0(rollup@4.14.0): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true @@ -2710,108 +2710,108 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.13.2 + rollup: 4.14.0 - /@rollup/rollup-android-arm-eabi@4.13.2: - resolution: {integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==} + /@rollup/rollup-android-arm-eabi@4.14.0: + resolution: {integrity: sha512-jwXtxYbRt1V+CdQSy6Z+uZti7JF5irRKF8hlKfEnF/xJpcNGuuiZMBvuoYM+x9sr9iWGnzrlM0+9hvQ1kgkf1w==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.13.2: - resolution: {integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==} + /@rollup/rollup-android-arm64@4.14.0: + resolution: {integrity: sha512-fI9nduZhCccjzlsA/OuAwtFGWocxA4gqXGTLvOyiF8d+8o0fZUeSztixkYjcGq1fGZY3Tkq4yRvHPFxU+jdZ9Q==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.13.2: - resolution: {integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==} + /@rollup/rollup-darwin-arm64@4.14.0: + resolution: {integrity: sha512-BcnSPRM76/cD2gQC+rQNGBN6GStBs2pl/FpweW8JYuz5J/IEa0Fr4AtrPv766DB/6b2MZ/AfSIOSGw3nEIP8SA==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.13.2: - resolution: {integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==} + /@rollup/rollup-darwin-x64@4.14.0: + resolution: {integrity: sha512-LDyFB9GRolGN7XI6955aFeI3wCdCUszFWumWU0deHA8VpR3nWRrjG6GtGjBrQxQKFevnUTHKCfPR4IvrW3kCgQ==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.13.2: - resolution: {integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.14.0: + resolution: {integrity: sha512-ygrGVhQP47mRh0AAD0zl6QqCbNsf0eTo+vgwkY6LunBcg0f2Jv365GXlDUECIyoXp1kKwL5WW6rsO429DBY/bA==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.13.2: - resolution: {integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==} + /@rollup/rollup-linux-arm64-gnu@4.14.0: + resolution: {integrity: sha512-x+uJ6MAYRlHGe9wi4HQjxpaKHPM3d3JjqqCkeC5gpnnI6OWovLdXTpfa8trjxPLnWKyBsSi5kne+146GAxFt4A==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.13.2: - resolution: {integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==} + /@rollup/rollup-linux-arm64-musl@4.14.0: + resolution: {integrity: sha512-nrRw8ZTQKg6+Lttwqo6a2VxR9tOroa2m91XbdQ2sUUzHoedXlsyvY1fN4xWdqz8PKmf4orDwejxXHjh7YBGUCA==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.13.2: - resolution: {integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==} + /@rollup/rollup-linux-powerpc64le-gnu@4.14.0: + resolution: {integrity: sha512-xV0d5jDb4aFu84XKr+lcUJ9y3qpIWhttO3Qev97z8DKLXR62LC3cXT/bMZXrjLF9X+P5oSmJTzAhqwUbY96PnA==} cpu: [ppc64le] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.13.2: - resolution: {integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==} + /@rollup/rollup-linux-riscv64-gnu@4.14.0: + resolution: {integrity: sha512-SDDhBQwZX6LPRoPYjAZWyL27LbcBo7WdBFWJi5PI9RPCzU8ijzkQn7tt8NXiXRiFMJCVpkuMkBf4OxSxVMizAw==} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.13.2: - resolution: {integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==} + /@rollup/rollup-linux-s390x-gnu@4.14.0: + resolution: {integrity: sha512-RxB/qez8zIDshNJDufYlTT0ZTVut5eCpAZ3bdXDU9yTxBzui3KhbGjROK2OYTTor7alM7XBhssgoO3CZ0XD3qA==} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.13.2: - resolution: {integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==} + /@rollup/rollup-linux-x64-gnu@4.14.0: + resolution: {integrity: sha512-C6y6z2eCNCfhZxT9u+jAM2Fup89ZjiG5pIzZIDycs1IwESviLxwkQcFRGLjnDrP+PT+v5i4YFvlcfAs+LnreXg==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.13.2: - resolution: {integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==} + /@rollup/rollup-linux-x64-musl@4.14.0: + resolution: {integrity: sha512-i0QwbHYfnOMYsBEyjxcwGu5SMIi9sImDVjDg087hpzXqhBSosxkE7gyIYFHgfFl4mr7RrXksIBZ4DoLoP4FhJg==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.13.2: - resolution: {integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==} + /@rollup/rollup-win32-arm64-msvc@4.14.0: + resolution: {integrity: sha512-Fq52EYb0riNHLBTAcL0cun+rRwyZ10S9vKzhGKKgeD+XbwunszSY0rVMco5KbOsTlwovP2rTOkiII/fQ4ih/zQ==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.13.2: - resolution: {integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==} + /@rollup/rollup-win32-ia32-msvc@4.14.0: + resolution: {integrity: sha512-e/PBHxPdJ00O9p5Ui43+vixSgVf4NlLsmV6QneGERJ3lnjIua/kim6PRFe3iDueT1rQcgSkYP8ZBBXa/h4iPvw==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.13.2: - resolution: {integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==} + /@rollup/rollup-win32-x64-msvc@4.14.0: + resolution: {integrity: sha512-aGg7iToJjdklmxlUlJh/PaPNa4PmqHfyRMLunbL3eaMO0gp656+q1zOKkpJ/CVe9CryJv6tAN1HDoR8cNGzkag==} cpu: [x64] os: [win32] requiresBuild: true @@ -2987,7 +2987,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 dev: true /@types/debug@4.1.12: @@ -3021,7 +3021,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.12.2 + '@types/node': 20.12.3 dev: true /@types/hash-sum@1.0.2: @@ -3037,7 +3037,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -3064,7 +3064,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 dev: true /@types/lodash-es@4.17.12: @@ -3090,11 +3090,11 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 dev: true - /@types/node@20.12.2: - resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} + /@types/node@20.12.3: + resolution: {integrity: sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw==} dependencies: undici-types: 5.26.5 @@ -3116,7 +3116,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3155,7 +3155,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 tapable: 2.2.1 webpack: 5.91.0 transitivePeerDependencies: @@ -3181,7 +3181,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3196,7 +3196,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3394,7 +3394,7 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: false - /@unocss/astro@0.58.6(rollup@4.13.2)(vite@5.2.7): + /@unocss/astro@0.58.6(rollup@4.14.0)(vite@5.2.7): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: vite: 5.2.7 @@ -3404,19 +3404,19 @@ packages: dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.7) - vite: 5.2.7(@types/node@20.12.2) + '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.7) + vite: 5.2.7(@types/node@20.12.3) transitivePeerDependencies: - rollup dev: false - /@unocss/cli@0.58.6(rollup@4.13.2): + /@unocss/cli@0.58.6(rollup@4.14.0): resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/preset-uno': 0.58.6 @@ -3588,13 +3588,13 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.13.2)(vite@5.2.7): + /@unocss/vite@0.58.6(rollup@4.14.0)(vite@5.2.7): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: vite: 5.2.7 dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/inspector': 0.58.6 @@ -3603,7 +3603,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) transitivePeerDependencies: - rollup dev: false @@ -3639,7 +3639,7 @@ packages: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color @@ -3651,7 +3651,7 @@ packages: vite: 5.2.7 vue: 3.4.21 dependencies: - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3673,7 +3673,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.2)(happy-dom@14.3.10) + vitest: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) transitivePeerDependencies: - supports-color dev: true @@ -3783,7 +3783,7 @@ packages: '@volar/language-core': 2.1.3 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.13.2)(vue@3.4.21): + /@vue-macros/common@1.10.1(rollup@4.14.0)(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3793,9 +3793,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.13.2) + ast-kit: 0.11.3(rollup@4.14.0) local-pkg: 0.5.0 magic-string-ast: 0.3.0 vue: 3.4.21(typescript@5.4.3) @@ -3941,7 +3941,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.13.2)(vite@5.2.7) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.7) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' @@ -4521,34 +4521,34 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.3(rollup@4.13.2): + /ast-kit@0.11.3(rollup@4.14.0): resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-kit@0.9.5(rollup@4.13.2): + /ast-kit@0.9.5(rollup@4.14.0): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-walker-scope@0.5.0(rollup@4.13.2): + /ast-walker-scope@0.5.0(rollup@4.14.0): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - ast-kit: 0.9.5(rollup@4.13.2) + ast-kit: 0.9.5(rollup@4.14.0) transitivePeerDependencies: - rollup dev: false @@ -7470,7 +7470,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.2 + '@types/node': 20.12.3 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7481,7 +7481,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7489,7 +7489,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8588,8 +8588,8 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nitropack@2.9.5: - resolution: {integrity: sha512-ClanSILi9O6HX95QNIC+TwxojpRpOSn9n3e3wmHExAHhLN5HdnHGmHN4LwtJdE2p91nse3kDULOTR7k1xRVJ/g==} + /nitropack@2.9.6: + resolution: {integrity: sha512-HP2PE0dREcDIBVkL8Zm6eVyrDd10/GI9hTL00PHvjUM8I9Y/2cv73wRDmxNyInfrx/CJKHATb2U/pQrqpzJyXA==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -8600,14 +8600,14 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.13.2) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.2) - '@rollup/plugin-inject': 5.0.5(rollup@4.13.2) - '@rollup/plugin-json': 6.1.0(rollup@4.13.2) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.2) - '@rollup/plugin-replace': 5.0.5(rollup@4.13.2) - '@rollup/plugin-terser': 0.4.4(rollup@4.13.2) - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.0) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.14.0) + '@rollup/plugin-json': 6.1.0(rollup@4.14.0) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.0) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.0) + '@rollup/plugin-terser': 0.4.4(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 archiver: 7.0.1 @@ -8651,8 +8651,8 @@ packages: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.13.2 - rollup-plugin-visualizer: 5.12.0(rollup@4.13.2) + rollup: 4.14.0 + rollup-plugin-visualizer: 5.12.0(rollup@4.14.0) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 @@ -8662,9 +8662,9 @@ packages: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.13.2) + unimport: 3.7.1(rollup@4.14.0) unstorage: 1.10.2(ioredis@5.3.2) - unwasm: 0.3.8 + unwasm: 0.3.9 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -10209,58 +10209,58 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.13.2)(typescript@5.4.3): + /rollup-plugin-dts@6.1.0(rollup@4.14.0)(typescript@5.4.3): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 4.13.2 + rollup: 4.14.0 typescript: 5.4.3 optionalDependencies: '@babel/code-frame': 7.24.2 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.13.2): + /rollup-plugin-visualizer@5.12.0(rollup@4.14.0): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.13.2 + rollup: ^4.14.0 peerDependenciesMeta: rollup: optional: true dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.13.2 + rollup: 4.14.0 source-map: 0.7.4 yargs: 17.7.2 - /rollup@4.13.2: - resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==} + /rollup@4.14.0: + resolution: {integrity: sha512-Qe7w62TyawbDzB4yt32R0+AbIo6m1/sqO7UPzFS8Z/ksL5mrfhA0v4CavfdmFav3D+ub4QeAgsGEe84DoWe/nQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.2 - '@rollup/rollup-android-arm64': 4.13.2 - '@rollup/rollup-darwin-arm64': 4.13.2 - '@rollup/rollup-darwin-x64': 4.13.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.2 - '@rollup/rollup-linux-arm64-gnu': 4.13.2 - '@rollup/rollup-linux-arm64-musl': 4.13.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.13.2 - '@rollup/rollup-linux-riscv64-gnu': 4.13.2 - '@rollup/rollup-linux-s390x-gnu': 4.13.2 - '@rollup/rollup-linux-x64-gnu': 4.13.2 - '@rollup/rollup-linux-x64-musl': 4.13.2 - '@rollup/rollup-win32-arm64-msvc': 4.13.2 - '@rollup/rollup-win32-ia32-msvc': 4.13.2 - '@rollup/rollup-win32-x64-msvc': 4.13.2 + '@rollup/rollup-android-arm-eabi': 4.14.0 + '@rollup/rollup-android-arm64': 4.14.0 + '@rollup/rollup-darwin-arm64': 4.14.0 + '@rollup/rollup-darwin-x64': 4.14.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.0 + '@rollup/rollup-linux-arm64-gnu': 4.14.0 + '@rollup/rollup-linux-arm64-musl': 4.14.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.0 + '@rollup/rollup-linux-riscv64-gnu': 4.14.0 + '@rollup/rollup-linux-s390x-gnu': 4.14.0 + '@rollup/rollup-linux-x64-gnu': 4.14.0 + '@rollup/rollup-linux-x64-musl': 4.14.0 + '@rollup/rollup-win32-arm64-msvc': 4.14.0 + '@rollup/rollup-win32-ia32-msvc': 4.14.0 + '@rollup/rollup-win32-x64-msvc': 4.14.0 fsevents: 2.3.3 /run-applescript@5.0.0: @@ -11140,12 +11140,12 @@ packages: typescript: optional: true dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.13.2) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.13.2) - '@rollup/plugin-json': 6.1.0(rollup@4.13.2) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.13.2) - '@rollup/plugin-replace': 5.0.5(rollup@4.13.2) - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.0) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.0) + '@rollup/plugin-json': 6.1.0(rollup@4.14.0) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.0) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -11160,8 +11160,8 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 4.13.2 - rollup-plugin-dts: 6.1.0(rollup@4.13.2)(typescript@5.4.3) + rollup: 4.14.0 + rollup-plugin-dts: 6.1.0(rollup@4.14.0)(typescript@5.4.3) scule: 1.3.0 typescript: 5.4.3 untyped: 1.4.2 @@ -11238,10 +11238,10 @@ packages: vfile: 6.0.1 dev: true - /unimport@3.7.1(rollup@4.13.2): + /unimport@3.7.1(rollup@4.14.0): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -11314,7 +11314,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.13.2)(vite@5.2.7): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.7): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -11326,8 +11326,8 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.13.2)(vite@5.2.7) - '@unocss/cli': 0.58.6(rollup@4.13.2) + '@unocss/astro': 0.58.6(rollup@4.14.0)(vite@5.2.7) + '@unocss/cli': 0.58.6(rollup@4.14.0) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 '@unocss/postcss': 0.58.6(postcss@8.4.38) @@ -11345,15 +11345,15 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.13.2)(vite@5.2.7) - vite: 5.2.7(@types/node@20.12.2) + '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.7) + vite: 5.2.7(@types/node@20.12.3) transitivePeerDependencies: - postcss - rollup - supports-color dev: false - /unplugin-vue-router@0.7.0(rollup@4.13.2)(vue-router@4.3.0)(vue@3.4.21): + /unplugin-vue-router@0.7.0(rollup@4.14.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -11362,9 +11362,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) - '@vue-macros/common': 1.10.1(rollup@4.13.2)(vue@3.4.21) - ast-walker-scope: 0.5.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@vue-macros/common': 1.10.1(rollup@4.14.0)(vue@3.4.21) + ast-walker-scope: 0.5.0(rollup@4.14.0) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 @@ -11474,8 +11474,8 @@ packages: transitivePeerDependencies: - supports-color - /unwasm@0.3.8: - resolution: {integrity: sha512-nIJQXxGl/gTUp5dZkSc8jbxAqSOa9Vv4jjSZXNI6OK0JXdvW3SQUHR+KY66rjI0W//km59jivGgd5TCvBUWsnA==} + /unwasm@0.3.9: + resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==} dependencies: knitwork: 1.1.0 magic-string: 0.30.8 @@ -11574,10 +11574,10 @@ packages: peerDependencies: vite: 5.2.7 dependencies: - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) dev: false - /vite-node@1.0.2(@types/node@20.12.2): + /vite-node@1.0.2(@types/node@20.12.3): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11586,7 +11586,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) transitivePeerDependencies: - '@types/node' - less @@ -11598,7 +11598,7 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.12.2): + /vite-node@1.4.0(@types/node@20.12.3): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11607,7 +11607,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) transitivePeerDependencies: - '@types/node' - less @@ -11662,7 +11662,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.3 - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11670,7 +11670,7 @@ packages: vue-tsc: 2.0.7(typescript@5.4.3) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.13.2)(vite@5.2.7): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.7): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -11682,7 +11682,7 @@ packages: dependencies: '@antfu/utils': 0.7.7 '@nuxt/kit': link:packages/kit - '@rollup/pluginutils': 5.1.0(rollup@4.13.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.0) debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -11690,7 +11690,7 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) transitivePeerDependencies: - rollup - supports-color @@ -11710,12 +11710,12 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.7(@types/node@20.12.2): + /vite@5.2.7(@types/node@20.12.3): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11743,10 +11743,10 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.13.2 + rollup: 4.14.0 optionalDependencies: fsevents: 2.3.3 @@ -11771,7 +11771,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.12.2)(happy-dom@14.3.10): + /vitest@1.0.2(@types/node@20.12.3)(happy-dom@14.3.10): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11796,7 +11796,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11816,8 +11816,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.7(@types/node@20.12.2) - vite-node: 1.0.2(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) + vite-node: 1.0.2(@types/node@20.12.3) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11829,7 +11829,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.12.2)(happy-dom@14.3.10): + /vitest@1.4.0(@types/node@20.12.3)(happy-dom@14.3.10): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11854,7 +11854,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -11873,8 +11873,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.7(@types/node@20.12.2) - vite-node: 1.4.0(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) + vite-node: 1.4.0(@types/node@20.12.3) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -12104,8 +12104,8 @@ packages: - utf-8-validate dev: false - /webpack-dev-middleware@7.2.0(webpack@5.91.0): - resolution: {integrity: sha512-VLzmsjJrf+3UVf3QsT3E7xZ9F9bdhUhQFGRxyl6bmYR+W519UWnK6/teZeqAFFjWEtpVs+JqNPCVqB/s7P4tGg==} + /webpack-dev-middleware@7.2.1(webpack@5.91.0): + resolution: {integrity: sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==} engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.0.0 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 5eb102893a..5ed2a5ab48 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -32,7 +32,7 @@ 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('"208k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"209k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1335k"') @@ -72,7 +72,7 @@ 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('"526k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"527k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.6k"') From 2dc4505c8ab4be0c089851b583a2d10424602727 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Wed, 3 Apr 2024 12:36:15 +0200 Subject: [PATCH 406/470] fix(nuxt): normalise rollup opts in island transform w/o nuxt (#26589) --- .../nuxt/src/components/islandsTransform.ts | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index 583ed724c3..a5fe8f33a8 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -8,6 +8,7 @@ import MagicString from 'magic-string' import { ELEMENT_NODE, parse, walk } from 'ultrahtml' import { hash } from 'ohash' import { resolvePath } from '@nuxt/kit' +import defu from 'defu' import { isVue } from '../core/utils' interface ServerOnlyComponentTransformPluginOptions { @@ -146,7 +147,7 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran * extract attributes from a node */ function extractAttributes (attributes: Record<string, string>, names: string[]) { - const extracted:Record<string, string> = {} + const extracted: Record<string, string> = {} for (const name of names) { if (name in attributes) { extracted[name] = attributes[name] @@ -182,15 +183,27 @@ export const componentsChunkPlugin = createUnplugin((options: ComponentChunkOpti vite: { async config (config) { const components = options.getComponents() - config.build = config.build || {} - config.build.rollupOptions = config.build.rollupOptions || {} - config.build.rollupOptions.output = config.build.rollupOptions.output || {} - config.build.rollupOptions.input = config.build.rollupOptions.input || {} + + config.build = defu(config.build, { + rollupOptions: { + input: {}, + output: {} + } + }) + + const rollupOptions = config.build.rollupOptions! + + if (typeof rollupOptions.input === 'string') { + rollupOptions.input = { entry: rollupOptions.input } + } else if (typeof rollupOptions.input === 'object' && Array.isArray(rollupOptions.input)) { + rollupOptions.input = rollupOptions.input.reduce<{ [key: string]: string }>((acc, input) => { acc[input] = input; return acc }, {}) + } + // don't use 'strict', this would create another "facade" chunk for the entry file, causing the ssr styles to not detect everything - config.build.rollupOptions.preserveEntrySignatures = 'allow-extension' + rollupOptions.preserveEntrySignatures = 'allow-extension' for (const component of components) { if (component.mode === 'client' || component.mode === 'all') { - (config.build.rollupOptions.input as Record<string, string>)[component.pascalName] = await resolvePath(component.filePath) + rollupOptions.input![component.pascalName] = await resolvePath(component.filePath) } } }, From 8ae37e7e5c454e7fe7d26af7205778f616839f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Wed, 3 Apr 2024 16:46:46 +0200 Subject: [PATCH 407/470] docs: correct grammar in `typescript.shim` JSDoc (#26626) --- packages/schema/src/config/typescript.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 21e36a4be2..6f20545eb7 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -80,7 +80,7 @@ export default defineUntypedSchema({ * We recommend instead letting the [official Vue extension](https://marketplace.visualstudio.com/items?itemName=Vue.volar) * generate accurate types for your components. * - * Note that if you may wish to set this to `true` if you are using other libraries, such as ESLint, + * Note that you may wish to set this to `true` if you are using other libraries, such as ESLint, * that are unable to understand the type of `.vue` files. */ shim: false From 0d63921be1e032f7385712329848623091ee920c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 17:51:08 +0100 Subject: [PATCH 408/470] chore(deps): update dependency vite to v5.2.8 (main) (#26627) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 152 +++++++++++++++++------------------ 6 files changed, 81 insertions(+), 81 deletions(-) diff --git a/package.json b/package.json index 06b4c630d6..f002277b6d 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@nuxt/webpack-builder": "workspace:*", "rollup": "^4.14.0", "nuxt": "workspace:*", - "vite": "5.2.7", + "vite": "5.2.8", "vue": "3.4.21", "magic-string": "^0.30.8" }, diff --git a/packages/kit/package.json b/packages/kit/package.json index 229966ecc8..4993f6a6b0 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -52,7 +52,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.6", "unbuild": "latest", - "vite": "5.2.7", + "vite": "5.2.8", "vitest": "1.4.0", "webpack": "5.91.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 3580b3b963..dc2fdc339f 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -122,7 +122,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.2.7", + "vite": "5.2.8", "vitest": "1.4.0" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 0e94157ff2..275993b10a 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -53,7 +53,7 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.2.7", + "vite": "5.2.8", "vue": "3.4.21", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 82f029c141..ce50c6443e 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -62,7 +62,7 @@ "ufo": "^1.5.3", "unenv": "^1.9.0", "unplugin": "^1.10.1", - "vite": "^5.2.7", + "vite": "^5.2.8", "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b2e9ef1d44..265ee660cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,7 +11,7 @@ overrides: '@nuxt/webpack-builder': workspace:* rollup: ^4.14.0 nuxt: workspace:* - vite: 5.2.7 + vite: 5.2.8 vue: 3.4.21 magic-string: ^0.30.8 @@ -27,7 +27,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -141,7 +141,7 @@ importers: version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -228,8 +228,8 @@ importers: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.7 - version: 5.2.7(@types/node@20.12.3) + specifier: 5.2.8 + version: 5.2.8(@types/node@20.12.3) vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.5 - version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.0)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21) + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.0)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -422,13 +422,13 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.7)(vue@3.4.21) + version: 5.0.4(vite@5.2.8)(vue@3.4.21) unbuild: specifier: latest version: 2.0.0(typescript@5.4.3) vite: - specifier: 5.2.7 - version: 5.2.7(@types/node@20.12.3) + specifier: 5.2.8 + version: 5.2.8(@types/node@20.12.3) vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) @@ -486,10 +486,10 @@ importers: version: 1.9.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.7)(vue@3.4.21) + version: 5.0.4(vite@5.2.8)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.7)(vue@3.4.21) + version: 3.1.0(vite@5.2.8)(vue@3.4.21) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 @@ -527,8 +527,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.2.7 - version: 5.2.7(@types/node@20.12.3) + specifier: 5.2.8 + version: 5.2.8(@types/node@20.12.3) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -558,10 +558,10 @@ importers: version: 5.0.5(rollup@4.14.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.7)(vue@3.4.21) + version: 5.0.4(vite@5.2.8)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.7)(vue@3.4.21) + version: 3.1.0(vite@5.2.8)(vue@3.4.21) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -641,14 +641,14 @@ importers: specifier: ^1.10.1 version: 1.10.1 vite: - specifier: 5.2.7 - version: 5.2.7(@types/node@20.12.3) + specifier: 5.2.8 + version: 5.2.8(@types/node@20.12.3) vite-node: specifier: ^1.4.0 version: 1.4.0(@types/node@20.12.3) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.7)(vue-tsc@2.0.7) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.8)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -2181,17 +2181,17 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: false - /@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.7): + /@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.8): resolution: {integrity: sha512-Nb/NKFCRtxyqcPD6snB52rXtbRQMjGtn3ncpa8cLWsnoqnkd9emQ4uwV8IwCNxTnqUBtbGU79/TlJ79SKH9TAw==} peerDependencies: nuxt: workspace:* - vite: 5.2.7 + vite: 5.2.8 dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) dev: false /@nuxt/devtools-wizard@1.1.5: @@ -2210,19 +2210,19 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.0)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21): + /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.0)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21): resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.2.7 + vite: 5.2.8 dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.7) + '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.8) '@nuxt/devtools-wizard': 1.1.5 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21) - '@vue/devtools-core': 7.0.25(vite@5.2.7)(vue@3.4.21) + '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21) + '@vue/devtools-core': 7.0.25(vite@5.2.8)(vue@3.4.21) '@vue/devtools-kit': 7.0.25(vue@3.4.21) birpc: 0.2.17 consola: 3.2.3 @@ -2252,9 +2252,9 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.14.0) - vite: 5.2.7(@types/node@20.12.3) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.7) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.7) + vite: 5.2.8(@types/node@20.12.3) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.8) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.8) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -2331,7 +2331,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2345,7 +2345,7 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.2.7 + vite: 5.2.8 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.21 vue-router: ^4.0.0 @@ -2398,9 +2398,9 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) vitest: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3394,18 +3394,18 @@ packages: vue: 3.4.21(typescript@5.4.3) dev: false - /@unocss/astro@0.58.6(rollup@4.14.0)(vite@5.2.7): + /@unocss/astro@0.58.6(rollup@4.14.0)(vite@5.2.8): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: - vite: 5.2.7 + vite: 5.2.8 peerDependenciesMeta: vite: optional: true dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.7) - vite: 5.2.7(@types/node@20.12.3) + '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.8) + vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - rollup dev: false @@ -3588,10 +3588,10 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.14.0)(vite@5.2.7): + /@unocss/vite@0.58.6(rollup@4.14.0)(vite@5.2.8): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: - vite: 5.2.7 + vite: 5.2.8 dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.14.0) @@ -3603,7 +3603,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.8 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - rollup dev: false @@ -3629,29 +3629,29 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.7)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.2.7 + vite: 5.2.8 vue: 3.4.21 dependencies: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.2.7)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.8)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.2.7 + vite: 5.2.8 vue: 3.4.21 dependencies: - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) vue: 3.4.21(typescript@5.4.3) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3861,12 +3861,12 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.7)(vue@3.4.21): + /@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21): resolution: {integrity: sha512-9JwnjRO2tAHxFjA+cHSpQ/DKIqUKILvYaWJkOt1KqkedXPHzUWU1NfQAto+p6ycaKInA5A0VdXdmIl4N8YJCrw==} peerDependencies: vue: 3.4.21 dependencies: - '@vue/devtools-core': 7.0.25(vite@5.2.7)(vue@3.4.21) + '@vue/devtools-core': 7.0.25(vite@5.2.8)(vue@3.4.21) '@vue/devtools-kit': 7.0.25(vue@3.4.21) '@vue/devtools-shared': 7.0.25 '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) @@ -3893,7 +3893,7 @@ packages: - vite dev: false - /@vue/devtools-core@7.0.25(vite@5.2.7)(vue@3.4.21): + /@vue/devtools-core@7.0.25(vite@5.2.8)(vue@3.4.21): resolution: {integrity: sha512-aCsY4J6SvSBDuGdYADszByT0wy0GgpgdCApxcZzQEqYlyVchX7vqznJQrm7Y1GCLqAvoLaxsQqew7Cz+KQ3Idg==} dependencies: '@vue/devtools-kit': 7.0.25(vue@3.4.21) @@ -3901,7 +3901,7 @@ packages: mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.7) + vite-hot-client: 0.2.3(vite@5.2.8) transitivePeerDependencies: - vite - vue @@ -3941,7 +3941,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.7) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.8) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - '@vue/composition-api' @@ -11314,19 +11314,19 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.7): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.8): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.58.6 - vite: 5.2.7 + vite: 5.2.8 peerDependenciesMeta: '@unocss/webpack': optional: true vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.14.0)(vite@5.2.7) + '@unocss/astro': 0.58.6(rollup@4.14.0)(vite@5.2.8) '@unocss/cli': 0.58.6(rollup@4.14.0) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -11345,8 +11345,8 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.7) - vite: 5.2.7(@types/node@20.12.3) + '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.8) + vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - postcss - rollup @@ -11569,12 +11569,12 @@ packages: vfile-message: 4.0.2 dev: true - /vite-hot-client@0.2.3(vite@5.2.7): + /vite-hot-client@0.2.3(vite@5.2.8): resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: - vite: 5.2.7 + vite: 5.2.8 dependencies: - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) dev: false /vite-node@1.0.2(@types/node@20.12.3): @@ -11586,7 +11586,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - '@types/node' - less @@ -11607,7 +11607,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - '@types/node' - less @@ -11618,7 +11618,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.7)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.8)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11627,7 +11627,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.2.7 + vite: 5.2.8 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -11662,7 +11662,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.3 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11670,12 +11670,12 @@ packages: vue-tsc: 2.0.7(typescript@5.4.3) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.7): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.8): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.2.7 + vite: 5.2.8 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -11690,16 +11690,16 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - rollup - supports-color dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.2.7): + /vite-plugin-vue-inspector@4.0.2(vite@5.2.8): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.2.7 + vite: 5.2.8 dependencies: '@babel/core': 7.24.1 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.1) @@ -11710,13 +11710,13 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.7(@types/node@20.12.3): - resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} + /vite@5.2.8(@types/node@20.12.3): + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11750,10 +11750,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.7)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11816,7 +11816,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) vite-node: 1.0.2(@types/node@20.12.3) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -11873,7 +11873,7 @@ packages: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.3) vite-node: 1.4.0(@types/node@20.12.3) why-is-node-running: 2.2.2 transitivePeerDependencies: From 0931d0d90f3de2ea147bf6dd946ba75893b88909 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 20:56:31 +0100 Subject: [PATCH 409/470] chore(deps): update devdependency eslint-plugin-unicorn to v52 (main) (#26632) --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f002277b6d..25cfb1484d 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "eslint-plugin-import": "2.29.1", "eslint-plugin-jsdoc": "48.2.2", "eslint-plugin-no-only-tests": "3.1.0", - "eslint-plugin-unicorn": "51.0.1", + "eslint-plugin-unicorn": "52.0.0", "execa": "8.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 265ee660cd..e7b4aa3184 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -77,8 +77,8 @@ importers: specifier: 3.1.0 version: 3.1.0 eslint-plugin-unicorn: - specifier: 51.0.1 - version: 51.0.1(eslint@8.57.0) + specifier: 52.0.0 + version: 52.0.0(eslint@8.57.0) execa: specifier: 8.0.1 version: 8.0.1 @@ -6082,8 +6082,8 @@ packages: eslint: 8.57.0 dev: true - /eslint-plugin-unicorn@51.0.1(eslint@8.57.0): - resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} + /eslint-plugin-unicorn@52.0.0(eslint@8.57.0): + resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.56.0' From 2abc1a58152220fc02062855e7d10f86157df4ee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 20:56:42 +0100 Subject: [PATCH 410/470] chore(deps): update dependency css-loader to ^6.11.0 (main) (#26631) --- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/webpack/package.json b/packages/webpack/package.json index b40b978920..55ec467f11 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -28,7 +28,7 @@ "@nuxt/friendly-errors-webpack-plugin": "^2.6.0", "@nuxt/kit": "workspace:*", "autoprefixer": "^10.4.19", - "css-loader": "^6.10.0", + "css-loader": "^6.11.0", "css-minimizer-webpack-plugin": "^6.0.0", "cssnano": "^6.1.2", "defu": "^6.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7b4aa3184..b9a44a62da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -684,8 +684,8 @@ importers: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) css-loader: - specifier: ^6.10.0 - version: 6.10.0(webpack@5.91.0) + specifier: ^6.11.0 + version: 6.11.0(webpack@5.91.0) css-minimizer-webpack-plugin: specifier: ^6.0.0 version: 6.0.0(webpack@5.91.0) @@ -5150,8 +5150,8 @@ packages: postcss: 8.4.38 dev: false - /css-loader@6.10.0(webpack@5.91.0): - resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} + /css-loader@6.11.0(webpack@5.91.0): + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} engines: {node: '>= 12.13.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -5164,9 +5164,9 @@ packages: dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.38) - postcss-modules-scope: 3.1.1(postcss@8.4.38) + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 semver: 7.6.0 @@ -9463,8 +9463,8 @@ packages: postcss-selector-parser: 6.0.16 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): - resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + /postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 @@ -9472,8 +9472,8 @@ packages: postcss: 8.4.38 dev: false - /postcss-modules-local-by-default@4.0.4(postcss@8.4.38): - resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} + /postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 @@ -9484,8 +9484,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.1.1(postcss@8.4.38): - resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} + /postcss-modules-scope@3.2.0(postcss@8.4.38): + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 From a3a28a913e0d3a47fc195b30d9a1feeea57e2a3f Mon Sep 17 00:00:00 2001 From: Luke Nelson <luke@nelson.zone> Date: Wed, 3 Apr 2024 21:46:58 +0100 Subject: [PATCH 411/470] chore: migrate to ESLint flat config (#26583) --- .eslintrc | 224 ----------------- eslint.config.mjs | 280 +++++++++++++++++++++ package.json | 6 +- packages/nuxt/config.cjs | 1 + packages/nuxt/src/app/compat/capi.ts | 1 + packages/nuxt/src/components/tree-shake.ts | 2 +- packages/nuxt/types.d.mts | 3 +- pnpm-lock.yaml | 42 ++++ 8 files changed, 331 insertions(+), 228 deletions(-) delete mode 100644 .eslintrc create mode 100644 eslint.config.mjs diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index a72cf012da..0000000000 --- a/.eslintrc +++ /dev/null @@ -1,224 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/eslintrc", - "ignorePatterns": [ - "dist", - "public", - "node_modules", - "packages/schema/schema" - ], - "globals": { - "NodeJS": true, - "$fetch": true - }, - "plugins": ["jsdoc", "import", "unicorn", "no-only-tests"], - "extends": [ - "standard", - "plugin:jsdoc/recommended", - "@nuxt/eslint-config", - "plugin:import/typescript" - ], - "rules": { - // Imports should come first - "import/first": "error", - // Other import rules - "import/no-mutable-exports": "error", - // Allow unresolved imports - "import/no-unresolved": "off", - // Allow paren-less arrow functions only when there's no braces - "arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }], - // Allow async-await - "generator-star-spacing": "off", - // Prefer const over let - "prefer-const": ["error", { "destructuring": "any", "ignoreReadBeforeAssign": false }], - // No single if in an "else" block - "no-lonely-if": "error", - // Force curly braces for control flow, - // including if blocks with a single statement - "curly": ["error", "all" - ], - // No async function without await - "require-await": "error", - // Force dot notation when possible - "dot-notation": "error", - - "no-var": "error", - // Force object shorthand where possible - "object-shorthand": "error", - // No useless destructuring/importing/exporting renames - "no-useless-rename": "error", - /**********************/ - /* Unicorn Rules */ - /**********************/ - // Pass error message when throwing errors - "unicorn/error-message": "error", - // Uppercase regex escapes - "unicorn/escape-case": "error", - // Array.isArray instead of instanceof - "unicorn/no-array-instanceof": "error", - // Prevent deprecated `new Buffer()` - "unicorn/no-new-buffer": "error", - // Keep regex literals safe! - "unicorn/no-unsafe-regex": "off", - // Lowercase number formatting for octal, hex, binary (0x12 instead of 0X12) - "unicorn/number-literal-case": "error", - // ** instead of Math.pow() - "unicorn/prefer-exponentiation-operator": "error", - // includes over indexOf when checking for existence - "unicorn/prefer-includes": "error", - // String methods startsWith/endsWith instead of more complicated stuff - "unicorn/prefer-starts-ends-with": "error", - // textContent instead of innerText - "unicorn/prefer-text-content": "error", - // Enforce throwing type error when throwing error while checking typeof - "unicorn/prefer-type-error": "error", - // Use new when throwing error - "unicorn/throw-new-error": "error", - "sort-imports": [ - "error", - { - "ignoreDeclarationSort": true - } - ], - "no-only-tests/no-only-tests": "error", - "unicorn/prefer-node-protocol": "error", - "no-console": "warn", - "vue/one-component-per-file": "off", - "vue/require-default-prop": "off", - - // Vue stylistic rules from `@antfu/eslint-config` - "vue/array-bracket-spacing": ["error", "never"], - "vue/arrow-spacing": ["error", { "after": true, "before": true }], - "vue/block-spacing": ["error", "always"], - "vue/block-tag-newline": [ - "error", - { - "multiline": "always", - "singleline": "always" - } - ], - "vue/brace-style": ["error", "stroustrup", { "allowSingleLine": true }], - "vue/comma-dangle": ["error", "always-multiline"], - "vue/comma-spacing": ["error", { "after": true, "before": false }], - "vue/comma-style": ["error", "last"], - "vue/html-comment-content-spacing": [ - "error", - "always", - { - "exceptions": ["-"] - } - ], - "vue/key-spacing": ["error", { "afterColon": true, "beforeColon": false }], - "vue/keyword-spacing": ["error", { "after": true, "before": true }], - "vue/object-curly-newline": "off", - "vue/object-curly-spacing": ["error", "always"], - "vue/object-property-newline": [ - "error", - { "allowMultiplePropertiesPerLine": true } - ], - "vue/operator-linebreak": ["error", "before"], - "vue/padding-line-between-blocks": ["error", "always"], - "vue/quote-props": ["error", "consistent-as-needed"], - "vue/space-in-parens": ["error", "never"], - "vue/template-curly-spacing": "error", - - "jsdoc/require-jsdoc": "off", - "jsdoc/require-param": "off", - "jsdoc/require-returns": "off", - "jsdoc/require-param-type": "off", - "import/order": [ - "error", - { - "pathGroups": [ - { - "pattern": "#vue-router", - "group": "external" - } - ] - } - ], - "import/no-restricted-paths": [ - "error", - { - "zones": [ - { - "from": "packages/nuxt/src/!(core)/**/*", - "target": "packages/nuxt/src/core", - "message": "core should not directly import from modules." - }, - { - "from": "packages/nuxt/src/!(app)/**/*", - "target": "packages/nuxt/src/app", - "message": "app should not directly import from modules." - }, - { - "from": "packages/nuxt/src/app/**/index.ts", - "target": "packages/nuxt/src", - "message": "should not import from barrel/index files" - }, - { - "from": "packages/nitro", - "target": "packages/!(nitro)/**/*", - "message": "nitro should not directly import other packages." - } - ] - } - ], - "@typescript-eslint/consistent-type-imports": [ - "error", - { - "disallowTypeAnnotations": false - } - ], - "@typescript-eslint/ban-ts-comment": [ - "error", - { - "ts-expect-error": "allow-with-description", - "ts-ignore": true - } - ], - "@typescript-eslint/prefer-ts-expect-error": "error", - "@typescript-eslint/no-unused-vars": [ - "error", - { - "argsIgnorePattern": "^_", - "varsIgnorePattern": "^_", - "ignoreRestSiblings": true - } - ], - "jsdoc/check-tag-names": [ - "error", - { - "definedTags": ["__NO_SIDE_EFFECTS__"] - } - ] - }, - "overrides": [ - { - "files": ["packages/schema/**"], - "rules": { - "jsdoc/valid-types": "off", - "jsdoc/check-tag-names": [ - "error", - { - "definedTags": ["experimental"] - } - ] - } - }, - { - "files": ["packages/nuxt/src/app/**", "test/**", "**/runtime/**"], - "rules": { - "no-console": "off" - } - } - ], - "settings": { - "jsdoc": { - "ignoreInternal": true, - "tagNamePreference": { - "warning": "warning", - "note": "note" - } - } - } -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000000..9287eddea3 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,280 @@ +// Configs +// import standard from "eslint-config-standard" +// import nuxt from '@nuxt/eslint-config' + +// Plugins +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import jsdoc from 'eslint-plugin-jsdoc' +import esImport from 'eslint-plugin-import' +import unicorn from 'eslint-plugin-unicorn' +import noOnlyTests from 'eslint-plugin-no-only-tests' + +/** + * eslintrc compatibility + * @see https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config + * @see https://github.com/eslint/eslintrc#usage-esm + */ +import { FlatCompat } from '@eslint/eslintrc' +import js from '@eslint/js' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) + +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended +}) + +// TODO: Type definition? +export default [ + { + ignores: [ + '**/dist/**', + '**/.nuxt/**', + '**/.nuxt-*/**', + '**/.output/**', + '**/.output-*/**', + '**/public/**', + '**/node_modules/**', + 'packages/schema/schema', + + // TODO: remove when fully migrated to flat config + '**/*.d.mts' + ] + }, + // standard, + ...compat.extends('eslint-config-standard'), + jsdoc.configs['flat/recommended'], + // nuxt, + ...compat.extends('@nuxt/eslint-config'), + esImport.configs.typescript, + { + rules: { + 'import/export': 'off' + } + }, + { + files: ['**/*.vue', '**/*.ts', '**/*.mts', '**/*.js', '**/*.cjs', '**/*.mjs'], + languageOptions: { + globals: { + NodeJS: 'readonly', + $fetch: 'readonly' + } + }, + plugins: { + jsdoc, + import: esImport, + unicorn, + 'no-only-tests': noOnlyTests + }, + rules: { + // Imports should come first + 'import/first': 'error', + // Other import rules + 'import/no-mutable-exports': 'error', + // Allow unresolved imports + 'import/no-unresolved': 'off', + // Allow paren-less arrow functions only when there's no braces + 'arrow-parens': ['error', 'as-needed', { requireForBlockBody: true }], + // Allow async-await + 'generator-star-spacing': 'off', + // Prefer const over let + 'prefer-const': ['error', { destructuring: 'any', ignoreReadBeforeAssign: false }], + // No single if in an "else" block + 'no-lonely-if': 'error', + // Force curly braces for control flow, + // including if blocks with a single statement + curly: ['error', 'all'], + // No async function without await + 'require-await': 'error', + // Force dot notation when possible + 'dot-notation': 'error', + + 'no-var': 'error', + // Force object shorthand where possible + 'object-shorthand': 'error', + // No useless destructuring/importing/exporting renames + 'no-useless-rename': 'error', + /**********************/ + /* Unicorn Rules */ + /**********************/ + // Pass error message when throwing errors + 'unicorn/error-message': 'error', + // Uppercase regex escapes + 'unicorn/escape-case': 'error', + // Array.isArray instead of instanceof + 'unicorn/no-array-instanceof': 'error', + // Prevent deprecated `new Buffer()` + 'unicorn/no-new-buffer': 'error', + // Keep regex literals safe! + 'unicorn/no-unsafe-regex': 'off', + // Lowercase number formatting for octal, hex, binary (0x12 instead of 0X12) + 'unicorn/number-literal-case': 'error', + // ** instead of Math.pow() + 'unicorn/prefer-exponentiation-operator': 'error', + // includes over indexOf when checking for existence + 'unicorn/prefer-includes': 'error', + // String methods startsWith/endsWith instead of more complicated stuff + 'unicorn/prefer-starts-ends-with': 'error', + // textContent instead of innerText + 'unicorn/prefer-text-content': 'error', + // Enforce throwing type error when throwing error while checking typeof + 'unicorn/prefer-type-error': 'error', + // Use new when throwing error + 'unicorn/throw-new-error': 'error', + 'sort-imports': [ + 'error', + { + ignoreDeclarationSort: true + } + ], + 'no-only-tests/no-only-tests': 'error', + 'unicorn/prefer-node-protocol': 'error', + 'no-console': ['warn', { allow: ['warn', 'error', 'debug'] }], + 'vue/one-component-per-file': 'off', + 'vue/require-default-prop': 'off', + + // Vue stylistic rules from `@antfu/eslint-config` + 'vue/array-bracket-spacing': ['error', 'never'], + 'vue/arrow-spacing': ['error', { after: true, before: true }], + 'vue/block-spacing': ['error', 'always'], + 'vue/block-tag-newline': [ + 'error', + { + multiline: 'always', + singleline: 'always' + } + ], + 'vue/brace-style': ['error', 'stroustrup', { allowSingleLine: true }], + 'vue/comma-dangle': ['error', 'always-multiline'], + 'vue/comma-spacing': ['error', { after: true, before: false }], + 'vue/comma-style': ['error', 'last'], + 'vue/html-comment-content-spacing': [ + 'error', + 'always', + { + exceptions: ['-'] + } + ], + 'vue/key-spacing': ['error', { afterColon: true, beforeColon: false }], + 'vue/keyword-spacing': ['error', { after: true, before: true }], + 'vue/object-curly-newline': 'off', + 'vue/object-curly-spacing': ['error', 'always'], + 'vue/object-property-newline': [ + 'error', + { allowMultiplePropertiesPerLine: true } + ], + 'vue/operator-linebreak': ['error', 'before'], + 'vue/padding-line-between-blocks': ['error', 'always'], + 'vue/quote-props': ['error', 'consistent-as-needed'], + 'vue/space-in-parens': ['error', 'never'], + 'vue/template-curly-spacing': 'error', + + 'jsdoc/require-jsdoc': 'off', + 'jsdoc/require-param': 'off', + 'jsdoc/require-returns': 'off', + 'jsdoc/require-param-type': 'off', + 'import/order': [ + 'error', + { + pathGroups: [ + { + pattern: '#vue-router', + group: 'external' + } + ] + } + ], + 'import/no-restricted-paths': [ + 'error', + { + zones: [ + { + from: 'packages/nuxt/src/!(core)/**/*', + target: 'packages/nuxt/src/core', + message: 'core should not directly import from modules.' + }, + { + from: 'packages/nuxt/src/!(app)/**/*', + target: 'packages/nuxt/src/app', + message: 'app should not directly import from modules.' + }, + { + from: 'packages/nuxt/src/app/**/index.ts', + target: 'packages/nuxt/src', + message: 'should not import from barrel/index files' + }, + { + from: 'packages/nitro', + target: 'packages/!(nitro)/**/*', + message: 'nitro should not directly import other packages.' + } + ] + } + ], + '@typescript-eslint/consistent-type-imports': [ + 'error', + { + disallowTypeAnnotations: false + } + ], + '@typescript-eslint/ban-ts-comment': [ + 'error', + { + 'ts-expect-error': 'allow-with-description', + 'ts-ignore': true + } + ], + '@typescript-eslint/prefer-ts-expect-error': 'error', + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + ignoreRestSiblings: true + } + ], + 'jsdoc/check-tag-names': [ + 'error', + { + definedTags: ['__NO_SIDE_EFFECTS__'] + } + ] + }, + settings: { + jsdoc: { + ignoreInternal: true, + tagNamePreference: { + warning: 'warning', + note: 'note' + } + } + } + }, + { + files: ['packages/schema/**'], + rules: { + 'jsdoc/valid-types': 'off', + 'jsdoc/check-tag-names': [ + 'error', + { + definedTags: ['experimental'] + } + ] + } + }, + { + files: ['packages/nuxt/src/app/**', 'test/**', '**/runtime/**', '**/*.test.ts'], + rules: { + 'no-console': 'off' + } + }, + { + files: ['test/fixtures/**'], + rules: { + '@typescript-eslint/no-unused-vars': 'off', + 'vue/valid-v-for': 'off' + } + } +] diff --git a/package.json b/package.json index 25cfb1484d..5f13b19219 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "cleanup": "rimraf 'packages/**/node_modules' 'playground/node_modules' 'node_modules'", "dev": "pnpm play", "dev:prepare": "pnpm --filter './packages/**' prepack --stub", - "lint": "eslint --ext .vue,.ts,.js,.mjs .", - "lint:fix": "eslint --ext .vue,.ts,.js,.mjs . --fix", + "lint": "eslint .", + "lint:fix": "eslint . --fix", "lint:docs": "markdownlint ./docs && case-police 'docs/**/*.md' *.md", "lint:docs:fix": "markdownlint ./docs --fix && case-police 'docs/**/*.md' *.md --fix", "lint:knip": "pnpx knip", @@ -44,6 +44,8 @@ "magic-string": "^0.30.8" }, "devDependencies": { + "@eslint/eslintrc": "3.0.2", + "@eslint/js": "8.57.0", "@nuxt/eslint-config": "0.2.0", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", diff --git a/packages/nuxt/config.cjs b/packages/nuxt/config.cjs index cfdf3f8aa9..c21b9a6499 100644 --- a/packages/nuxt/config.cjs +++ b/packages/nuxt/config.cjs @@ -1,3 +1,4 @@ +/* eslint-disable jsdoc/require-jsdoc */ function defineNuxtConfig (config) { return config } diff --git a/packages/nuxt/src/app/compat/capi.ts b/packages/nuxt/src/app/compat/capi.ts index 2ef0b9f749..cd0736eeb7 100644 --- a/packages/nuxt/src/app/compat/capi.ts +++ b/packages/nuxt/src/app/compat/capi.ts @@ -1,3 +1,4 @@ +// eslint-disable-next-line import/export export * from 'vue' export const install = () => {} diff --git a/packages/nuxt/src/components/tree-shake.ts b/packages/nuxt/src/components/tree-shake.ts index e8b9d9d84d..915b794b2f 100644 --- a/packages/nuxt/src/components/tree-shake.ts +++ b/packages/nuxt/src/components/tree-shake.ts @@ -220,7 +220,7 @@ function isComponentNotCalledInSetup (codeAst: Node, name: string): string | voi /** * retrieve the component identifier being used on ssrRender callExpression - * @param {CallExpression} ssrRenderNode - ssrRender callExpression + * @param ssrRenderNode - ssrRender callExpression */ function getComponentName (ssrRenderNode: AcornNode<CallExpression>): string { const componentCall = ssrRenderNode.arguments[0] as Identifier | MemberExpression | CallExpression diff --git a/packages/nuxt/types.d.mts b/packages/nuxt/types.d.mts index 043bf0c49e..706aa58991 100644 --- a/packages/nuxt/types.d.mts +++ b/packages/nuxt/types.d.mts @@ -1,5 +1,4 @@ /// <reference types="nitropack" /> -export * from './dist/index.js' import type { DefineNuxtConfig } from 'nuxt/config' import type { RuntimeConfig, SchemaDefinition } from 'nuxt/schema' @@ -7,6 +6,8 @@ import type { H3Event } from 'h3' import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/app/types.js' import type { LogObject } from 'consola' +export * from './dist/index.js' + declare global { const defineNuxtConfig: DefineNuxtConfig const defineNuxtSchema: (schema: SchemaDefinition) => SchemaDefinition diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9a44a62da..078d915b62 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,6 +19,12 @@ importers: .: devDependencies: + '@eslint/eslintrc': + specifier: 3.0.2 + version: 3.0.2 + '@eslint/js': + specifier: 8.57.0 + version: 8.57.0 '@nuxt/eslint-config': specifier: 0.2.0 version: 0.2.0(eslint@8.57.0) @@ -1919,6 +1925,23 @@ packages: transitivePeerDependencies: - supports-color + /@eslint/eslintrc@3.0.2: + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + /@eslint/js@8.57.0: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6145,6 +6168,11 @@ 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==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + /eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6191,6 +6219,15 @@ packages: transitivePeerDependencies: - supports-color + /espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 4.0.0 + dev: true + /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6702,6 +6739,11 @@ packages: dependencies: type-fest: 0.20.2 + /globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + dev: true + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} From af3594c7883bb399c100578707d6974fe15e227e Mon Sep 17 00:00:00 2001 From: Alex Liu <dsa1314@gmail.com> Date: Thu, 4 Apr 2024 04:49:09 +0800 Subject: [PATCH 412/470] fix(nuxt): handle missing Nuxt context in `useRoute` (#26633) --- packages/nuxt/src/app/composables/router.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index 717b14cf43..bf935e63d7 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -85,8 +85,7 @@ const isProcessingMiddleware = () => { return true } } catch { - // Within an async middleware - return true + return false } return false } From f40e8e538a1d7a55a6dd651aa306862b4f4fe580 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 09:12:49 +0100 Subject: [PATCH 413/470] chore(deps): update all non-major dependencies (main) (#26636) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- package.json | 4 +- pnpm-lock.yaml | 208 ++++++++++++++++++++++++++++++--------- 3 files changed, 166 insertions(+), 48 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c0b25a87d5..50d8afa48b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -236,7 +236,7 @@ jobs: TEST_CONTEXT: ${{ matrix.context }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || runner.os == 'Windows' }} - - uses: codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # v4.1.1 + - uses: codecov/codecov-action@7afa10ed9b269c561c2336fd862446844e0cbf71 # v4.2.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 }} diff --git a/package.json b/package.json index 5f13b19219..b90045935e 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.12.3", + "@types/node": "20.12.4", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", @@ -70,7 +70,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.3.10", + "happy-dom": "14.4.0", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 078d915b62..3fd5f7a367 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,7 +33,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -44,8 +44,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.12.3 - version: 20.12.3 + specifier: 20.12.4 + version: 20.12.4 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -98,8 +98,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.3.10 - version: 14.3.10 + specifier: 14.4.0 + version: 14.4.0 jiti: specifier: 1.21.0 version: 1.21.0 @@ -144,10 +144,10 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) + version: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -235,10 +235,10 @@ importers: version: 2.0.0(typescript@5.4.3) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.3) + version: 5.2.8(@types/node@20.12.4) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) + version: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) webpack: specifier: 5.91.0 version: 5.91.0 @@ -437,7 +437,7 @@ importers: version: 5.2.8(@types/node@20.12.3) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) + version: 1.4.0(@types/node@20.12.3)(happy-dom@14.4.0) packages/schema: dependencies: @@ -534,7 +534,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.3) + version: 5.2.8(@types/node@20.12.4) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -648,10 +648,10 @@ importers: version: 1.10.1 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.3) + version: 5.2.8(@types/node@20.12.4) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.3) + version: 1.4.0(@types/node@20.12.4) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.8)(vue-tsc@2.0.7) @@ -877,7 +877,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.12.3)(happy-dom@14.3.10) + version: 1.0.2(@types/node@20.12.4)(happy-dom@14.4.0) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.3) @@ -2030,7 +2030,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.3 + '@types/node': 20.12.4 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2354,7 +2354,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2407,7 +2407,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.3.10 + happy-dom: 14.4.0 local-pkg: 0.5.0 magic-string: 0.30.8 node-fetch-native: 1.6.4 @@ -2421,9 +2421,9 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.8(@types/node@20.12.3) - vitest: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vite: 5.2.8(@types/node@20.12.4) + vitest: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.3) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -3010,7 +3010,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 dev: true /@types/debug@4.1.12: @@ -3060,7 +3060,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -3087,7 +3087,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 dev: true /@types/lodash-es@4.17.12: @@ -3113,7 +3113,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 dev: true /@types/node@20.12.3: @@ -3121,6 +3121,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.12.4: + resolution: {integrity: sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -3204,7 +3209,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3219,7 +3224,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3662,7 +3667,7 @@ packages: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color @@ -3696,7 +3701,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.3)(happy-dom@14.3.10) + vitest: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) transitivePeerDependencies: - supports-color dev: true @@ -6825,8 +6830,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.3.10: - resolution: {integrity: sha512-Rh5li9vA9MF9Gkg85CbFABKTa3uoSAByILRNGb92u/vswDd561gBg2p1UW1ZauvDWWwRxPcbACK5zv3BR+gHnQ==} + /happy-dom@14.4.0: + resolution: {integrity: sha512-H/vV0+/rGhdQeKGjvMVE4X0/pHNmymEnyGvo0nx9TYfo5DwByOqrnOpLRsepwROEkM0vi1ddw9yJW3sBzwzK1A==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -7512,7 +7517,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.3 + '@types/node': 20.12.4 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7523,7 +7528,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7531,7 +7536,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -11619,7 +11624,7 @@ packages: vite: 5.2.8(@types/node@20.12.3) dev: false - /vite-node@1.0.2(@types/node@20.12.3): + /vite-node@1.0.2(@types/node@20.12.4): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11628,7 +11633,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) transitivePeerDependencies: - '@types/node' - less @@ -11659,6 +11664,27 @@ packages: - sugarss - supports-color - terser + dev: true + + /vite-node@1.4.0(@types/node@20.12.4): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.8(@types/node@20.12.4) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.8)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} @@ -11704,7 +11730,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.3 - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11792,10 +11818,45 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vite@5.2.8(@types/node@20.12.4): + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.12.4 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.14.0 + optionalDependencies: + fsevents: 2.3.3 + + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.3.10)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11813,7 +11874,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.12.3)(happy-dom@14.3.10): + /vitest@1.0.2(@types/node@20.12.4)(happy-dom@14.4.0): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11838,7 +11899,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11849,7 +11910,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.10 + happy-dom: 14.4.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11858,8 +11919,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.3) - vite-node: 1.0.2(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) + vite-node: 1.0.2(@types/node@20.12.4) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11871,7 +11932,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.12.3)(happy-dom@14.3.10): + /vitest@1.4.0(@types/node@20.12.3)(happy-dom@14.4.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11906,7 +11967,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.3.10 + happy-dom: 14.4.0 local-pkg: 0.5.0 magic-string: 0.30.8 pathe: 1.1.2 @@ -11928,6 +11989,63 @@ packages: - terser dev: true + /vitest@1.4.0(@types/node@20.12.4)(happy-dom@14.4.0): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.12.4 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + happy-dom: 14.4.0 + local-pkg: 0.5.0 + magic-string: 0.30.8 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + tinybench: 2.5.1 + tinypool: 0.8.2 + vite: 5.2.8(@types/node@20.12.4) + vite-node: 1.4.0(@types/node@20.12.4) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} From bb65d91ae72f72fbf67fb28810e9c0a3a4d9c108 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 17:02:35 +0100 Subject: [PATCH 414/470] chore(deps): update dependency magic-string to ^0.30.9 (main) (#26641) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 64 +++++++++++++++++------------------ 5 files changed, 36 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index b90045935e..1c8d81fd52 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "nuxt": "workspace:*", "vite": "5.2.8", "vue": "3.4.21", - "magic-string": "^0.30.8" + "magic-string": "^0.30.9" }, "devDependencies": { "@eslint/eslintrc": "3.0.2", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index dc2fdc339f..26c6b8aedc 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -87,7 +87,7 @@ "jiti": "^1.21.0", "klona": "^2.0.6", "knitwork": "^1.1.0", - "magic-string": "^0.30.8", + "magic-string": "^0.30.9", "mlly": "^1.6.1", "nitropack": "^2.9.6", "nuxi": "^3.11.1", diff --git a/packages/vite/package.json b/packages/vite/package.json index ce50c6443e..35074f4a4c 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -49,7 +49,7 @@ "get-port-please": "^3.1.2", "h3": "^1.11.1", "knitwork": "^1.1.0", - "magic-string": "^0.30.8", + "magic-string": "^0.30.9", "mlly": "^1.6.1", "ohash": "^1.1.3", "pathe": "^1.1.2", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 55ec467f11..d4045a5529 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -41,7 +41,7 @@ "h3": "^1.11.1", "hash-sum": "^2.0.0", "lodash-es": "4.17.21", - "magic-string": "^0.30.8", + "magic-string": "^0.30.9", "memfs": "^4.8.1", "mini-css-extract-plugin": "^2.8.1", "mlly": "^1.6.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3fd5f7a367..e40c8a21e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ overrides: nuxt: workspace:* vite: 5.2.8 vue: 3.4.21 - magic-string: ^0.30.8 + magic-string: ^0.30.9 importers: @@ -333,8 +333,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 magic-string: - specifier: ^0.30.8 - version: 0.30.8 + specifier: ^0.30.9 + version: 0.30.9 mlly: specifier: ^1.6.1 version: 1.6.1 @@ -608,8 +608,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 magic-string: - specifier: ^0.30.8 - version: 0.30.8 + specifier: ^0.30.9 + version: 0.30.9 mlly: specifier: ^1.6.1 version: 1.6.1 @@ -729,8 +729,8 @@ importers: specifier: 4.17.21 version: 4.17.21 magic-string: - specifier: ^0.30.8 - version: 0.30.8 + specifier: ^0.30.9 + version: 0.30.9 memfs: specifier: ^4.8.1 version: 4.8.1 @@ -2409,7 +2409,7 @@ packages: h3: 1.11.1 happy-dom: 14.4.0 local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.9 node-fetch-native: 1.6.4 ofetch: 1.3.4 pathe: 1.1.2 @@ -2641,7 +2641,7 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.8 + magic-string: 0.30.9 rollup: 4.14.0 /@rollup/plugin-inject@5.0.5(rollup@4.14.0): @@ -2655,7 +2655,7 @@ packages: dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.14.0) estree-walker: 2.0.2 - magic-string: 0.30.8 + magic-string: 0.30.9 rollup: 4.14.0 /@rollup/plugin-json@6.1.0(rollup@4.14.0): @@ -2697,7 +2697,7 @@ packages: optional: true dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.14.0) - magic-string: 0.30.8 + magic-string: 0.30.9 rollup: 4.14.0 /@rollup/plugin-terser@0.4.4(rollup@4.14.0): @@ -3453,7 +3453,7 @@ packages: colorette: 2.0.20 consola: 3.2.3 fast-glob: 3.3.2 - magic-string: 0.30.8 + magic-string: 0.30.9 pathe: 1.1.2 perfect-debounce: 1.0.0 transitivePeerDependencies: @@ -3498,7 +3498,7 @@ packages: '@unocss/rule-utils': 0.58.6 css-tree: 2.3.1 fast-glob: 3.3.2 - magic-string: 0.30.8 + magic-string: 0.30.9 postcss: 8.4.38 dev: false @@ -3572,7 +3572,7 @@ packages: engines: {node: '>=14'} dependencies: '@unocss/core': 0.58.6 - magic-string: 0.30.8 + magic-string: 0.30.9 dev: false /@unocss/scope@0.58.6: @@ -3630,7 +3630,7 @@ packages: '@unocss/transformer-directives': 0.58.6 chokidar: 3.6.0 fast-glob: 3.3.2 - magic-string: 0.30.8 + magic-string: 0.30.9 vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - rollup @@ -3694,7 +3694,7 @@ packages: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.4 istanbul-reports: 3.1.6 - magic-string: 0.30.8 + magic-string: 0.30.9 magicast: 0.3.3 picocolors: 1.0.0 std-env: 3.7.0 @@ -3741,7 +3741,7 @@ packages: /@vitest/snapshot@1.0.2: resolution: {integrity: sha512-9ClDz2/aV5TfWA4reV7XR9p+hE0e7bifhwxlURugj3Fw0YXeTFzHmKCNEHd6wOIFMfthbGGwhlq7TOJ2jDO4/g==} dependencies: - magic-string: 0.30.8 + magic-string: 0.30.9 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -3749,7 +3749,7 @@ packages: /@vitest/snapshot@1.4.0: resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} dependencies: - magic-string: 0.30.8 + magic-string: 0.30.9 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -3876,7 +3876,7 @@ packages: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 estree-walker: 2.0.2 - magic-string: 0.30.8 + magic-string: 0.30.9 postcss: 8.4.38 source-map-js: 1.2.0 @@ -7836,11 +7836,11 @@ packages: resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} engines: {node: '>=16.14.0'} dependencies: - magic-string: 0.30.8 + magic-string: 0.30.9 dev: false - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + /magic-string@0.30.9: + resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -8685,7 +8685,7 @@ packages: klona: 2.0.6 knitwork: 1.1.0 listhen: 1.7.2 - magic-string: 0.30.8 + magic-string: 0.30.9 mime: 4.0.1 mlly: 1.6.1 mri: 1.2.0 @@ -10263,7 +10263,7 @@ packages: rollup: ^4.14.0 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.8 + magic-string: 0.30.9 rollup: 4.14.0 typescript: 5.4.3 optionalDependencies: @@ -11201,7 +11201,7 @@ packages: globby: 13.2.2 hookable: 5.5.3 jiti: 1.21.0 - magic-string: 0.30.8 + magic-string: 0.30.9 mkdist: 1.3.0(typescript@5.4.3) mlly: 1.6.1 pathe: 1.1.2 @@ -11234,7 +11234,7 @@ packages: dependencies: acorn: 8.11.3 estree-walker: 3.0.3 - magic-string: 0.30.8 + magic-string: 0.30.9 unplugin: 1.10.1 /undici-types@5.26.5: @@ -11294,7 +11294,7 @@ packages: estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.9 mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 @@ -11525,7 +11525,7 @@ packages: resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==} dependencies: knitwork: 1.1.0 - magic-string: 0.30.8 + magic-string: 0.30.9 mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 @@ -11777,7 +11777,7 @@ packages: '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 - magic-string: 0.30.8 + magic-string: 0.30.9 vite: 5.2.8(@types/node@20.12.3) transitivePeerDependencies: - supports-color @@ -11912,7 +11912,7 @@ packages: execa: 8.0.1 happy-dom: 14.4.0 local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.9 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 @@ -11969,7 +11969,7 @@ packages: execa: 8.0.1 happy-dom: 14.4.0 local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.9 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 @@ -12026,7 +12026,7 @@ packages: execa: 8.0.1 happy-dom: 14.4.0 local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.9 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 From c5fe9ea8389fe3cd97d5f6c582f44ae8a83a5daf Mon Sep 17 00:00:00 2001 From: Nikita <118117345+nikitadmitr@users.noreply.github.com> Date: Thu, 4 Apr 2024 19:02:52 +0300 Subject: [PATCH 415/470] docs: add missing comma (#26644) --- docs/2.guide/3.going-further/8.custom-routing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/2.guide/3.going-further/8.custom-routing.md b/docs/2.guide/3.going-further/8.custom-routing.md index 3d88d20c03..b3e408c2a3 100644 --- a/docs/2.guide/3.going-further/8.custom-routing.md +++ b/docs/2.guide/3.going-further/8.custom-routing.md @@ -105,7 +105,7 @@ export default defineNuxtConfig({ const resolver = createResolver(import.meta.url) // add a route files.push({ - path: resolver.resolve('./runtime/app/router-options') + path: resolver.resolve('./runtime/app/router-options'), optional: true }) } From 3c90aaf8e21955cf0644df2e0b09e3e33441e8e2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 17:04:48 +0100 Subject: [PATCH 416/470] v3.11.2 --- packages/kit/package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index 4993f6a6b0..ad6605f47c 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/kit", - "version": "3.11.1", + "version": "3.11.2", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 26c6b8aedc..44c67ce05d 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "3.11.1", + "version": "3.11.2", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/schema/package.json b/packages/schema/package.json index 275993b10a..3b0a0209a7 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/schema", - "version": "3.11.1", + "version": "3.11.2", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/vite/package.json b/packages/vite/package.json index 35074f4a4c..a8ce75dd3d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vite-builder", - "version": "3.11.1", + "version": "3.11.2", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index d4045a5529..0d0d00d5cf 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/webpack-builder", - "version": "3.11.1", + "version": "3.11.2", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", From ee608cea2cc71416b3996dc965f5ec911dc24647 Mon Sep 17 00:00:00 2001 From: Anthony Fu <anthonyfu117@hotmail.com> Date: Fri, 5 Apr 2024 17:36:52 +0200 Subject: [PATCH 417/470] chore: update `moduleResolution` to `Bundler` (#26658) --- packages/nuxt/package.json | 2 +- packages/nuxt/src/core/nitro.ts | 1 - packages/nuxt/src/core/runtime/nitro/error.ts | 2 - packages/schema/package.json | 2 +- pnpm-lock.yaml | 390 ++++++++---------- test/bundle.test.ts | 2 +- tsconfig.json | 2 +- 7 files changed, 174 insertions(+), 227 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 44c67ce05d..589acd95d9 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -64,7 +64,7 @@ "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.3", - "@nuxt/ui-templates": "^1.3.2", + "@nuxt/ui-templates": "^1.3.3", "@nuxt/vite-builder": "workspace:*", "@unhead/dom": "^1.9.4", "@unhead/ssr": "^1.9.4", diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 5f35fc145f..96a36dd181 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -14,7 +14,6 @@ import fsExtra from 'fs-extra' import { dynamicEventHandler } from 'h3' import { isWindows } from 'std-env' import type { Nuxt, NuxtOptions, RuntimeConfig } from 'nuxt/schema' -// @ts-expect-error TODO: add legacy type support for subpath imports import { template as defaultSpaLoadingTemplate } from '@nuxt/ui-templates/templates/spa-loading-icon.mjs' import { version as nuxtVersion } from '../../package.json' import { distDir } from '../dirs' diff --git a/packages/nuxt/src/core/runtime/nitro/error.ts b/packages/nuxt/src/core/runtime/nitro/error.ts index ebb7addc8f..731699e94d 100644 --- a/packages/nuxt/src/core/runtime/nitro/error.ts +++ b/packages/nuxt/src/core/runtime/nitro/error.ts @@ -67,9 +67,7 @@ export default <NitroErrorHandler> async function errorhandler (error: H3Error, // Fallback to static rendered error page if (!res) { const { template } = import.meta.dev - // @ts-expect-error TODO: add legacy type support for subpath imports ? await import('@nuxt/ui-templates/templates/error-dev.mjs') - // @ts-expect-error TODO: add legacy type support for subpath imports : await import('@nuxt/ui-templates/templates/error-500.mjs') if (import.meta.dev) { // TODO: Support `message` in template diff --git a/packages/schema/package.json b/packages/schema/package.json index 3b0a0209a7..2b5b85f195 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -62,7 +62,7 @@ "webpack-dev-middleware": "7.2.1" }, "dependencies": { - "@nuxt/ui-templates": "^1.3.2", + "@nuxt/ui-templates": "^1.3.3", "consola": "^3.2.3", "defu": "^6.1.4", "hookable": "^5.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e40c8a21e8..0e8b2b31ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -232,7 +232,7 @@ importers: version: 2.9.6 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.3) + version: 2.0.0(typescript@5.4.4) vite: specifier: 5.2.8 version: 5.2.8(@types/node@20.12.4) @@ -261,14 +261,14 @@ importers: specifier: ^2.5.3 version: 2.5.3 '@nuxt/ui-templates': - specifier: ^1.3.2 - version: 1.3.2 + specifier: ^1.3.3 + version: 1.3.3 '@nuxt/vite-builder': specifier: workspace:* version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.12.3 + version: 20.12.4 '@unhead/dom': specifier: ^1.9.4 version: 1.9.4 @@ -406,7 +406,7 @@ importers: version: 1.4.2 vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -431,19 +431,19 @@ importers: version: 5.0.4(vite@5.2.8)(vue@3.4.21) unbuild: specifier: latest - version: 2.0.0(typescript@5.4.3) + version: 2.0.0(typescript@5.4.4) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.3) + version: 5.2.8(@types/node@20.12.4) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.3)(happy-dom@14.4.0) + version: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) packages/schema: dependencies: '@nuxt/ui-templates': - specifier: ^1.3.2 - version: 1.3.2 + specifier: ^1.3.3 + version: 1.3.3 consola: specifier: ^3.2.3 version: 3.2.3 @@ -504,7 +504,7 @@ importers: version: 3.4.21 '@vue/language-core': specifier: 2.0.7 - version: 2.0.7(typescript@5.4.3) + version: 2.0.7(typescript@5.4.4) c12: specifier: 1.10.0 version: 1.10.0 @@ -525,7 +525,7 @@ importers: version: 1.3.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.3) + version: 2.0.0(typescript@5.4.4) unctx: specifier: 2.3.1 version: 2.3.1 @@ -537,7 +537,7 @@ importers: version: 5.2.8(@types/node@20.12.4) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) vue-bundle-renderer: specifier: 2.0.0 version: 2.0.0 @@ -654,7 +654,7 @@ importers: version: 1.4.0(@types/node@20.12.4) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.8)(vue-tsc@2.0.7) + version: 0.6.4(eslint@8.57.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -673,10 +673,10 @@ importers: version: 11.0.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.3) + version: 2.0.0(typescript@5.4.4) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) packages/webpack: dependencies: @@ -715,7 +715,7 @@ importers: version: 6.2.0(webpack@5.91.0) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.4.3)(webpack@5.91.0) + version: 9.0.2(typescript@5.4.4)(webpack@5.91.0) fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -760,7 +760,7 @@ importers: version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.38)(typescript@5.4.3)(webpack@5.91.0) + version: 8.1.1(postcss@8.4.38)(typescript@5.4.4)(webpack@5.91.0) postcss-url: specifier: ^10.1.3 version: 10.1.3(postcss@8.4.38) @@ -833,10 +833,10 @@ importers: version: 0.4.2 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.3) + version: 2.0.0(typescript@5.4.4) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) playground: dependencies: @@ -916,11 +916,11 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) devDependencies: typescript: specifier: latest - version: 5.4.3 + version: 5.4.4 packages: @@ -2214,7 +2214,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) dev: false /@nuxt/devtools-wizard@1.1.5: @@ -2275,7 +2275,7 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.14.0) - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.8) vite-plugin-vue-inspector: 4.0.2(vite@5.2.8) which: 3.0.1 @@ -2310,11 +2310,11 @@ packages: eslint: ^8.48.0 dependencies: '@rushstack/eslint-patch': 1.5.1 - '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 eslint-plugin-vue: 9.17.0(eslint@8.57.0) - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true @@ -2428,8 +2428,8 @@ packages: vue-router: 4.3.0(vue@3.4.21) dev: true - /@nuxt/ui-templates@1.3.2: - resolution: {integrity: sha512-aLHpV7Nj2cAHM2hPtwOtT2OIeOy4p6GN5qvNm6zBt6wke33t1jn0PR/FNwvKROIxM0xTAwB6jdmRJLXRPVGNhA==} + /@nuxt/ui-templates@1.3.3: + resolution: {integrity: sha512-3BG5doAREcD50dbKyXgmjD4b1GzY8CUy3T41jMhHZXNDdaNwOd31IBq+D6dV00OSrDVhzrTVj0IxsUsnMyHvIQ==} dev: false /@nuxtjs/mdc@0.5.0: @@ -2858,28 +2858,28 @@ packages: shiki: 1.1.2 dev: true - /@shikijs/twoslash@1.1.6(typescript@5.4.3): + /@shikijs/twoslash@1.1.6(typescript@5.4.4): resolution: {integrity: sha512-0HJK7Il7HevTpRvpPlnJ0ow8UyoQxhvxQ0/lhfw1C0xW/7eLtSAtZfSKdel5Nch6HgbbtfucEzuUFmRIRXUFUg==} dependencies: '@shikijs/core': 1.1.6 - twoslash: 0.2.4(typescript@5.4.3) + twoslash: 0.2.4(typescript@5.4.4) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.3): + /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.4): resolution: {integrity: sha512-OpOu/KszoEIm/pdTMmnFW+cPKj+Vw8Jut4CLivqdwgHysTdMUphyG/nuaYcpVZfCQBu6JLfQ6izgkYrefiKzXQ==} dependencies: - '@shikijs/twoslash': 1.1.6(typescript@5.4.3) + '@shikijs/twoslash': 1.1.6(typescript@5.4.4) floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.4.3) - twoslash-vue: 0.2.4(typescript@5.4.3) - vue: 3.4.21(typescript@5.4.3) + twoslash: 0.2.4(typescript@5.4.4) + twoslash-vue: 0.2.4(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.4) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -3044,7 +3044,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.12.3 + '@types/node': 20.12.4 dev: true /@types/hash-sum@1.0.2: @@ -3116,11 +3116,6 @@ packages: '@types/node': 20.12.4 dev: true - /@types/node@20.12.3: - resolution: {integrity: sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw==} - dependencies: - undici-types: 5.26.5 - /@types/node@20.12.4: resolution: {integrity: sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==} dependencies: @@ -3144,7 +3139,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3183,7 +3178,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 tapable: 2.2.1 webpack: 5.91.0 transitivePeerDependencies: @@ -3242,7 +3237,7 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3256,8 +3251,8 @@ packages: '@eslint-community/regexpp': 4.9.1 '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/type-utils': 6.8.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/visitor-keys': 6.8.0 debug: 4.3.4 eslint: 8.57.0 @@ -3265,8 +3260,8 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.3(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true @@ -3300,7 +3295,7 @@ packages: '@typescript-eslint/visitor-keys': 6.8.0 dev: true - /@typescript-eslint/type-utils@6.8.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/type-utils@6.8.0(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3310,12 +3305,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.3) - '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.4) + '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.4) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.3(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true @@ -3346,7 +3341,28 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/typescript-estree@6.8.0(typescript@5.4.4): + resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/visitor-keys': 6.8.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.0 + ts-api-utils: 1.0.3(typescript@5.4.4) + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.8.0(eslint@8.57.0)(typescript@5.4.4): resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3357,7 +3373,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.8.0 '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.4) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -3419,7 +3435,7 @@ packages: '@unhead/shared': 1.9.4 hookable: 5.5.3 unhead: 1.9.4 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) dev: false /@unocss/astro@0.58.6(rollup@4.14.0)(vite@5.2.8): @@ -3433,7 +3449,7 @@ packages: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) transitivePeerDependencies: - rollup dev: false @@ -3631,7 +3647,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) transitivePeerDependencies: - rollup dev: false @@ -3668,7 +3684,7 @@ packages: '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) vite: 5.2.8(@types/node@20.12.4) - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) transitivePeerDependencies: - supports-color @@ -3679,8 +3695,8 @@ packages: vite: 5.2.8 vue: 3.4.21 dependencies: - vite: 5.2.8(@types/node@20.12.3) - vue: 3.4.21(typescript@5.4.3) + vite: 5.2.8(@types/node@20.12.4) + vue: 3.4.21(typescript@5.4.4) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} @@ -3826,7 +3842,7 @@ packages: ast-kit: 0.11.3(rollup@4.14.0) local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) transitivePeerDependencies: - rollup dev: false @@ -3900,7 +3916,7 @@ packages: '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) perfect-debounce: 1.0.0 splitpanes: 3.1.5 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21) transitivePeerDependencies: - '@unocss/reset' @@ -3945,7 +3961,7 @@ packages: mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) dev: false /@vue/devtools-shared@7.0.25: @@ -3970,7 +3986,7 @@ packages: floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.8) - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -3986,7 +4002,7 @@ packages: - universal-cookie dev: false - /@vue/language-core@1.8.27(typescript@5.4.3): + /@vue/language-core@1.8.27(typescript@5.4.4): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' @@ -4002,7 +4018,7 @@ packages: minimatch: 9.0.3 muggle-string: 0.3.1 path-browserify: 1.0.1 - typescript: 5.4.3 + typescript: 5.4.4 vue-template-compiler: 2.7.14 dev: true @@ -4023,6 +4039,24 @@ packages: typescript: 5.4.3 vue-template-compiler: 2.7.14 + /@vue/language-core@2.0.7(typescript@5.4.4): + resolution: {integrity: sha512-Vh1yZX3XmYjn9yYLkjU8DN6L0ceBtEcapqiyclHne8guG84IaTzqtvizZB1Yfxm3h6m7EIvjerLO5fvOZO6IIQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 2.1.3 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.3 + path-browserify: 1.0.1 + typescript: 5.4.4 + vue-template-compiler: 2.7.14 + dev: true + /@vue/reactivity@3.4.21: resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} dependencies: @@ -4048,7 +4082,7 @@ packages: dependencies: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} @@ -5097,7 +5131,7 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cosmiconfig@8.3.6(typescript@5.4.3): + /cosmiconfig@8.3.6(typescript@5.4.4): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -5110,10 +5144,10 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.4.3 + typescript: 5.4.4 dev: false - /cosmiconfig@9.0.0(typescript@5.4.3): + /cosmiconfig@9.0.0(typescript@5.4.4): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -5126,7 +5160,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.4.3 + typescript: 5.4.4 dev: false /crc-32@1.2.2: @@ -6456,7 +6490,7 @@ packages: dependencies: '@floating-ui/dom': 1.1.1 '@nuxt/kit': link:packages/kit - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) vue-resize: 2.0.0-alpha.1(vue@3.4.21) /focus-trap@7.5.4: @@ -6478,7 +6512,7 @@ packages: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.3)(webpack@5.91.0): + /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.4)(webpack@5.91.0): resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -6488,7 +6522,7 @@ packages: '@babel/code-frame': 7.24.2 chalk: 4.1.2 chokidar: 3.6.0 - cosmiconfig: 8.3.6(typescript@5.4.3) + cosmiconfig: 8.3.6(typescript@5.4.4) deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 @@ -6497,7 +6531,7 @@ packages: schema-utils: 3.3.0 semver: 7.6.0 tapable: 2.2.1 - typescript: 5.4.3 + typescript: 5.4.4 webpack: 5.91.0 dev: false @@ -8557,7 +8591,7 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdist@1.3.0(typescript@5.4.3): + /mkdist@1.3.0(typescript@5.4.4): resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} hasBin: true peerDependencies: @@ -8578,7 +8612,7 @@ packages: mlly: 1.6.1 mri: 1.2.0 pathe: 1.1.2 - typescript: 5.4.3 + typescript: 5.4.4 dev: true /mlly@1.6.1: @@ -8948,7 +8982,7 @@ packages: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema '@nuxtjs/mdc': 0.5.0 - '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.3) + '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.4) cac: 6.7.14 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -8956,8 +8990,8 @@ packages: picocolors: 1.0.0 remark-parse: 11.0.0 shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.4.3) - typescript: 5.4.3 + twoslash: 0.2.4(typescript@5.4.4) + typescript: 5.4.4 unified: 11.0.4 unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -9420,7 +9454,7 @@ packages: resolve: 1.22.8 dev: false - /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.3)(webpack@5.91.0): + /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.4)(webpack@5.91.0): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -9433,7 +9467,7 @@ packages: webpack: optional: true dependencies: - cosmiconfig: 9.0.0(typescript@5.4.3) + cosmiconfig: 9.0.0(typescript@5.4.4) jiti: 1.21.0 postcss: 8.4.38 semver: 7.6.0 @@ -10256,7 +10290,7 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.14.0)(typescript@5.4.3): + /rollup-plugin-dts@6.1.0(rollup@4.14.0)(typescript@5.4.4): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: @@ -10265,7 +10299,7 @@ packages: dependencies: magic-string: 0.30.9 rollup: 4.14.0 - typescript: 5.4.3 + typescript: 5.4.4 optionalDependencies: '@babel/code-frame': 7.24.2 dev: true @@ -11029,6 +11063,15 @@ packages: typescript: 5.4.3 dev: true + /ts-api-utils@1.0.3(typescript@5.4.4): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.4 + dev: true + /tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: @@ -11056,27 +11099,27 @@ packages: resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==} dev: true - /twoslash-vue@0.2.4(typescript@5.4.3): + /twoslash-vue@0.2.4(typescript@5.4.4): resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==} peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.27(typescript@5.4.3) - twoslash: 0.2.4(typescript@5.4.3) + '@vue/language-core': 1.8.27(typescript@5.4.4) + twoslash: 0.2.4(typescript@5.4.4) twoslash-protocol: 0.2.4 - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /twoslash@0.2.4(typescript@5.4.3): + /twoslash@0.2.4(typescript@5.4.4): resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==} peerDependencies: typescript: '*' dependencies: '@typescript/vfs': 1.5.0 twoslash-protocol: 0.2.4 - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true @@ -11158,6 +11201,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + /typescript@5.4.4: + resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + engines: {node: '>=14.17'} + hasBin: true + /uc.micro@2.0.0: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: true @@ -11178,7 +11226,7 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unbuild@2.0.0(typescript@5.4.3): + /unbuild@2.0.0(typescript@5.4.4): resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} hasBin: true peerDependencies: @@ -11202,15 +11250,15 @@ packages: hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.9 - mkdist: 1.3.0(typescript@5.4.3) + mkdist: 1.3.0(typescript@5.4.4) mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 rollup: 4.14.0 - rollup-plugin-dts: 6.1.0(rollup@4.14.0)(typescript@5.4.3) + rollup-plugin-dts: 6.1.0(rollup@4.14.0)(typescript@5.4.4) scule: 1.3.0 - typescript: 5.4.3 + typescript: 5.4.4 untyped: 1.4.2 transitivePeerDependencies: - sass @@ -11393,7 +11441,7 @@ packages: '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) transitivePeerDependencies: - postcss - rollup @@ -11621,7 +11669,7 @@ packages: peerDependencies: vite: 5.2.8 dependencies: - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) dev: false /vite-node@1.0.2(@types/node@20.12.4): @@ -11645,27 +11693,6 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.12.3): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.3) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@1.4.0(@types/node@20.12.4): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11686,7 +11713,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.3)(vite@5.2.8)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11729,7 +11756,7 @@ packages: semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - typescript: 5.4.3 + typescript: 5.4.4 vite: 5.2.8(@types/node@20.12.4) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 @@ -11758,7 +11785,7 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) transitivePeerDependencies: - rollup - supports-color @@ -11778,46 +11805,11 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.3) + vite: 5.2.8(@types/node@20.12.4) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.8(@types/node@20.12.3): - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.12.3 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.14.0 - optionalDependencies: - fsevents: 2.3.3 - /vite@5.2.8(@types/node@20.12.4): resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11932,63 +11924,6 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.12.3)(happy-dom@14.4.0): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.12.3 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - happy-dom: 14.4.0 - local-pkg: 0.5.0 - magic-string: 0.30.9 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - tinybench: 2.5.1 - tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.3) - vite-node: 1.4.0(@types/node@20.12.3) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vitest@1.4.0(@types/node@20.12.4)(happy-dom@14.4.0): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -12112,7 +12047,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) dev: false /vue-devtools-stub@0.1.0: @@ -12152,7 +12087,7 @@ packages: '@vue/compiler-sfc': 3.4.21 chalk: 4.1.2 hash-sum: 2.0.0 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) watchpack: 2.4.1 webpack: 5.91.0 @@ -12161,7 +12096,7 @@ packages: peerDependencies: vue: 3.4.21 dependencies: - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) dev: false /vue-resize@2.0.0-alpha.1(vue@3.4.21): @@ -12169,7 +12104,7 @@ packages: peerDependencies: vue: 3.4.21 dependencies: - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) /vue-router@4.3.0(vue@3.4.21): resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} @@ -12177,7 +12112,7 @@ packages: vue: 3.4.21 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -12202,7 +12137,7 @@ packages: vue: 3.4.21 dependencies: mitt: 2.1.0 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21) vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: false @@ -12222,6 +12157,21 @@ packages: '@vue/shared': 3.4.21 typescript: 5.4.3 + /vue@3.4.21(typescript@5.4.4): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + typescript: 5.4.4 + /watchpack@2.4.1: resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} engines: {node: '>=10.13.0'} diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 5ed2a5ab48..9a23fc6f83 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -72,7 +72,7 @@ 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('"527k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"529k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.6k"') diff --git a/tsconfig.json b/tsconfig.json index f5885e1223..db885122b4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,7 @@ "skipLibCheck": true, "target": "ESNext", "module": "ESNext", - "moduleResolution": "Node", + "moduleResolution": "Bundler", "strict": true, "noImplicitAny": true, "allowJs": true, From f209158352b09d1986aa320e29ff36353b91c358 Mon Sep 17 00:00:00 2001 From: Anthony Fu <anthonyfu117@hotmail.com> Date: Fri, 5 Apr 2024 20:08:32 +0200 Subject: [PATCH 418/470] chore: cleanup eslint rules with latest `@nuxt/eslint-config` (#26653) --- .gitignore | 2 + eslint.config.mjs | 447 ++++---- nuxt.config.ts | 6 +- package.json | 14 +- packages/kit/build.config.ts | 6 +- packages/kit/src/build.ts | 4 +- packages/kit/src/compatibility.ts | 6 +- packages/kit/src/components.ts | 2 +- packages/kit/src/ignore.test.ts | 6 +- packages/kit/src/index.ts | 2 +- packages/kit/src/internal/cjs.ts | 4 +- packages/kit/src/internal/template.ts | 2 +- packages/kit/src/layout.ts | 6 +- packages/kit/src/loader/config.ts | 6 +- packages/kit/src/loader/nuxt.ts | 4 +- packages/kit/src/module/compatibility.test.ts | 26 +- packages/kit/src/module/compatibility.ts | 4 +- packages/kit/src/module/define.ts | 10 +- packages/kit/src/module/install.ts | 2 +- packages/kit/src/nitro.ts | 2 +- packages/kit/src/resolve.ts | 2 +- packages/kit/src/template.ts | 18 +- packages/kit/test/generate-types.spec.ts | 8 +- packages/kit/test/load-nuxt-config.bench.ts | 2 +- packages/nuxt/build.config.ts | 12 +- packages/nuxt/config.cjs | 3 +- packages/nuxt/config.d.ts | 1 + packages/nuxt/src/app/compat/capi.ts | 1 - packages/nuxt/src/app/compat/idle-callback.ts | 2 +- packages/nuxt/src/app/compat/interval.ts | 2 +- .../app/components/client-fallback.client.ts | 16 +- .../app/components/client-fallback.server.ts | 20 +- .../nuxt/src/app/components/client-only.ts | 4 +- packages/nuxt/src/app/components/dev-only.ts | 2 +- .../src/app/components/island-renderer.ts | 8 +- .../src/app/components/nuxt-error-boundary.ts | 4 +- .../src/app/components/nuxt-error-page.vue | 4 +- .../nuxt/src/app/components/nuxt-island.ts | 32 +- .../nuxt/src/app/components/nuxt-layout.ts | 37 +- packages/nuxt/src/app/components/nuxt-link.ts | 50 +- .../app/components/nuxt-loading-indicator.ts | 22 +- .../nuxt/src/app/components/nuxt-stubs.ts | 6 +- .../nuxt-teleport-island-component.ts | 20 +- .../components/nuxt-teleport-island-slot.ts | 20 +- .../nuxt/src/app/components/route-provider.ts | 10 +- .../src/app/components/server-placeholder.ts | 2 +- .../app/components/test-component-wrapper.ts | 6 +- packages/nuxt/src/app/components/utils.ts | 7 +- .../nuxt/src/app/composables/asyncData.ts | 30 +- .../nuxt/src/app/composables/component.ts | 4 +- packages/nuxt/src/app/composables/cookie.ts | 4 +- packages/nuxt/src/app/composables/error.ts | 16 +- packages/nuxt/src/app/composables/fetch.ts | 18 +- packages/nuxt/src/app/composables/index.ts | 2 +- .../src/app/composables/loading-indicator.ts | 2 +- packages/nuxt/src/app/composables/manifest.ts | 2 +- packages/nuxt/src/app/composables/payload.ts | 10 +- packages/nuxt/src/app/composables/preload.ts | 2 +- packages/nuxt/src/app/composables/preview.ts | 10 +- packages/nuxt/src/app/composables/router.ts | 11 +- packages/nuxt/src/app/composables/state.ts | 8 +- packages/nuxt/src/app/entry.ts | 2 +- packages/nuxt/src/app/index.ts | 4 +- packages/nuxt/src/app/nuxt.ts | 13 +- .../src/app/plugins/check-if-layout-used.ts | 4 +- .../src/app/plugins/chunk-reload.client.ts | 2 +- .../plugins/cross-origin-prefetch.client.ts | 14 +- packages/nuxt/src/app/plugins/debug.ts | 2 +- .../nuxt/src/app/plugins/dev-server-logs.ts | 6 +- .../nuxt/src/app/plugins/payload.client.ts | 2 +- .../nuxt/src/app/plugins/preload.server.ts | 4 +- .../src/app/plugins/restore-state.client.ts | 4 +- .../src/app/plugins/revive-payload.client.ts | 10 +- .../src/app/plugins/revive-payload.server.ts | 4 +- packages/nuxt/src/app/plugins/router.ts | 26 +- packages/nuxt/src/app/types.ts | 2 - .../src/components/client-fallback-auto-id.ts | 7 +- .../nuxt/src/components/islandsTransform.ts | 15 +- packages/nuxt/src/components/loader.ts | 4 +- packages/nuxt/src/components/module.ts | 50 +- .../components/runtime/client-component.ts | 6 +- .../components/runtime/server-component.ts | 14 +- packages/nuxt/src/components/scan.ts | 6 +- packages/nuxt/src/components/templates.ts | 20 +- packages/nuxt/src/components/transform.ts | 32 +- packages/nuxt/src/components/tree-shake.ts | 16 +- packages/nuxt/src/core/app.ts | 16 +- packages/nuxt/src/core/builder.ts | 10 +- .../nuxt/src/core/external-config-files.ts | 12 +- packages/nuxt/src/core/features.ts | 4 +- packages/nuxt/src/core/modules.ts | 2 +- packages/nuxt/src/core/nitro.ts | 100 +- packages/nuxt/src/core/nuxt.ts | 80 +- .../nuxt/src/core/plugins/async-context.ts | 4 +- packages/nuxt/src/core/plugins/dev-only.ts | 4 +- .../src/core/plugins/import-protection.ts | 10 +- .../nuxt/src/core/plugins/layer-aliasing.ts | 10 +- .../nuxt/src/core/plugins/plugin-metadata.ts | 21 +- .../src/core/plugins/resolve-deep-imports.ts | 4 +- packages/nuxt/src/core/plugins/tree-shake.ts | 4 +- packages/nuxt/src/core/plugins/unctx.ts | 4 +- .../src/core/runtime/nitro/cache-driver.ts | 4 +- .../src/core/runtime/nitro/dev-server-logs.ts | 4 +- packages/nuxt/src/core/runtime/nitro/error.ts | 8 +- .../nuxt/src/core/runtime/nitro/renderer.ts | 102 +- packages/nuxt/src/core/schema.ts | 28 +- packages/nuxt/src/core/templates.ts | 72 +- packages/nuxt/src/head/module.ts | 14 +- packages/nuxt/src/head/runtime/components.ts | 81 +- .../nuxt/src/head/runtime/plugins/unhead.ts | 6 +- .../runtime/plugins/vueuse-head-polyfill.ts | 2 +- packages/nuxt/src/imports/module.ts | 24 +- packages/nuxt/src/imports/presets.ts | 68 +- packages/nuxt/src/imports/transform.ts | 4 +- packages/nuxt/src/pages/module.ts | 64 +- packages/nuxt/src/pages/plugins/page-meta.ts | 16 +- .../nuxt/src/pages/plugins/route-injection.ts | 4 +- packages/nuxt/src/pages/route-rules.ts | 4 +- .../nuxt/src/pages/runtime/composables.ts | 2 +- .../src/pages/runtime/page-placeholder.ts | 2 +- packages/nuxt/src/pages/runtime/page.ts | 28 +- .../runtime/plugins/check-if-page-unused.ts | 6 +- .../pages/runtime/plugins/prefetch.client.ts | 2 +- .../nuxt/src/pages/runtime/plugins/router.ts | 22 +- .../nuxt/src/pages/runtime/router.options.ts | 4 +- packages/nuxt/src/pages/runtime/validate.ts | 4 +- packages/nuxt/src/pages/utils.ts | 18 +- packages/nuxt/test/app.test.ts | 16 +- packages/nuxt/test/auto-imports.test.ts | 7 +- .../nuxt/test/components-transform.test.ts | 14 +- packages/nuxt/test/devonly.test.ts | 1 + .../components/client/ComponentWithProps.vue | 2 +- packages/nuxt/test/import-protection.test.ts | 8 +- packages/nuxt/test/islandTransform.test.ts | 6 +- packages/nuxt/test/load-nuxt.bench.ts | 4 +- packages/nuxt/test/load-nuxt.test.ts | 6 +- packages/nuxt/test/naming.test.ts | 4 +- packages/nuxt/test/nuxt-link.test.ts | 26 +- packages/nuxt/test/pages.test.ts | 288 ++--- packages/nuxt/test/plugin-metadata.test.ts | 24 +- packages/nuxt/test/scan-components.test.ts | 58 +- packages/nuxt/test/treeshake-client.test.ts | 50 +- packages/nuxt/types.d.mts | 2 +- packages/schema/build.config.ts | 12 +- packages/schema/src/config/adhoc.ts | 6 +- packages/schema/src/config/app.ts | 36 +- packages/schema/src/config/build.ts | 50 +- packages/schema/src/config/common.ts | 58 +- packages/schema/src/config/dev.ts | 4 +- packages/schema/src/config/experimental.ts | 28 +- packages/schema/src/config/generate.ts | 4 +- packages/schema/src/config/index.ts | 2 +- packages/schema/src/config/internal.ts | 2 +- packages/schema/src/config/nitro.ts | 8 +- packages/schema/src/config/postcss.ts | 8 +- packages/schema/src/config/router.ts | 6 +- packages/schema/src/config/typescript.ts | 10 +- packages/schema/src/config/vite.ts | 60 +- packages/schema/src/config/webpack.ts | 52 +- packages/schema/src/types/builder-env/vite.ts | 10 +- packages/schema/src/types/config.ts | 41 +- packages/schema/src/types/nuxt.ts | 2 +- packages/vite/build.config.ts | 8 +- packages/vite/src/client.ts | 46 +- packages/vite/src/css.ts | 8 +- packages/vite/src/dev-bundler.ts | 20 +- packages/vite/src/manifest.ts | 6 +- packages/vite/src/plugins/analyze.ts | 6 +- packages/vite/src/plugins/chunk-error.ts | 4 +- packages/vite/src/plugins/composable-keys.ts | 12 +- packages/vite/src/plugins/dev-ssr-css.ts | 2 +- packages/vite/src/plugins/paths.ts | 4 +- packages/vite/src/plugins/public-dirs.ts | 8 +- packages/vite/src/plugins/ssr-styles.ts | 26 +- packages/vite/src/plugins/type-check.ts | 4 +- packages/vite/src/plugins/virtual.ts | 4 +- .../vite/src/runtime/vite-node-shared.mjs | 2 +- packages/vite/src/runtime/vite-node.mjs | 13 +- packages/vite/src/server.ts | 42 +- packages/vite/src/utils/external.ts | 8 +- packages/vite/src/utils/logger.ts | 6 +- packages/vite/src/utils/warmup.ts | 2 +- packages/vite/src/utils/wpfs.ts | 2 +- packages/vite/src/vite-node.ts | 26 +- packages/vite/src/vite.ts | 46 +- packages/vite/test/composable-keys.test.ts | 2 +- packages/webpack/build.config.ts | 8 +- packages/webpack/src/configs/client.ts | 14 +- packages/webpack/src/configs/server.ts | 10 +- packages/webpack/src/plugins/chunk.ts | 4 +- packages/webpack/src/plugins/dynamic-base.ts | 6 +- packages/webpack/src/plugins/vue/client.ts | 6 +- packages/webpack/src/plugins/vue/server.ts | 14 +- packages/webpack/src/plugins/vue/util.ts | 2 +- packages/webpack/src/presets/assets.ts | 20 +- packages/webpack/src/presets/base.ts | 40 +- packages/webpack/src/presets/esbuild.ts | 12 +- packages/webpack/src/presets/node.ts | 10 +- packages/webpack/src/presets/nuxt.ts | 2 +- packages/webpack/src/presets/pug.ts | 14 +- packages/webpack/src/presets/style.ts | 24 +- packages/webpack/src/presets/vue.ts | 8 +- packages/webpack/src/utils/config.ts | 2 +- packages/webpack/src/utils/postcss.ts | 12 +- packages/webpack/src/webpack.ts | 8 +- playground/nuxt.config.ts | 2 +- pnpm-lock.yaml | 989 ++++++++---------- scripts/_utils.ts | 16 +- scripts/bump-edge.ts | 4 +- scripts/update-changelog.ts | 16 +- test/basic.test.ts | 132 +-- test/bundle.test.ts | 4 +- test/fixtures/basic-types/app.config.ts | 4 +- .../basic-types/components/WithTypes.vue | 2 +- .../basic-types/extends/bar/app.config.ts | 2 +- .../extends/bar/pages/override.vue | 2 +- .../basic-types/middleware/global.global.ts | 2 +- .../modules/auto-registered/index.ts | 6 +- test/fixtures/basic-types/modules/example.ts | 8 +- .../basic-types/modules/page-extend.ts | 6 +- .../basic-types/modules/runtime/page.vue | 2 +- .../basic-types/modules/test/index.ts | 4 +- test/fixtures/basic-types/nuxt.config.ts | 42 +- test/fixtures/basic-types/nuxt.schema.ts | 4 +- .../basic-types/pages/custom-name.vue | 4 +- .../fixtures/basic-types/plugins/injection.ts | 4 +- .../basic-types/server/api/hey/index.get.ts | 2 +- .../basic-types/server/api/hey/index.post.ts | 2 +- test/fixtures/basic-types/server/api/union.ts | 2 +- test/fixtures/basic-types/types.ts | 50 +- test/fixtures/basic/app.config.ts | 4 +- .../basic/components/BreaksServer.client.ts | 2 +- .../components/ClientOnlyScript.client.vue | 6 +- .../basic/components/FunctionalComponent.ts | 2 +- .../basic/components/Nested/Counter.vue | 4 +- test/fixtures/basic/components/Tsx.tsx | 14 +- .../basic/components/client/Binding.client.ts | 4 +- .../client/MultiRootNodeScript.client.vue | 2 +- .../basic/components/client/Script.client.vue | 8 +- .../client/StringChildStateful.client.vue | 2 +- .../StringChildStatefulScript.client.vue | 4 +- .../components/clientFallback/NonStateful.vue | 2 +- .../components/clientFallback/Stateful.vue | 4 +- .../components/islands/LongAsyncComponent.vue | 1 + .../components/islands/PureComponent.vue | 2 +- .../basic/composables/async-context.ts | 2 +- test/fixtures/basic/error.vue | 3 +- test/fixtures/basic/extends/bar/app.config.ts | 2 +- .../basic/extends/bar/app/router.options.ts | 2 +- .../fixtures/basic/extends/bar/nuxt.config.ts | 2 +- .../basic/extends/bar/pages/override.vue | 2 +- test/fixtures/basic/layouts/custom.vue | 2 +- test/fixtures/basic/layouts/custom2.vue | 2 +- test/fixtures/basic/layouts/with-props.vue | 2 +- .../fixtures/basic/middleware/abort.global.ts | 2 +- .../basic/modules/auto-registered/index.ts | 10 +- test/fixtures/basic/modules/example.ts | 6 +- test/fixtures/basic/modules/functional.ts | 2 +- .../basic/modules/import-components/index.ts | 16 +- .../import-components/runtime/components.ts | 4 +- .../modules/lazy-import-components/index.ts | 10 +- .../runtime/components.ts | 2 +- .../basic/modules/page-extend/index.ts | 10 +- .../modules/page-extend/pages/big-page.vue | 2 +- test/fixtures/basic/modules/runtime/page.vue | 2 +- test/fixtures/basic/modules/subpath/module.ts | 2 +- test/fixtures/basic/modules/test/index.ts | 4 +- test/fixtures/basic/nuxt.config.ts | 78 +- .../other-components-folder/named-export.ts | 2 +- test/fixtures/basic/pages/[...slug].vue | 2 +- test/fixtures/basic/pages/async-parent.vue | 2 +- .../basic/pages/async-parent/child.vue | 2 +- test/fixtures/basic/pages/auth.vue | 2 +- test/fixtures/basic/pages/chunk-error.vue | 2 +- .../pages/client-only-page/index.client.vue | 2 +- test/fixtures/basic/pages/cookies.vue | 2 +- .../pages/fixed-keyed-child-parent/[foo].vue | 2 +- .../basic/pages/head-script-setup.vue | 22 +- test/fixtures/basic/pages/head.vue | 14 +- .../fixtures/basic/pages/hydration/layout.vue | 4 +- .../pages/hydration/spa-redirection/start.vue | 2 +- test/fixtures/basic/pages/index.vue | 4 +- test/fixtures/basic/pages/instance/error.vue | 2 +- test/fixtures/basic/pages/internal-layout.vue | 2 +- .../basic/pages/invalid-root/fine.vue | 2 +- test/fixtures/basic/pages/islands.vue | 2 +- .../basic/pages/keyed-child-parent/[foo].vue | 2 +- .../basic/pages/keyed-composables/index.vue | 2 +- .../basic/pages/keyed-composables/local.vue | 4 +- .../basic/pages/layout-switch/start.vue | 2 +- .../basic/pages/layouts/with-props.vue | 2 +- .../basic/pages/legacy-async-data-fail.vue | 2 +- .../basic/pages/legacy/async-data.vue | 4 +- .../basic/pages/legacy/async-data/index.vue | 4 +- .../pages/legacy/async-data/index/index.vue | 4 +- .../pages/middleware-abort-non-fatal.vue | 4 +- .../fixtures/basic/pages/middleware-abort.vue | 4 +- .../basic/pages/navigate-to-error.vue | 2 +- .../basic/pages/navigate-to-forbidden.vue | 2 +- .../basic/pages/navigate-to-redirect.vue | 2 +- test/fixtures/basic/pages/no-auth.vue | 2 +- .../basic/pages/nuxt-link/trailing-slash.vue | 6 +- .../pages/preview/with-custom-enable.vue | 2 +- .../basic/pages/preview/with-custom-state.vue | 2 +- .../basic/pages/preview/with-use-fetch.vue | 4 +- test/fixtures/basic/pages/redirect.vue | 2 +- .../basic/pages/route-rules/inline.vue | 4 +- test/fixtures/basic/pages/suspense.vue | 2 +- test/fixtures/basic/pages/vueuse-head.vue | 4 +- .../basic/pages/with-computed-layout.vue | 2 +- .../basic/pages/with-dynamic-layout.vue | 2 +- test/fixtures/basic/pages/with-layout.vue | 2 +- test/fixtures/basic/pages/with-layout2.vue | 2 +- .../basic/pages/wrapper-expose/layout.vue | 2 +- .../pages/wrapper-expose/page/another.vue | 2 +- .../basic/pages/wrapper-expose/page/index.vue | 2 +- test/fixtures/basic/plugins/add-route.ts | 2 +- test/fixtures/basic/plugins/async-plugin.ts | 6 +- test/fixtures/basic/plugins/context-error.ts | 4 +- .../plugins/custom-type-assertion.client.ts | 2 +- .../fixtures/basic/plugins/dependsOnPlugin.ts | 2 +- test/fixtures/basic/plugins/my-plugin.ts | 6 +- test/fixtures/basic/plugins/register.ts | 2 +- .../basic/plugins/server-only.server.ts | 4 +- test/fixtures/basic/server/api/app-config.ts | 2 +- .../fixtures/basic/server/api/auto-imports.ts | 2 +- .../basic/server/api/hey/index.get.ts | 2 +- .../basic/server/api/hey/index.post.ts | 2 +- test/fixtures/basic/server/api/preview.ts | 2 +- test/fixtures/basic/server/api/union.ts | 2 +- test/fixtures/minimal-types/nuxt.config.ts | 2 +- test/fixtures/minimal-types/types.ts | 8 +- test/fixtures/minimal/app.vue | 2 +- test/fixtures/minimal/nuxt.config.ts | 18 +- test/fixtures/remote-provider/index.ts | 5 +- .../components/Helloworld.vue | 2 +- .../runtime-compiler/components/Name.ts | 6 +- .../components/ShowTemplate.vue | 16 +- test/fixtures/runtime-compiler/nuxt.config.ts | 6 +- .../fixtures/runtime-compiler/pages/index.vue | 14 +- .../server/api/full-component.get.ts | 2 +- test/fixtures/suspense/nuxt.config.ts | 6 +- test/hmr.test.ts | 22 +- test/mocks/nuxt-config.ts | 2 +- test/nuxt/client.test.ts | 6 +- test/nuxt/composables.test.ts | 24 +- test/nuxt/nuxt-island.test.ts | 74 +- test/nuxt/plugin.test.ts | 52 +- test/prepare.ts | 6 +- test/runtime-compiler.test.ts | 5 +- test/setup-env.ts | 2 +- test/setup-runtime.ts | 10 +- test/setup.ts | 2 +- test/suspense.test.ts | 6 +- test/utils.ts | 12 +- vitest.config.ts | 14 +- vitest.nuxt.config.ts | 20 +- 357 files changed, 2713 insertions(+), 2952 deletions(-) diff --git a/.gitignore b/.gitignore index 35388c4fd2..815f0415e7 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,5 @@ Temporary Items fixtures-temp .pnpm-store +eslint-typegen.d.ts +.eslintcache diff --git a/eslint.config.mjs b/eslint.config.mjs index 9287eddea3..48a0090600 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,280 +1,215 @@ -// Configs -// import standard from "eslint-config-standard" -// import nuxt from '@nuxt/eslint-config' - -// Plugins -import path from 'node:path' -import { fileURLToPath } from 'node:url' -import jsdoc from 'eslint-plugin-jsdoc' -import esImport from 'eslint-plugin-import' -import unicorn from 'eslint-plugin-unicorn' +// @ts-check +import { createConfigForNuxt } from '@nuxt/eslint-config/flat' +// @ts-expect-error missing types import noOnlyTests from 'eslint-plugin-no-only-tests' +import typegen from 'eslint-typegen' +// @ts-expect-error missing types +import perfectionist from 'eslint-plugin-perfectionist' -/** - * eslintrc compatibility - * @see https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config - * @see https://github.com/eslint/eslintrc#usage-esm - */ -import { FlatCompat } from '@eslint/eslintrc' -import js from '@eslint/js' - -const __filename = fileURLToPath(import.meta.url) -const __dirname = path.dirname(__filename) - -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended +export default createConfigForNuxt({ + features: { + stylistic: { + commaDangle: 'always-multiline', + }, + tooling: true, + }, }) - -// TODO: Type definition? -export default [ - { - ignores: [ - '**/dist/**', - '**/.nuxt/**', - '**/.nuxt-*/**', - '**/.output/**', - '**/.output-*/**', - '**/public/**', - '**/node_modules/**', - 'packages/schema/schema', - - // TODO: remove when fully migrated to flat config - '**/*.d.mts' - ] - }, - // standard, - ...compat.extends('eslint-config-standard'), - jsdoc.configs['flat/recommended'], - // nuxt, - ...compat.extends('@nuxt/eslint-config'), - esImport.configs.typescript, - { - rules: { - 'import/export': 'off' - } - }, - { - files: ['**/*.vue', '**/*.ts', '**/*.mts', '**/*.js', '**/*.cjs', '**/*.mjs'], - languageOptions: { - globals: { - NodeJS: 'readonly', - $fetch: 'readonly' - } + .prepend( + { + // Ignores have to be a separate object to be treated as global ignores + // Don't add other attributes to this object + ignores: [ + 'packages/schema/schema/**', + ], }, - plugins: { - jsdoc, - import: esImport, - unicorn, - 'no-only-tests': noOnlyTests + { + languageOptions: { + globals: { + $fetch: 'readonly', + NodeJS: 'readonly', + }, + }, + name: 'local/settings', + settings: { + jsdoc: { + ignoreInternal: true, + tagNamePreference: { + note: 'note', + warning: 'warning', + }, + }, + }, }, + ) + + .override('nuxt/javascript', { rules: { - // Imports should come first - 'import/first': 'error', - // Other import rules - 'import/no-mutable-exports': 'error', - // Allow unresolved imports - 'import/no-unresolved': 'off', - // Allow paren-less arrow functions only when there's no braces - 'arrow-parens': ['error', 'as-needed', { requireForBlockBody: true }], - // Allow async-await - 'generator-star-spacing': 'off', - // Prefer const over let - 'prefer-const': ['error', { destructuring: 'any', ignoreReadBeforeAssign: false }], - // No single if in an "else" block - 'no-lonely-if': 'error', - // Force curly braces for control flow, - // including if blocks with a single statement - curly: ['error', 'all'], - // No async function without await - 'require-await': 'error', - // Force dot notation when possible + 'curly': ['error', 'all'], // Including if blocks with a single statement 'dot-notation': 'error', - - 'no-var': 'error', - // Force object shorthand where possible - 'object-shorthand': 'error', - // No useless destructuring/importing/exporting renames - 'no-useless-rename': 'error', - /**********************/ - /* Unicorn Rules */ - /**********************/ - // Pass error message when throwing errors - 'unicorn/error-message': 'error', - // Uppercase regex escapes - 'unicorn/escape-case': 'error', - // Array.isArray instead of instanceof - 'unicorn/no-array-instanceof': 'error', - // Prevent deprecated `new Buffer()` - 'unicorn/no-new-buffer': 'error', - // Keep regex literals safe! - 'unicorn/no-unsafe-regex': 'off', - // Lowercase number formatting for octal, hex, binary (0x12 instead of 0X12) - 'unicorn/number-literal-case': 'error', - // ** instead of Math.pow() - 'unicorn/prefer-exponentiation-operator': 'error', - // includes over indexOf when checking for existence - 'unicorn/prefer-includes': 'error', - // String methods startsWith/endsWith instead of more complicated stuff - 'unicorn/prefer-starts-ends-with': 'error', - // textContent instead of innerText - 'unicorn/prefer-text-content': 'error', - // Enforce throwing type error when throwing error while checking typeof - 'unicorn/prefer-type-error': 'error', - // Use new when throwing error - 'unicorn/throw-new-error': 'error', - 'sort-imports': [ - 'error', - { - ignoreDeclarationSort: true - } - ], - 'no-only-tests/no-only-tests': 'error', - 'unicorn/prefer-node-protocol': 'error', 'no-console': ['warn', { allow: ['warn', 'error', 'debug'] }], - 'vue/one-component-per-file': 'off', - 'vue/require-default-prop': 'off', + 'no-lonely-if': 'error', // No single if in an "else" block + 'no-useless-rename': 'error', + 'object-shorthand': 'error', + 'prefer-const': ['error', { destructuring: 'any', ignoreReadBeforeAssign: false }], + 'require-await': 'error', + 'sort-imports': ['error', { ignoreDeclarationSort: true }], + }, + }) - // Vue stylistic rules from `@antfu/eslint-config` - 'vue/array-bracket-spacing': ['error', 'never'], - 'vue/arrow-spacing': ['error', { after: true, before: true }], - 'vue/block-spacing': ['error', 'always'], - 'vue/block-tag-newline': [ - 'error', - { - multiline: 'always', - singleline: 'always' - } - ], - 'vue/brace-style': ['error', 'stroustrup', { allowSingleLine: true }], - 'vue/comma-dangle': ['error', 'always-multiline'], - 'vue/comma-spacing': ['error', { after: true, before: false }], - 'vue/comma-style': ['error', 'last'], - 'vue/html-comment-content-spacing': [ - 'error', - 'always', - { - exceptions: ['-'] - } - ], - 'vue/key-spacing': ['error', { afterColon: true, beforeColon: false }], - 'vue/keyword-spacing': ['error', { after: true, before: true }], - 'vue/object-curly-newline': 'off', - 'vue/object-curly-spacing': ['error', 'always'], - 'vue/object-property-newline': [ - 'error', - { allowMultiplePropertiesPerLine: true } - ], - 'vue/operator-linebreak': ['error', 'before'], - 'vue/padding-line-between-blocks': ['error', 'always'], - 'vue/quote-props': ['error', 'consistent-as-needed'], - 'vue/space-in-parens': ['error', 'never'], - 'vue/template-curly-spacing': 'error', - - 'jsdoc/require-jsdoc': 'off', - 'jsdoc/require-param': 'off', - 'jsdoc/require-returns': 'off', - 'jsdoc/require-param-type': 'off', - 'import/order': [ - 'error', - { - pathGroups: [ - { - pattern: '#vue-router', - group: 'external' - } - ] - } - ], - 'import/no-restricted-paths': [ - 'error', - { - zones: [ - { - from: 'packages/nuxt/src/!(core)/**/*', - target: 'packages/nuxt/src/core', - message: 'core should not directly import from modules.' - }, - { - from: 'packages/nuxt/src/!(app)/**/*', - target: 'packages/nuxt/src/app', - message: 'app should not directly import from modules.' - }, - { - from: 'packages/nuxt/src/app/**/index.ts', - target: 'packages/nuxt/src', - message: 'should not import from barrel/index files' - }, - { - from: 'packages/nitro', - target: 'packages/!(nitro)/**/*', - message: 'nitro should not directly import other packages.' - } - ] - } - ], - '@typescript-eslint/consistent-type-imports': [ - 'error', - { - disallowTypeAnnotations: false - } - ], + .override('nuxt/typescript/rules', { + rules: { '@typescript-eslint/ban-ts-comment': [ 'error', { 'ts-expect-error': 'allow-with-description', - 'ts-ignore': true - } + 'ts-ignore': true, + }, ], - '@typescript-eslint/prefer-ts-expect-error': 'error', + '@typescript-eslint/no-dynamic-delete': 'off', '@typescript-eslint/no-unused-vars': [ 'error', { argsIgnorePattern: '^_', + ignoreRestSiblings: true, varsIgnorePattern: '^_', - ignoreRestSiblings: true - } + }, ], - 'jsdoc/check-tag-names': [ - 'error', - { - definedTags: ['__NO_SIDE_EFFECTS__'] - } - ] + '@typescript-eslint/triple-slash-reference': 'off', + '@typescript-eslint/unified-signatures': 'off', + ...{ + // TODO: Discuss if we want to enable this + '@typescript-eslint/ban-types': 'off', + // TODO: Discuss if we want to enable this + '@typescript-eslint/no-explicit-any': 'off', + // TODO: Discuss if we want to enable this + '@typescript-eslint/no-invalid-void-type': 'off', + }, }, - settings: { - jsdoc: { - ignoreInternal: true, - tagNamePreference: { - warning: 'warning', - note: 'note' - } - } - } - }, - { - files: ['packages/schema/**'], + }) + + .override('nuxt/tooling/unicorn', { rules: { - 'jsdoc/valid-types': 'off', - 'jsdoc/check-tag-names': [ - 'error', - { - definedTags: ['experimental'] - } - ] - } - }, - { - files: ['packages/nuxt/src/app/**', 'test/**', '**/runtime/**', '**/*.test.ts'], + 'unicorn/no-new-array': 'off', + 'unicorn/prefer-dom-node-text-content': 'off', + }, + }) + + .override('nuxt/vue/rules', { rules: { - 'no-console': 'off' - } - }, - { - files: ['test/fixtures/**'], + + }, + }) + + // Stylistic rules + .override('nuxt/stylistic', { rules: { - '@typescript-eslint/no-unused-vars': 'off', - 'vue/valid-v-for': 'off' - } - } -] + '@stylistic/brace-style': ['error', '1tbs', { allowSingleLine: true }], + '@stylistic/indent-binary-ops': 'off', + '@stylistic/max-statements-per-line': 'off', + '@stylistic/operator-linebreak': 'off', + '@stylistic/quote-props': ['error', 'consistent'], + '@stylistic/space-before-function-paren': ['error', 'always'], + }, + }) + + // Append local rules + .append( + { + files: ['**/*.vue', '**/*.ts', '**/*.mts', '**/*.js', '**/*.cjs', '**/*.mjs'], + name: 'local/rules', + rules: { + 'import/no-restricted-paths': [ + 'error', + { + zones: [ + { + from: 'packages/nuxt/src/!(core)/**/*', + message: 'core should not directly import from modules.', + target: 'packages/nuxt/src/core', + }, + { + from: 'packages/nuxt/src/!(app)/**/*', + message: 'app should not directly import from modules.', + target: 'packages/nuxt/src/app', + }, + { + from: 'packages/nuxt/src/app/**/index.ts', + message: 'should not import from barrel/index files', + target: 'packages/nuxt/src', + }, + { + from: 'packages/nitro', + message: 'nitro should not directly import other packages.', + target: 'packages/!(nitro)/**/*', + }, + ], + }, + ], + 'import/order': [ + 'error', + { + pathGroups: [ + { + group: 'external', + pattern: '#vue-router', + }, + ], + }, + ], + 'jsdoc/check-tag-names': [ + 'error', + { + definedTags: [ + 'experimental', + '__NO_SIDE_EFFECTS__', + ], + }, + ], + }, + }, + { + files: ['packages/nuxt/src/app/**', 'test/**', '**/runtime/**', '**/*.test.ts'], + name: 'local/disables/client-console', + rules: { + 'no-console': 'off', + }, + }, + { + files: ['**/fixtures/**', '**/fixture/**'], + name: 'local/disables/fixtures', + rules: { + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/triple-slash-reference': 'off', + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-for': 'off', + }, + }, + { + files: ['test/**', '**/*.test.ts'], + name: 'local/disables/tests', + plugins: { + 'no-only-tests': noOnlyTests, + }, + rules: { + '@typescript-eslint/no-explicit-any': 'off', + 'no-console': 'off', + 'no-only-tests/no-only-tests': 'error', + }, + }, + // Sort rule keys in eslint config + { + files: ['**/eslint.config.mjs'], + name: 'local/sort-eslint-config', + plugins: { + perfectionist, + }, + rules: { + 'perfectionist/sort-objects': 'error', + }, + }, + ) + + // Generate type definitions for the eslint config + .onResolved((configs) => { + return typegen(configs) + }) diff --git a/nuxt.config.ts b/nuxt.config.ts index cae1734649..694788ebb0 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -9,8 +9,8 @@ export default defineNuxtConfig({ function () { addPluginTemplate({ filename: 'plugins/my-plugin.mjs', - getContents: () => 'export default defineNuxtPlugin({ name: \'my-plugin\' })' + getContents: () => 'export default defineNuxtPlugin({ name: \'my-plugin\' })', }) - } - ] + }, + ], }) diff --git a/package.json b/package.json index 1c8d81fd52..9ed413920a 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "cleanup": "rimraf 'packages/**/node_modules' 'playground/node_modules' 'node_modules'", "dev": "pnpm play", "dev:prepare": "pnpm --filter './packages/**' prepack --stub", - "lint": "eslint .", - "lint:fix": "eslint . --fix", + "lint": "eslint . --cache", + "lint:fix": "eslint . --cache --fix", "lint:docs": "markdownlint ./docs && case-police 'docs/**/*.md' *.md", "lint:docs:fix": "markdownlint ./docs --fix && case-police 'docs/**/*.md' *.md --fix", "lint:knip": "pnpx knip", @@ -44,13 +44,13 @@ "magic-string": "^0.30.9" }, "devDependencies": { - "@eslint/eslintrc": "3.0.2", "@eslint/js": "8.57.0", - "@nuxt/eslint-config": "0.2.0", + "@nuxt/eslint-config": "0.3.0", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", + "@types/eslint__js": "^8.42.3", "@types/fs-extra": "11.0.4", "@types/node": "20.12.4", "@types/semver": "7.5.8", @@ -61,11 +61,9 @@ "consola": "3.2.3", "devalue": "4.3.2", "eslint": "8.57.0", - "eslint-config-standard": "17.1.0", - "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "48.2.2", "eslint-plugin-no-only-tests": "3.1.0", - "eslint-plugin-unicorn": "52.0.0", + "eslint-plugin-perfectionist": "^2.8.0", + "eslint-typegen": "^0.2.0", "execa": "8.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", diff --git a/packages/kit/build.config.ts b/packages/kit/build.config.ts index a2f84767f8..10db295927 100644 --- a/packages/kit/build.config.ts +++ b/packages/kit/build.config.ts @@ -3,14 +3,14 @@ import { defineBuildConfig } from 'unbuild' export default defineBuildConfig({ declaration: true, entries: [ - 'src/index' + 'src/index', ], externals: [ '@nuxt/schema', 'nitropack', 'webpack', 'vite', - 'h3' + 'h3', ], - failOnWarn: false + failOnWarn: false, }) diff --git a/packages/kit/src/build.ts b/packages/kit/src/build.ts index 92c066eb2d..0a186f63b7 100644 --- a/packages/kit/src/build.ts +++ b/packages/kit/src/build.ts @@ -42,7 +42,7 @@ export interface ExtendViteConfigOptions extends ExtendConfigOptions {} */ export function extendWebpackConfig ( fn: ((config: WebpackConfig) => void), - options: ExtendWebpackConfigOptions = {} + options: ExtendWebpackConfigOptions = {}, ) { const nuxt = useNuxt() @@ -74,7 +74,7 @@ export function extendWebpackConfig ( */ export function extendViteConfig ( fn: ((config: ViteConfig) => void), - options: ExtendViteConfigOptions = {} + options: ExtendViteConfigOptions = {}, ) { const nuxt = useNuxt() diff --git a/packages/kit/src/compatibility.ts b/packages/kit/src/compatibility.ts index d3d6e55875..77f33180c6 100644 --- a/packages/kit/src/compatibility.ts +++ b/packages/kit/src/compatibility.ts @@ -18,7 +18,7 @@ export async function checkNuxtCompatibility (constraints: NuxtCompatibility, nu if (!satisfies(normalizeSemanticVersion(nuxtVersion), constraints.nuxt, { includePrerelease: true })) { issues.push({ name: 'nuxt', - message: `Nuxt version \`${constraints.nuxt}\` is required but currently using \`${nuxtVersion}\`` + message: `Nuxt version \`${constraints.nuxt}\` is required but currently using \`${nuxtVersion}\``, }) } } @@ -30,12 +30,12 @@ export async function checkNuxtCompatibility (constraints: NuxtCompatibility, nu if (bridgeRequirement === true && !hasBridge) { issues.push({ name: 'bridge', - message: 'Nuxt bridge is required' + message: 'Nuxt bridge is required', }) } else if (bridgeRequirement === false && hasBridge) { issues.push({ name: 'bridge', - message: 'Nuxt bridge is not supported' + message: 'Nuxt bridge is not supported', }) } } diff --git a/packages/kit/src/components.ts b/packages/kit/src/components.ts index 410f2feae4..49bc6d91e2 100644 --- a/packages/kit/src/components.ts +++ b/packages/kit/src/components.ts @@ -49,7 +49,7 @@ export async function addComponent (opts: AddComponentOptions) { shortPath: opts.filePath, priority: 0, meta: {}, - ...opts + ...opts, } nuxt.hook('components:extend', (components: Component[]) => { diff --git a/packages/kit/src/ignore.test.ts b/packages/kit/src/ignore.test.ts index a37b65c82c..d19933a65e 100644 --- a/packages/kit/src/ignore.test.ts +++ b/packages/kit/src/ignore.test.ts @@ -5,7 +5,7 @@ describe('resolveGroupSyntax', () => { it('should resolve single group syntax', () => { expect(resolveGroupSyntax('**/*.{spec}.{js,ts}')).toStrictEqual([ '**/*.spec.js', - '**/*.spec.ts' + '**/*.spec.ts', ]) }) @@ -14,13 +14,13 @@ describe('resolveGroupSyntax', () => { '**/*.spec.js', '**/*.spec.ts', '**/*.test.js', - '**/*.test.ts' + '**/*.test.ts', ]) }) it('should do nothing with normal globs', () => { expect(resolveGroupSyntax('**/*.spec.js')).toStrictEqual([ - '**/*.spec.js' + '**/*.spec.js', ]) }) }) diff --git a/packages/kit/src/index.ts b/packages/kit/src/index.ts index 9f70bb4bfc..fb2350660f 100644 --- a/packages/kit/src/index.ts +++ b/packages/kit/src/index.ts @@ -30,7 +30,7 @@ export { requireModule, importModule, tryImportModule, - tryRequireModule + tryRequireModule, } from './internal/cjs' export type { ResolveModuleOptions, RequireModuleOptions } from './internal/cjs' export { tryResolveModule } from './internal/esm' diff --git a/packages/kit/src/internal/cjs.ts b/packages/kit/src/internal/cjs.ts index 0b9b2d1d2b..7e30acfec7 100644 --- a/packages/kit/src/internal/cjs.ts +++ b/packages/kit/src/internal/cjs.ts @@ -66,14 +66,14 @@ export function getModulePaths (paths?: string[] | string) { global.__NUXT_PREPATHS__, paths || [], process.cwd(), - global.__NUXT_PATHS__ + global.__NUXT_PATHS__, ).filter(Boolean) as string[] } /** @deprecated Do not use CJS utils */ export function resolveModule (id: string, opts: ResolveModuleOptions = {}) { return normalize(_require.resolve(id, { - paths: getModulePaths(opts.paths) + paths: getModulePaths(opts.paths), })) } diff --git a/packages/kit/src/internal/template.ts b/packages/kit/src/internal/template.ts index 1831e6a854..9349f704df 100644 --- a/packages/kit/src/internal/template.ts +++ b/packages/kit/src/internal/template.ts @@ -9,7 +9,7 @@ import { toArray } from '../utils' /** @deprecated */ // TODO: Remove support for compiling ejs templates in v4 -export async function compileTemplate <T> (template: NuxtTemplate<T>, ctx: any) { +export async function compileTemplate<T> (template: NuxtTemplate<T>, ctx: any) { const data = { ...ctx, options: template.options } if (template.src) { try { diff --git a/packages/kit/src/layout.ts b/packages/kit/src/layout.ts index 91e50310c4..bf86c443c9 100644 --- a/packages/kit/src/layout.ts +++ b/packages/kit/src/layout.ts @@ -16,7 +16,7 @@ export function addLayout (this: any, template: NuxtTemplate | string, name?: st const layout = (nuxt.options as any).layouts[layoutName] if (layout) { return logger.warn( - `Not overriding \`${layoutName}\` (provided by \`${layout}\`) with \`${src || filename}\`.` + `Not overriding \`${layoutName}\` (provided by \`${layout}\`) with \`${src || filename}\`.`, ) } (nuxt.options as any).layouts[layoutName] = `./${filename}` @@ -31,12 +31,12 @@ export function addLayout (this: any, template: NuxtTemplate | string, name?: st if (layoutName in app.layouts) { const relativePath = relative(nuxt.options.srcDir, app.layouts[layoutName].file) return logger.warn( - `Not overriding \`${layoutName}\` (provided by \`~/${relativePath}\`) with \`${src || filename}\`.` + `Not overriding \`${layoutName}\` (provided by \`~/${relativePath}\`) with \`${src || filename}\`.`, ) } app.layouts[layoutName] = { file: join('#build', filename), - name: layoutName + name: layoutName, } }) } diff --git a/packages/kit/src/loader/config.ts b/packages/kit/src/loader/config.ts index a4bce4f0c4..0b30d81ffc 100644 --- a/packages/kit/src/loader/config.ts +++ b/packages/kit/src/loader/config.ts @@ -17,7 +17,7 @@ export async function loadNuxtConfig (opts: LoadNuxtConfigOptions): Promise<Nuxt extend: { extendKey: ['theme', 'extends'] }, dotenv: true, globalRc: true, - ...opts + ...opts, }) delete (globalThis as any).defineNuxtConfig const { configFile, layers = [], cwd } = result @@ -45,8 +45,8 @@ export async function loadNuxtConfig (opts: LoadNuxtConfigOptions): Promise<Nuxt cwd, config: { rootDir: cwd, - srcDir: cwd - } + srcDir: cwd, + }, }) } diff --git a/packages/kit/src/loader/nuxt.ts b/packages/kit/src/loader/nuxt.ts index ab02f1bd5b..85c4498313 100644 --- a/packages/kit/src/loader/nuxt.ts +++ b/packages/kit/src/loader/nuxt.ts @@ -33,7 +33,7 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise<Nuxt> { throw new Error(`Cannot find any nuxt version from ${opts.cwd}`) } const pkg = await readPackageJSON(nearestNuxtPkg) - const majorVersion = pkg.version ? parseInt(pkg.version.split('.')[0]) : '' + const majorVersion = pkg.version ? Number.parseInt(pkg.version.split('.')[0]) : '' const rootDir = pathToFileURL(opts.cwd || process.cwd()).href @@ -51,7 +51,7 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise<Nuxt> { for: opts.dev ? 'dev' : 'build', configOverrides: opts.overrides, ready: opts.ready, - envConfig: opts.dotenv // TODO: Backward format conversion + envConfig: opts.dotenv, // TODO: Backward format conversion }) // Mock new hookable methods diff --git a/packages/kit/src/module/compatibility.test.ts b/packages/kit/src/module/compatibility.test.ts index ce20f54f02..d298f800b9 100644 --- a/packages/kit/src/module/compatibility.test.ts +++ b/packages/kit/src/module/compatibility.test.ts @@ -10,21 +10,21 @@ describe('nuxt module compatibility', () => { modules: [ defineNuxtModule({ meta: { - name: 'nuxt-module-foo' - } + name: 'nuxt-module-foo', + }, }), [ defineNuxtModule({ meta: { - name: 'module-instance-with-options' - } + name: 'module-instance-with-options', + }, }), { - foo: 'bar' - } - ] - ] - } + foo: 'bar', + }, + ], + ], + }, }) expect(hasNuxtModule('nuxt-module-foo', nuxt)).toStrictEqual(true) expect(hasNuxtModule('module-instance-with-options', nuxt)).toStrictEqual(true) @@ -35,8 +35,8 @@ describe('nuxt module compatibility', () => { const module = defineNuxtModule({ meta: { name: 'nuxt-module-foo', - version: '1.0.0' - } + version: '1.0.0', + }, }) expect(await getNuxtModuleVersion(module, nuxt)).toEqual('1.0.0') await nuxt.close() @@ -46,8 +46,8 @@ describe('nuxt module compatibility', () => { const module = defineNuxtModule({ meta: { name: 'nuxt-module-foo', - version: '1.0.0' - } + version: '1.0.0', + }, }) expect(await hasNuxtModuleCompatibility(module, '^1.0.0', nuxt)).toStrictEqual(true) expect(await hasNuxtModuleCompatibility(module, '^2.0.0', nuxt)).toStrictEqual(false) diff --git a/packages/kit/src/module/compatibility.ts b/packages/kit/src/module/compatibility.ts index 666f4b4085..446e7e3fce 100644 --- a/packages/kit/src/module/compatibility.ts +++ b/packages/kit/src/module/compatibility.ts @@ -20,7 +20,7 @@ function resolveNuxtModuleEntryName (m: NuxtOptions['modules'][number]): string * This will check both the installed modules and the modules to be installed. Note * that it cannot detect if a module is _going to be_ installed programmatically by another module. */ -export function hasNuxtModule (moduleName: string, nuxt: Nuxt = useNuxt()) : boolean { +export function hasNuxtModule (moduleName: string, nuxt: Nuxt = useNuxt()): boolean { // check installed modules return nuxt.options._installedModules.some(({ meta }) => meta.name === moduleName) || // check modules to be installed @@ -36,7 +36,7 @@ export async function hasNuxtModuleCompatibility (module: string | NuxtModule, s return false } return satisfies(normalizeSemanticVersion(version), semverVersion, { - includePrerelease: true + includePrerelease: true, }) } diff --git a/packages/kit/src/module/define.ts b/packages/kit/src/module/define.ts index 360d1a14db..3327ca4ad5 100644 --- a/packages/kit/src/module/define.ts +++ b/packages/kit/src/module/define.ts @@ -89,8 +89,8 @@ export function defineNuxtModule<OptionsT extends ModuleOptions> (definition: Mo // Return module install result return defu(res, <ModuleSetupReturn> { timings: { - setup: setupTime - } + setup: setupTime, + }, }) } @@ -138,10 +138,10 @@ function nuxt2Shims (nuxt: Nuxt) { plugins: nuxt.options.plugins, templates: [ ...templates.templatesFiles, - ...virtualTemplates + ...virtualTemplates, ], - templateVars: templates.templateVars - } + templateVars: templates.templateVars, + }, } for await (const template of virtualTemplates) { const contents = await compileTemplate({ ...template, src: '' }, context) diff --git a/packages/kit/src/module/install.ts b/packages/kit/src/module/install.ts index fc3d97bd66..b17cee47ca 100644 --- a/packages/kit/src/module/install.ts +++ b/packages/kit/src/module/install.ts @@ -46,7 +46,7 @@ export async function installModule (moduleToInstall: string | NuxtModule, inlin nuxt.options._installedModules.push({ meta: defu(await nuxtModule.getMeta?.(), buildTimeModuleMeta), timings: res.timings, - entryPath: typeof moduleToInstall === 'string' ? resolveAlias(moduleToInstall) : undefined + entryPath: typeof moduleToInstall === 'string' ? resolveAlias(moduleToInstall) : undefined, }) } diff --git a/packages/kit/src/nitro.ts b/packages/kit/src/nitro.ts index eddcb91f14..72b3ca93f3 100644 --- a/packages/kit/src/nitro.ts +++ b/packages/kit/src/nitro.ts @@ -14,7 +14,7 @@ function normalizeHandlerMethod (handler: NitroEventHandler) { return { method, ...handler, - handler: normalize(handler.handler) + handler: normalize(handler.handler), } } diff --git a/packages/kit/src/resolve.ts b/packages/kit/src/resolve.ts index a768ba6509..bbcbba0734 100644 --- a/packages/kit/src/resolve.ts +++ b/packages/kit/src/resolve.ts @@ -127,7 +127,7 @@ export function createResolver (base: string | URL): Resolver { return { resolve: (...path) => resolve(base as string, ...path), - resolvePath: (path, opts) => resolvePath(path, { cwd: base as string, ...opts }) + resolvePath: (path, opts) => resolvePath(path, { cwd: base as string, ...opts }), } } diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index a73e7e941b..4fe428ccb9 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -119,7 +119,7 @@ export async function _generateTypes (nuxt: Nuxt) { const modulePaths = await resolveNuxtModule(rootDirWithSlash, nuxt.options._installedModules .filter(m => m.entryPath) - .map(m => getDirectory(m.entryPath)) + .map(m => getDirectory(m.entryPath)), ) const tsConfig: TSConfig = defu(nuxt.options.typescript?.tsConfig, { @@ -142,7 +142,7 @@ export async function _generateTypes (nuxt: Nuxt) { noEmit: true, resolveJsonModule: true, allowSyntheticDefaultImports: true, - paths: {} + paths: {}, }, include: [ './nuxt.d.ts', @@ -153,19 +153,19 @@ export async function _generateTypes (nuxt: Nuxt) { .filter(srcOrCwd => !srcOrCwd.startsWith(rootDirWithSlash) || srcOrCwd.includes('node_modules')) .map(srcOrCwd => join(relative(nuxt.options.buildDir, srcOrCwd), '**/*')), ...nuxt.options.typescript.includeWorkspace && nuxt.options.workspaceDir !== nuxt.options.rootDir ? [join(relative(nuxt.options.buildDir, nuxt.options.workspaceDir), '**/*')] : [], - ...modulePaths.map(m => join(relativeWithDot(nuxt.options.buildDir, m), 'runtime')) + ...modulePaths.map(m => join(relativeWithDot(nuxt.options.buildDir, m), 'runtime')), ], exclude: [ ...nuxt.options.modulesDir.map(m => relativeWithDot(nuxt.options.buildDir, m)), ...modulePaths.map(m => join(relativeWithDot(nuxt.options.buildDir, m), 'runtime/server')), // nitro generate output: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/core/nitro.ts#L186 - relativeWithDot(nuxt.options.buildDir, resolve(nuxt.options.rootDir, 'dist')) - ] + relativeWithDot(nuxt.options.buildDir, resolve(nuxt.options.rootDir, 'dist')), + ], } satisfies TSConfig) const aliases: Record<string, string> = { ...nuxt.options.alias, - '#build': nuxt.options.buildDir + '#build': nuxt.options.buildDir, } // Exclude bridge alias types to support Volar @@ -215,7 +215,7 @@ export async function _generateTypes (nuxt: Nuxt) { const references: TSReference[] = await Promise.all([ ...nuxt.options.modules, - ...nuxt.options._modules + ...nuxt.options._modules, ] .filter(f => typeof f === 'string') .map(async id => ({ types: (await readPackageJSON(id, { url: nodeModulePaths }).catch(() => null))?.name || id }))) @@ -246,12 +246,12 @@ export async function _generateTypes (nuxt: Nuxt) { ...declarations, '', 'export {}', - '' + '', ].join('\n') return { declaration, - tsConfig + tsConfig, } } diff --git a/packages/kit/test/generate-types.spec.ts b/packages/kit/test/generate-types.spec.ts index cc48e78489..7ac10ba8d1 100644 --- a/packages/kit/test/generate-types.spec.ts +++ b/packages/kit/test/generate-types.spec.ts @@ -14,7 +14,7 @@ const mockNuxt = { srcDir: '/my-app', alias: { '~': '/my-app', - 'some-custom-alias': '/my-app/some-alias' + 'some-custom-alias': '/my-app/some-alias', }, typescript: { includeWorkspace: false }, buildDir: '/my-app/.nuxt', @@ -22,9 +22,9 @@ const mockNuxt = { modules: [], _layers: [{ config: { srcDir: '/my-app' } }], _installedModules: [], - _modules: [] + _modules: [], }, - callHook: () => {} + callHook: () => {}, } satisfies DeepPartial<Nuxt> as unknown as Nuxt const mockNuxtWithOptions = (options: NuxtConfig) => defu({ options }, mockNuxt) as Nuxt @@ -49,7 +49,7 @@ describe('tsConfig generation', () => { it('should add exclude for module paths', async () => { const { tsConfig } = await _generateTypes(mockNuxtWithOptions({ - modulesDir: ['/my-app/modules/test/node_modules', '/my-app/modules/node_modules', '/my-app/node_modules/@some/module/node_modules'] + modulesDir: ['/my-app/modules/test/node_modules', '/my-app/modules/node_modules', '/my-app/node_modules/@some/module/node_modules'], })) expect(tsConfig.exclude).toMatchInlineSnapshot(` [ diff --git a/packages/kit/test/load-nuxt-config.bench.ts b/packages/kit/test/load-nuxt-config.bench.ts index bcee6a730b..ee8ff33eeb 100644 --- a/packages/kit/test/load-nuxt-config.bench.ts +++ b/packages/kit/test/load-nuxt-config.bench.ts @@ -9,7 +9,7 @@ const fixtures = { 'basic test fixture': 'test/fixtures/basic', 'basic test fixture (types)': 'test/fixtures/basic-types', 'minimal test fixture': 'test/fixtures/minimal', - 'minimal test fixture (types)': 'test/fixtures/minimal-types' + 'minimal test fixture (types)': 'test/fixtures/minimal-types', } describe('loadNuxtConfig', () => { diff --git a/packages/nuxt/build.config.ts b/packages/nuxt/build.config.ts index dfaf1d97a0..1f8a82cf20 100644 --- a/packages/nuxt/build.config.ts +++ b/packages/nuxt/build.config.ts @@ -13,23 +13,23 @@ export default defineBuildConfig({ 'core', 'head', 'components', - 'pages' - ].map(name => ({ input: `src/${name}/runtime/`, outDir: `dist/${name}/runtime`, format: 'esm', ext: 'js' } as BuildEntry)) + 'pages', + ].map(name => ({ input: `src/${name}/runtime/`, outDir: `dist/${name}/runtime`, format: 'esm', ext: 'js' } as BuildEntry)), ], hooks: { 'mkdist:entry:options' (_ctx, _entry, mkdistOptions) { mkdistOptions.addRelativeDeclarationExtensions = true - } + }, }, dependencies: [ 'nuxi', 'vue-router', - 'ofetch' + 'ofetch', ], externals: [ 'nuxt', 'nuxt/schema', '@vue/shared', - '@unhead/vue' - ] + '@unhead/vue', + ], }) diff --git a/packages/nuxt/config.cjs b/packages/nuxt/config.cjs index c21b9a6499..f4540f1290 100644 --- a/packages/nuxt/config.cjs +++ b/packages/nuxt/config.cjs @@ -1,8 +1,7 @@ -/* eslint-disable jsdoc/require-jsdoc */ function defineNuxtConfig (config) { return config } module.exports = { - defineNuxtConfig + defineNuxtConfig, } diff --git a/packages/nuxt/config.d.ts b/packages/nuxt/config.d.ts index e78965c0a3..a9272be362 100644 --- a/packages/nuxt/config.d.ts +++ b/packages/nuxt/config.d.ts @@ -1,5 +1,6 @@ import type { NuxtConfig } from 'nuxt/schema' import type { ConfigLayerMeta, DefineConfig } from 'c12' + export { NuxtConfig } from 'nuxt/schema' export interface DefineNuxtConfig extends DefineConfig<NuxtConfig, ConfigLayerMeta> {} diff --git a/packages/nuxt/src/app/compat/capi.ts b/packages/nuxt/src/app/compat/capi.ts index cd0736eeb7..2ef0b9f749 100644 --- a/packages/nuxt/src/app/compat/capi.ts +++ b/packages/nuxt/src/app/compat/capi.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/export export * from 'vue' export const install = () => {} diff --git a/packages/nuxt/src/app/compat/idle-callback.ts b/packages/nuxt/src/app/compat/idle-callback.ts index 01779dc1fe..12e01230e7 100644 --- a/packages/nuxt/src/app/compat/idle-callback.ts +++ b/packages/nuxt/src/app/compat/idle-callback.ts @@ -6,7 +6,7 @@ export const requestIdleCallback: Window['requestIdleCallback'] = import.meta.se const start = Date.now() const idleDeadline = { didTimeout: false, - timeRemaining: () => Math.max(0, 50 - (Date.now() - start)) + timeRemaining: () => Math.max(0, 50 - (Date.now() - start)), } return setTimeout(() => { cb(idleDeadline) }, 1) })) diff --git a/packages/nuxt/src/app/compat/interval.ts b/packages/nuxt/src/app/compat/interval.ts index 4251c9f9a2..36017305c1 100644 --- a/packages/nuxt/src/app/compat/interval.ts +++ b/packages/nuxt/src/app/compat/interval.ts @@ -8,7 +8,7 @@ export const setInterval = import.meta.client if (import.meta.dev) { throw createError({ statusCode: 500, - message: intervalError + message: intervalError, }) } diff --git a/packages/nuxt/src/app/components/client-fallback.client.ts b/packages/nuxt/src/app/components/client-fallback.client.ts index d1f249ba3f..f92dfb7a31 100644 --- a/packages/nuxt/src/app/components/client-fallback.client.ts +++ b/packages/nuxt/src/app/components/client-fallback.client.ts @@ -6,26 +6,26 @@ export default defineComponent({ inheritAttrs: false, props: { uid: { - type: String + type: String, }, fallbackTag: { type: String, - default: () => 'div' + default: () => 'div', }, fallback: { type: String, - default: () => '' + default: () => '', }, placeholder: { - type: String + type: String, }, placeholderTag: { - type: String + type: String, }, keepFallback: { type: Boolean, - default: () => false - } + default: () => false, + }, }, emits: ['ssr-error'], setup (props, ctx) { @@ -49,5 +49,5 @@ export default defineComponent({ } return ctx.slots.default?.() } - } + }, }) diff --git a/packages/nuxt/src/app/components/client-fallback.server.ts b/packages/nuxt/src/app/components/client-fallback.server.ts index 3b07745b38..4e8dfe864c 100644 --- a/packages/nuxt/src/app/components/client-fallback.server.ts +++ b/packages/nuxt/src/app/components/client-fallback.server.ts @@ -1,6 +1,6 @@ import { defineComponent, getCurrentInstance, onErrorCaptured, ref } from 'vue' import { ssrRenderAttrs, ssrRenderSlot, ssrRenderVNode } from 'vue/server-renderer' -// eslint-disable-next-line + import { isPromise } from '@vue/shared' import { useState } from '../composables/state' import { useNuxtApp } from '../nuxt' @@ -11,31 +11,31 @@ const NuxtClientFallbackServer = defineComponent({ inheritAttrs: false, props: { uid: { - type: String + type: String, }, fallbackTag: { type: String, - default: () => 'div' + default: () => 'div', }, fallback: { type: String, - default: () => '' + default: () => '', }, placeholder: { - type: String + type: String, }, placeholderTag: { - type: String + type: String, }, keepFallback: { type: Boolean, - default: () => false - } + default: () => false, + }, }, emits: { 'ssr-error' (_error: unknown) { return true - } + }, }, async setup (props, ctx) { const vm = getCurrentInstance() @@ -86,7 +86,7 @@ const NuxtClientFallbackServer = defineComponent({ push(ctx.ssrVNodes.getBuffer()) push('<!--]-->') } - } + }, }) export default NuxtClientFallbackServer diff --git a/packages/nuxt/src/app/components/client-only.ts b/packages/nuxt/src/app/components/client-only.ts index ec002d460d..5483dbe0c6 100644 --- a/packages/nuxt/src/app/components/client-only.ts +++ b/packages/nuxt/src/app/components/client-only.ts @@ -8,7 +8,7 @@ export const clientOnlySymbol: InjectionKey<boolean> = Symbol.for('nuxt:client-o export default defineComponent({ name: 'ClientOnly', inheritAttrs: false, - // eslint-disable-next-line vue/require-prop-types + props: ['fallback', 'placeholder', 'placeholderTag', 'fallbackTag'], setup (_, { slots, attrs }) { const mounted = ref(false) @@ -28,7 +28,7 @@ export default defineComponent({ const fallbackTag = props.fallbackTag || props.placeholderTag || 'span' return createElementBlock(fallbackTag, attrs, fallbackStr) } - } + }, }) const cache = new WeakMap() diff --git a/packages/nuxt/src/app/components/dev-only.ts b/packages/nuxt/src/app/components/dev-only.ts index 6c8ec7c5e9..a1446dd3dd 100644 --- a/packages/nuxt/src/app/components/dev-only.ts +++ b/packages/nuxt/src/app/components/dev-only.ts @@ -7,5 +7,5 @@ export default defineComponent({ return () => props.slots.default?.() } return () => props.slots.fallback?.() - } + }, }) diff --git a/packages/nuxt/src/app/components/island-renderer.ts b/packages/nuxt/src/app/components/island-renderer.ts index 6fc2fd479d..59e767f867 100644 --- a/packages/nuxt/src/app/components/island-renderer.ts +++ b/packages/nuxt/src/app/components/island-renderer.ts @@ -10,8 +10,8 @@ export default defineComponent({ props: { context: { type: Object as () => { name: string, props?: Record<string, any> }, - required: true - } + required: true, + }, }, setup (props) { const component = islandComponents[props.context.name] as ReturnType<typeof defineAsyncComponent> @@ -19,7 +19,7 @@ export default defineComponent({ if (!component) { throw createError({ statusCode: 404, - statusMessage: `Island component not found: ${props.context.name}` + statusMessage: `Island component not found: ${props.context.name}`, }) } @@ -28,5 +28,5 @@ export default defineComponent({ }) return () => createVNode(component || 'span', { ...props.context.props, 'data-island-uid': '' }) - } + }, }) diff --git a/packages/nuxt/src/app/components/nuxt-error-boundary.ts b/packages/nuxt/src/app/components/nuxt-error-boundary.ts index 77659e2c29..ea54ff8393 100644 --- a/packages/nuxt/src/app/components/nuxt-error-boundary.ts +++ b/packages/nuxt/src/app/components/nuxt-error-boundary.ts @@ -5,7 +5,7 @@ export default defineComponent({ emits: { error (_error: unknown) { return true - } + }, }, setup (_props, { slots, emit }) { const error = ref<Error | null>(null) @@ -25,5 +25,5 @@ export default defineComponent({ } return () => error.value ? slots.error?.({ error, clearError }) : slots.default?.() - } + }, }) diff --git a/packages/nuxt/src/app/components/nuxt-error-page.vue b/packages/nuxt/src/app/components/nuxt-error-page.vue index 50308e6604..1d000df300 100644 --- a/packages/nuxt/src/app/components/nuxt-error-page.vue +++ b/packages/nuxt/src/app/components/nuxt-error-page.vue @@ -6,7 +6,7 @@ import { defineAsyncComponent } from 'vue' const props = defineProps({ - error: Object + error: Object, }) // Deliberately prevent reactive update when error is cleared @@ -26,7 +26,7 @@ const stacktrace = _error.stack text, internal: (line.includes('node_modules') && !line.includes('.cache')) || line.includes('internal') || - line.includes('new Promise') + line.includes('new Promise'), } }).map(i => `<span class="stack${i.internal ? ' internal' : ''}">${i.text}</span>`).join('\n') : '' diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index efed027d50..503d3e34a8 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -48,25 +48,25 @@ export default defineComponent({ props: { name: { type: String, - required: true + required: true, }, lazy: Boolean, props: { type: Object, - default: () => undefined + default: () => undefined, }, context: { type: Object, - default: () => ({}) + default: () => ({}), }, source: { type: String, - default: () => undefined + default: () => undefined, }, dangerouslyLoadClientComponents: { type: Boolean, - default: false - } + default: false, + }, }, emits: ['error'], async setup (props, { slots, expose, emit }) { @@ -99,9 +99,9 @@ export default defineComponent({ ...(import.meta.server && import.meta.prerender) ? {} : { params: { ...props.context, props: props.props ? JSON.stringify(props.props) : undefined } }, - result: toRevive + result: toRevive, }, - ...result + ...result, } } @@ -168,7 +168,7 @@ export default defineComponent({ // $fetch handles the app.baseURL in dev const r = await eventFetch(withQuery(((import.meta.dev && import.meta.client) || props.source) ? url : joinURL(config.app.baseURL ?? '', url), { ...props.context, - props: props.props ? JSON.stringify(props.props) : undefined + props: props.props ? JSON.stringify(props.props) : undefined, })) const result = import.meta.server || !import.meta.dev ? await r.json() : (r as FetchResponse<NuxtIslandResponse>)._data // TODO: support passing on more headers @@ -219,7 +219,7 @@ export default defineComponent({ } expose({ - refresh: () => fetchComponent(true) + refresh: () => fetchComponent(true), }) if (import.meta.hot) { @@ -261,7 +261,7 @@ export default defineComponent({ teleports.push(createVNode(Teleport, // use different selectors for even and odd teleportKey to force trigger the teleport { to: import.meta.client ? `${isKeyOdd ? 'div' : ''}[data-island-uid="${uid.value}"][data-island-slot="${slot}"]` : `uid=${uid.value};slot=${slot}` }, - { default: () => (payloads.slots?.[slot].props?.length ? payloads.slots[slot].props : [{}]).map((data: any) => slots[slot]?.(data)) }) + { default: () => (payloads.slots?.[slot].props?.length ? payloads.slots[slot].props : [{}]).map((data: any) => slots[slot]?.(data)) }), ) } } @@ -275,7 +275,7 @@ export default defineComponent({ replaced = replaced.replaceAll(`data-island-slot="${slot}">`, full => full + slots[slot]) } teleports.push(createVNode(Teleport, { to: `uid=${uid.value};client=${id}` }, { - default: () => [createStaticVNode(replaced, 1)] + default: () => [createStaticVNode(replaced, 1)], })) } } @@ -286,9 +286,9 @@ export default defineComponent({ // use different selectors for even and odd teleportKey to force trigger the teleport const vnode = createVNode(Teleport, { to: `${isKeyOdd ? 'div' : ''}[data-island-uid='${uid.value}'][data-island-component="${id}"]` }, { default: () => { - return [h(component, props, Object.fromEntries(Object.entries(slots || {}).map(([k, v]) => ([k, () => createStaticVNode(`<div style="display: contents" data-island-uid data-island-slot="${k}">${v}</div>`, 1) + return [h(component, props, Object.fromEntries(Object.entries(slots || {}).map(([k, v]) => ([k, () => createStaticVNode(`<div style="display: contents" data-island-uid data-island-slot="${k}">${v}</div>`, 1), ]))))] - } + }, }) teleports.push(vnode) } @@ -297,8 +297,8 @@ export default defineComponent({ } return h(Fragment, teleports) - }, _cache, 1) + }, _cache, 1), ] } - } + }, }) diff --git a/packages/nuxt/src/app/components/nuxt-layout.ts b/packages/nuxt/src/app/components/nuxt-layout.ts index 7509f2f9ff..e7af6597fc 100644 --- a/packages/nuxt/src/app/components/nuxt-layout.ts +++ b/packages/nuxt/src/app/components/nuxt-layout.ts @@ -2,7 +2,6 @@ import type { DefineComponent, MaybeRef, VNode } from 'vue' import { Suspense, Transition, computed, defineComponent, h, inject, mergeProps, nextTick, onMounted, provide, ref, unref } from 'vue' import type { RouteLocationNormalizedLoaded } from 'vue-router' -// eslint-disable-next-line import/no-restricted-paths import type { PageMeta } from '../../pages/runtime/composables' import { useRoute, useRouter } from '../composables/router' @@ -23,7 +22,7 @@ const LayoutLoader = defineComponent({ inheritAttrs: false, props: { name: String, - layoutProps: Object + layoutProps: Object, }, async setup (props, context) { // This is a deliberate hack - this component must always be called with an explicit key to ensure @@ -32,7 +31,7 @@ const LayoutLoader = defineComponent({ const LayoutComponent = await layouts[props.name]().then((r: any) => r.default || r) return () => h(LayoutComponent, props.layoutProps, context.slots) - } + }, }) export default defineComponent({ @@ -41,12 +40,12 @@ export default defineComponent({ props: { name: { type: [String, Boolean, Object] as unknown as () => unknown extends PageMeta['layout'] ? MaybeRef<string | false> : PageMeta['layout'], - default: null + default: null, }, fallback: { type: [String, Object] as unknown as () => unknown extends PageMeta['layout'] ? MaybeRef<string> : PageMeta['layout'], - default: null - } + default: null, + }, }, setup (props, context) { const nuxtApp = useNuxtApp() @@ -94,12 +93,12 @@ export default defineComponent({ key: layout.value || undefined, name: layout.value, shouldProvide: !props.name, - hasTransition: !!transitionProps - }, context.slots) - }) + hasTransition: !!transitionProps, + }, context.slots), + }), }).default() } - } + }, }) as unknown as DefineComponent<{ name?: (unknown extends PageMeta['layout'] ? MaybeRef<string | false> : PageMeta['layout']) | undefined }> @@ -109,17 +108,17 @@ const LayoutProvider = defineComponent({ inheritAttrs: false, props: { name: { - type: [String, Boolean] as unknown as () => string | false + type: [String, Boolean] as unknown as () => string | false, }, layoutProps: { - type: Object + type: Object, }, hasTransition: { - type: Boolean + type: Boolean, }, shouldProvide: { - type: Boolean - } + type: Boolean, + }, }, setup (props, context) { // Prevent reactivity when the page will be rerendered in a different suspense fork @@ -127,7 +126,7 @@ const LayoutProvider = defineComponent({ const name = props.name if (props.shouldProvide) { provide(LayoutMetaSymbol, { - isCurrent: (route: RouteLocationNormalizedLoaded) => name === (route.meta.layout ?? 'default') + isCurrent: (route: RouteLocationNormalizedLoaded) => name === (route.meta.layout ?? 'default'), }) } @@ -159,7 +158,7 @@ const LayoutProvider = defineComponent({ vnode = h( LayoutLoader, { key: name, layoutProps: props.layoutProps, name }, - context.slots + context.slots, ) return vnode @@ -168,8 +167,8 @@ const LayoutProvider = defineComponent({ return h( LayoutLoader, { key: name, layoutProps: props.layoutProps, name }, - context.slots + context.slots, ) } - } + }, }) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index 659001884b..62446eb563 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -4,7 +4,7 @@ import type { ComputedRef, DefineComponent, InjectionKey, PropType, - VNodeProps + VNodeProps, } from 'vue' import { computed, defineComponent, h, inject, onBeforeUnmount, onMounted, provide, ref, resolveComponent } from 'vue' import type { RouteLocation, RouteLocationRaw, Router, RouterLinkProps } from '#vue-router' @@ -114,7 +114,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { const resolvedPath = { ...to, name: undefined, // named routes would otherwise always override trailing slash behavior - path: applyTrailingSlashBehavior(path, options.trailingSlash) + path: applyTrailingSlashBehavior(path, options.trailingSlash), } return resolvedPath @@ -127,85 +127,85 @@ export function defineNuxtLink (options: NuxtLinkOptions) { to: { type: [String, Object] as PropType<RouteLocationRaw>, default: undefined, - required: false + required: false, }, href: { type: [String, Object] as PropType<RouteLocationRaw>, default: undefined, - required: false + required: false, }, // Attributes target: { type: String as PropType<NuxtLinkProps['target']>, default: undefined, - required: false + required: false, }, rel: { type: String as PropType<NuxtLinkProps['rel']>, default: undefined, - required: false + required: false, }, noRel: { type: Boolean as PropType<NuxtLinkProps['noRel']>, default: undefined, - required: false + required: false, }, // Prefetching prefetch: { type: Boolean as PropType<NuxtLinkProps['prefetch']>, default: undefined, - required: false + required: false, }, noPrefetch: { type: Boolean as PropType<NuxtLinkProps['noPrefetch']>, default: undefined, - required: false + required: false, }, // Styling activeClass: { type: String as PropType<NuxtLinkProps['activeClass']>, default: undefined, - required: false + required: false, }, exactActiveClass: { type: String as PropType<NuxtLinkProps['exactActiveClass']>, default: undefined, - required: false + required: false, }, prefetchedClass: { type: String as PropType<NuxtLinkProps['prefetchedClass']>, default: undefined, - required: false + required: false, }, // Vue Router's `<RouterLink>` additional props replace: { type: Boolean as PropType<NuxtLinkProps['replace']>, default: undefined, - required: false + required: false, }, ariaCurrentValue: { type: String as PropType<NuxtLinkProps['ariaCurrentValue']>, default: undefined, - required: false + required: false, }, // Edge cases handling external: { type: Boolean as PropType<NuxtLinkProps['external']>, default: undefined, - required: false + required: false, }, // Slot API custom: { type: Boolean as PropType<NuxtLinkProps['custom']>, default: undefined, - required: false - } + required: false, + }, }, setup (props, { slots }) { const router = useRouter() @@ -269,7 +269,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { const path = typeof to.value === 'string' ? to.value : router.resolve(to.value).fullPath await Promise.all([ nuxtApp.hooks.callHook('link:prefetch', path).catch(() => {}), - !isExternal.value && preloadRouteComponents(to.value as string, router).catch(() => {}) + !isExternal.value && preloadRouteComponents(to.value as string, router).catch(() => {}), ]) prefetched.value = true }) @@ -303,7 +303,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { exactActiveClass: props.exactActiveClass || options.exactActiveClass, replace: props.replace, ariaCurrentValue: props.ariaCurrentValue, - custom: props.custom + custom: props.custom, } // `custom` API cannot support fallthrough attributes as the slot @@ -319,7 +319,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { return h( resolveComponent('RouterLink'), routerLinkProps, - slots.default + slots.default, ) } @@ -344,7 +344,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { * A fallback rel of `noopener noreferrer` is applied for external links or links that open in a new tab. * This solves a reverse tabnapping security flaw in browsers pre-2021 as well as improving privacy. */ - (isAbsoluteUrl.value || hasTarget.value) ? 'noopener noreferrer' : '' + (isAbsoluteUrl.value || hasTarget.value) ? 'noopener noreferrer' : '', ) || null // https://router.vuejs.org/api/#custom @@ -372,20 +372,20 @@ export function defineNuxtLink (options: NuxtLinkOptions) { matched: [], redirectedFrom: undefined, meta: {}, - href + href, } satisfies RouteLocation & { href: string } }, rel, target, isExternal: isExternal.value, isActive: false, - isExactActive: false + isExactActive: false, }) } return h('a', { ref: el, href, rel, target }, slots.default?.()) } - } + }, }) as unknown as DefineComponent<NuxtLinkProps> } @@ -441,7 +441,7 @@ function useObserver (): { observe: ObserveFn } | undefined { } const _observer = nuxtApp._observer = { - observe + observe, } return _observer diff --git a/packages/nuxt/src/app/components/nuxt-loading-indicator.ts b/packages/nuxt/src/app/components/nuxt-loading-indicator.ts index 2ccc49767c..2b51dd6584 100644 --- a/packages/nuxt/src/app/components/nuxt-loading-indicator.ts +++ b/packages/nuxt/src/app/components/nuxt-loading-indicator.ts @@ -6,34 +6,34 @@ export default defineComponent({ props: { throttle: { type: Number, - default: 200 + default: 200, }, duration: { type: Number, - default: 2000 + default: 2000, }, height: { type: Number, - default: 3 + default: 3, }, color: { type: [String, Boolean], - default: 'repeating-linear-gradient(to right,#00dc82 0%,#34cdfe 50%,#0047e1 100%)' + default: 'repeating-linear-gradient(to right,#00dc82 0%,#34cdfe 50%,#0047e1 100%)', }, estimatedProgress: { type: Function as unknown as () => (duration: number, elapsed: number) => number, - required: false - } + required: false, + }, }, setup (props, { slots, expose }) { const { progress, isLoading, start, finish, clear } = useLoadingIndicator({ duration: props.duration, throttle: props.throttle, - estimatedProgress: props.estimatedProgress + estimatedProgress: props.estimatedProgress, }) expose({ - progress, isLoading, start, finish, clear + progress, isLoading, start, finish, clear, }) return () => h('div', { @@ -52,8 +52,8 @@ export default defineComponent({ transform: `scaleX(${progress.value}%)`, transformOrigin: 'left', transition: 'transform 0.1s, height 0.4s, opacity 0.4s', - zIndex: 999999 - } + zIndex: 999999, + }, }, slots) - } + }, }) diff --git a/packages/nuxt/src/app/components/nuxt-stubs.ts b/packages/nuxt/src/app/components/nuxt-stubs.ts index c2adc56412..5a3d20c10d 100644 --- a/packages/nuxt/src/app/components/nuxt-stubs.ts +++ b/packages/nuxt/src/app/components/nuxt-stubs.ts @@ -4,14 +4,14 @@ function renderStubMessage (name: string) { throw createError({ fatal: true, statusCode: 500, - statusMessage: `${name} is provided by @nuxt/image. Check your console to install it or run 'npx nuxi@latest module add @nuxt/image'` + statusMessage: `${name} is provided by @nuxt/image. Check your console to install it or run 'npx nuxi@latest module add @nuxt/image'`, }) } export const NuxtImg = { - setup: () => renderStubMessage('<NuxtImg>') + setup: () => renderStubMessage('<NuxtImg>'), } export const NuxtPicture = { - setup: () => renderStubMessage('<NuxtPicture>') + setup: () => renderStubMessage('<NuxtPicture>'), } diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts index 75adbdfaf4..002a2441a0 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts @@ -5,7 +5,7 @@ import { useNuxtApp } from '../nuxt' import { paths } from '#build/components-chunk' type ExtendedComponent = Component & { - __file: string, + __file: string __name: string } @@ -21,11 +21,11 @@ export default defineComponent({ props: { to: { type: String, - required: true + required: true, }, nuxtClient: { type: Boolean, - default: false + default: false, }, /** * ONLY used in dev mode since we use build:manifest result in production @@ -33,8 +33,8 @@ export default defineComponent({ */ rootDir: { type: String, - default: null - } + default: null, + }, }, setup (props, { slots }) { const nuxtApp = useNuxtApp() @@ -47,19 +47,19 @@ export default defineComponent({ return () => { const slot = slots.default!()[0] - const slotType = (slot.type as ExtendedComponent) + const slotType = slot.type as ExtendedComponent const name = (slotType.__name || slotType.name) as string islandContext.components[props.to] = { chunk: import.meta.dev ? '_nuxt/' + paths[name] : paths[name], - props: slot.props || {} + props: slot.props || {}, } return [h('div', { - style: 'display: contents;', + 'style': 'display: contents;', 'data-island-uid': '', - 'data-island-component': props.to + 'data-island-component': props.to, }, []), h(Teleport, { to: props.to }, slot)] } - } + }, }) diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts index fd3d52002a..9f9fefc8b1 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts @@ -12,14 +12,14 @@ export default defineComponent({ props: { name: { type: String, - required: true + required: true, }, /** * must be an array to handle v-for */ props: { - type: Object as () => Array<any> - } + type: Object as () => Array<any>, + }, }, setup (props, { slots }) { const nuxtApp = useNuxtApp() @@ -30,7 +30,7 @@ export default defineComponent({ const componentName = inject(NuxtTeleportIslandSymbol, false) islandContext.slots[props.name] = { - props: (props.props || []) as unknown[] + props: (props.props || []) as unknown[], } return () => { @@ -38,18 +38,18 @@ export default defineComponent({ if (nuxtApp.ssrContext?.islandContext && slots.default) { vnodes.push(h('div', { - style: 'display: contents;', + 'style': 'display: contents;', 'data-island-uid': '', - 'data-island-slot': props.name + 'data-island-slot': props.name, }, { // Teleport in slot to not be hydrated client-side with the staticVNode - default: () => [createVNode(Teleport, { to: `island-slot=${componentName};${props.name}` }, slots.default?.())] + default: () => [createVNode(Teleport, { to: `island-slot=${componentName};${props.name}` }, slots.default?.())], })) } else { vnodes.push(h('div', { - style: 'display: contents;', + 'style': 'display: contents;', 'data-island-uid': '', - 'data-island-slot': props.name + 'data-island-slot': props.name, })) } @@ -59,5 +59,5 @@ export default defineComponent({ return vnodes } - } + }, }) diff --git a/packages/nuxt/src/app/components/route-provider.ts b/packages/nuxt/src/app/components/route-provider.ts index 6f57fb82f6..de4ae64a47 100644 --- a/packages/nuxt/src/app/components/route-provider.ts +++ b/packages/nuxt/src/app/components/route-provider.ts @@ -7,15 +7,15 @@ export const RouteProvider = defineComponent({ props: { vnode: { type: Object as () => VNode, - required: true + required: true, }, route: { type: Object as () => RouteLocationNormalizedLoaded, - required: true + required: true, }, vnodeRef: Object as () => Ref<any>, renderKey: String, - trackRootNodes: Boolean + trackRootNodes: Boolean, }, setup (props) { // Prevent reactivity when the page will be rerendered in a different suspense fork @@ -26,7 +26,7 @@ export const RouteProvider = defineComponent({ const route = {} as RouteLocation for (const key in props.route) { Object.defineProperty(route, key, { - get: () => previousKey === props.renderKey ? props.route[key as keyof RouteLocationNormalizedLoaded] : previousRoute[key as keyof RouteLocationNormalizedLoaded] + get: () => previousKey === props.renderKey ? props.route[key as keyof RouteLocationNormalizedLoaded] : previousRoute[key as keyof RouteLocationNormalizedLoaded], }) } @@ -52,5 +52,5 @@ export const RouteProvider = defineComponent({ return h(props.vnode, { ref: props.vnodeRef }) } - } + }, }) diff --git a/packages/nuxt/src/app/components/server-placeholder.ts b/packages/nuxt/src/app/components/server-placeholder.ts index eaa38e3282..accbfb9857 100644 --- a/packages/nuxt/src/app/components/server-placeholder.ts +++ b/packages/nuxt/src/app/components/server-placeholder.ts @@ -4,5 +4,5 @@ export default defineComponent({ name: 'ServerPlaceholder', render () { return createElementBlock('div') - } + }, }) diff --git a/packages/nuxt/src/app/components/test-component-wrapper.ts b/packages/nuxt/src/app/components/test-component-wrapper.ts index fd185150cc..31520ae0b9 100644 --- a/packages/nuxt/src/app/components/test-component-wrapper.ts +++ b/packages/nuxt/src/app/components/test-component-wrapper.ts @@ -20,8 +20,8 @@ export default (url: string) => defineComponent({ return () => [ h('div', 'Component Test Wrapper for ' + query.path), h('div', { id: 'nuxt-component-root' }, [ - h(comp, { ...attrs, ...props, ...urlProps }) - ]) + h(comp, { ...attrs, ...props, ...urlProps }), + ]), ] - } + }, }) diff --git a/packages/nuxt/src/app/components/utils.ts b/packages/nuxt/src/app/components/utils.ts index 1411c2c329..a5e918a89d 100644 --- a/packages/nuxt/src/app/components/utils.ts +++ b/packages/nuxt/src/app/components/utils.ts @@ -36,7 +36,7 @@ export function isChangingPage (to: RouteLocationNormalized, from: RouteLocation if (generateRouteKey(to) !== generateRouteKey(from)) { return true } const areComponentsSame = to.matched.every((comp, index) => - comp.components && comp.components.default === from.matched[index]?.components?.default + comp.components && comp.components.default === from.matched[index]?.components?.default, ) if (areComponentsSame) { return false @@ -44,7 +44,6 @@ export function isChangingPage (to: RouteLocationNormalized, from: RouteLocation return true } -// eslint-disable-next-line no-use-before-define export type SSRBuffer = SSRBufferItem[] & { hasAsync?: boolean } export type SSRBufferItem = string | SSRBuffer | Promise<SSRBuffer> @@ -71,7 +70,7 @@ export function createBuffer () { if (isPromise(item) || (isArray(item) && item.hasAsync)) { buffer.hasAsync = true } - } + }, } } @@ -95,7 +94,7 @@ export function vforToArray (source: any): any[] { } else if (isObject(source)) { if (source[Symbol.iterator as any]) { return Array.from(source as Iterable<any>, item => - item + item, ) } else { const keys = Object.keys(source) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 3fdb7a0bfa..d9fd2ae1d5 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -17,19 +17,19 @@ export type _Transform<Input = any, Output = any> = (input: Input) => Output | P export type PickFrom<T, K extends Array<string>> = T extends Array<any> ? T : T extends Record<string, any> - ? keyof T extends K[number] - ? T // Exact same keys as the target, skip Pick - : K[number] extends never - ? T - : Pick<T, K[number]> - : T + ? keyof T extends K[number] + ? T // Exact same keys as the target, skip Pick + : K[number] extends never + ? T + : Pick<T, K[number]> + : T export type KeysOf<T> = Array< T extends T // Include all keys of union types, not just common keys - ? keyof T extends string - ? keyof T - : never - : never + ? keyof T extends string + ? keyof T + : never + : never > export type KeyOfRes<Transform extends _Transform> = KeysOf<ReturnType<Transform>> @@ -223,8 +223,8 @@ export function useAsyncData< const promise = nuxtApp.runWithContext(_handler) - nuxtApp.ssrContext!._sharedPrerenderCache!.set(key, promise) - return promise + nuxtApp.ssrContext!._sharedPrerenderCache!.set(key, promise) + return promise } // Used to get default values @@ -257,7 +257,7 @@ export function useAsyncData< data: _ref(options.getCachedData!(key, nuxtApp) ?? options.default!()), pending: ref(!hasCachedData()), error: toRef(nuxtApp.payload._errors, key), - status: ref('idle') + status: ref('idle'), } } @@ -477,8 +477,8 @@ export function useNuxtData<DataT = any> (key: string): { data: Ref<DataT | null } else { nuxtApp.payload.data[key] = value } - } - }) + }, + }), } } diff --git a/packages/nuxt/src/app/composables/component.ts b/packages/nuxt/src/app/composables/component.ts index d124c38efa..ebc234226c 100644 --- a/packages/nuxt/src/app/composables/component.ts +++ b/packages/nuxt/src/app/composables/component.ts @@ -38,7 +38,7 @@ export const defineNuxtComponent: typeof defineComponent = if (!setup && !options.asyncData && !options.head) { return { [NuxtComponentIndicator]: true, - ...options + ...options, } } @@ -66,6 +66,6 @@ export const defineNuxtComponent: typeof defineComponent = .finally(() => { promises.length = 0 }) - } + }, } as DefineComponent } diff --git a/packages/nuxt/src/app/composables/cookie.ts b/packages/nuxt/src/app/composables/cookie.ts index 15f7ee0110..7f5b6cd267 100644 --- a/packages/nuxt/src/app/composables/cookie.ts +++ b/packages/nuxt/src/app/composables/cookie.ts @@ -29,7 +29,7 @@ const CookieDefaults = { path: '/', watch: true, decode: val => destr(decodeURIComponent(val)), - encode: val => encodeURIComponent(typeof val === 'string' ? val : JSON.stringify(val)) + encode: val => encodeURIComponent(typeof val === 'string' ? val : JSON.stringify(val)), } satisfies CookieOptions<any> const store = import.meta.client && cookieStore ? window.cookieStore : undefined @@ -220,7 +220,7 @@ function cookieRef<T> (value: T | undefined, delay: number, shouldWatch: boolean internalRef.value = newValue trigger() - } + }, } }) } diff --git a/packages/nuxt/src/app/composables/error.ts b/packages/nuxt/src/app/composables/error.ts index dc4dd8e6a2..2a76c389a0 100644 --- a/packages/nuxt/src/app/composables/error.ts +++ b/packages/nuxt/src/app/composables/error.ts @@ -14,9 +14,9 @@ export interface NuxtError<DataT = unknown> extends H3Error<DataT> {} /** @since 3.0.0 */ export const showError = <DataT = unknown>( error: string | Error | (Partial<NuxtError<DataT>> & { - status?: number; - statusText?: string; - }) + status?: number + statusText?: string + }), ) => { const nuxtError = createError<DataT>(error) @@ -52,22 +52,22 @@ export const clearError = async (options: { redirect?: string } = {}) => { /** @since 3.0.0 */ export const isNuxtError = <DataT = unknown>( - error?: string | object + error?: string | object, ): error is NuxtError<DataT> => !!error && typeof error === 'object' && NUXT_ERROR_SIGNATURE in error /** @since 3.0.0 */ export const createError = <DataT = unknown>( error: string | Error | (Partial<NuxtError<DataT>> & { - status?: number; - statusText?: string; - }) + status?: number + statusText?: string + }), ) => { const nuxtError: NuxtError<DataT> = createH3Error<DataT>(error) Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, { value: true, configurable: false, - writable: false + writable: false, }) return nuxtError diff --git a/packages/nuxt/src/app/composables/fetch.ts b/packages/nuxt/src/app/composables/fetch.ts index 4403415c2f..d7b50ab717 100644 --- a/packages/nuxt/src/app/composables/fetch.ts +++ b/packages/nuxt/src/app/composables/fetch.ts @@ -21,7 +21,7 @@ type ComputedOptions<T extends Record<string, any>> = { } interface NitroFetchOptions<R extends NitroFetchRequest, M extends AvailableRouterMethod<R> = AvailableRouterMethod<R>> extends FetchOptions { - method?: M; + method?: M } type ComputedFetchOptions<R extends NitroFetchRequest, M extends AvailableRouterMethod<R>> = ComputedOptions<NitroFetchOptions<R, M>> @@ -32,7 +32,7 @@ export interface UseFetchOptions< PickKeys extends KeysOf<DataT> = KeysOf<DataT>, DefaultT = null, R extends NitroFetchRequest = string & {}, - M extends AvailableRouterMethod<R> = AvailableRouterMethod<R> + M extends AvailableRouterMethod<R> = AvailableRouterMethod<R>, > extends Omit<AsyncDataOptions<ResT, DataT, PickKeys, DefaultT>, 'watch'>, ComputedFetchOptions<R, M> { key?: string $fetch?: typeof globalThis.$fetch @@ -90,7 +90,7 @@ export function useFetch< > ( request: Ref<ReqT> | ReqT | (() => ReqT), arg1?: string | UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method>, - arg2?: string + arg2?: string, ) { const [opts = {}, autoKey] = typeof arg1 === 'string' ? [{}, arg1] : [arg1, arg2] @@ -127,7 +127,7 @@ export function useFetch< const _fetchOptions = reactive({ ...fetchDefaults, ...fetchOptions, - cache: typeof opts.cache === 'boolean' ? undefined : opts.cache + cache: typeof opts.cache === 'boolean' ? undefined : opts.cache, }) const _asyncDataOptions: AsyncDataOptions<_ResT, DataT, PickKeys, DefaultT> = { @@ -140,7 +140,7 @@ export function useFetch< getCachedData, deep, dedupe, - watch: watch === false ? [] : [_fetchOptions, _request, ...(watch || [])] + watch: watch === false ? [] : [_fetchOptions, _request, ...(watch || [])], } if (import.meta.dev && import.meta.client) { @@ -220,7 +220,7 @@ export function useLazyFetch< > ( request: Ref<ReqT> | ReqT | (() => ReqT), arg1?: string | Omit<UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method>, 'lazy'>, - arg2?: string + arg2?: string, ) { const [opts = {}, autoKey] = typeof arg1 === 'string' ? [{}, arg1] : [arg1, arg2] @@ -231,16 +231,16 @@ export function useLazyFetch< return useFetch<ResT, ErrorT, ReqT, Method, _ResT, DataT, PickKeys, DefaultT>(request, { ...opts, - lazy: true + lazy: true, }, // @ts-expect-error we pass an extra argument with the resolved auto-key to prevent another from being injected autoKey) } -function generateOptionSegments <_ResT, DataT, DefaultT> (opts: UseFetchOptions<_ResT, DataT, any, DefaultT, any, any>) { +function generateOptionSegments<_ResT, DataT, DefaultT> (opts: UseFetchOptions<_ResT, DataT, any, DefaultT, any, any>) { const segments: Array<string | undefined | Record<string, string>> = [ toValue(opts.method as MaybeRef<string | undefined> | undefined)?.toUpperCase() || 'GET', - toValue(opts.baseURL) + toValue(opts.baseURL), ] for (const _obj of [opts.params || opts.query]) { const obj = toValue(_obj) diff --git a/packages/nuxt/src/app/composables/index.ts b/packages/nuxt/src/app/composables/index.ts index 7b0810d0b0..d5058ecb92 100644 --- a/packages/nuxt/src/app/composables/index.ts +++ b/packages/nuxt/src/app/composables/index.ts @@ -9,7 +9,7 @@ export { /** @deprecated Import `useSeoMeta` from `#imports` instead. This may be removed in a future minor version. */ useSeoMeta, /** @deprecated Import `useServerSeoMeta` from `#imports` instead. This may be removed in a future minor version. */ - useServerSeoMeta + useServerSeoMeta, } from '@unhead/vue' export { defineNuxtComponent } from './component' diff --git a/packages/nuxt/src/app/composables/loading-indicator.ts b/packages/nuxt/src/app/composables/loading-indicator.ts index 7037f74438..5bae3c98b5 100644 --- a/packages/nuxt/src/app/composables/loading-indicator.ts +++ b/packages/nuxt/src/app/composables/loading-indicator.ts @@ -148,7 +148,7 @@ function createLoadingIndicator (opts: Partial<LoadingIndicatorOpts> = {}) { start, set, finish, - clear + clear, } } diff --git a/packages/nuxt/src/app/composables/manifest.ts b/packages/nuxt/src/app/composables/manifest.ts index 40bfdcd536..13a60e8d82 100644 --- a/packages/nuxt/src/app/composables/manifest.ts +++ b/packages/nuxt/src/app/composables/manifest.ts @@ -46,7 +46,7 @@ export function getAppManifest (): Promise<NuxtAppManifest> { export async function getRouteRules (url: string) { if (import.meta.server) { const _routeRulesMatcher = toRouteMatcher( - createRadixRouter({ routes: useRuntimeConfig().nitro!.routeRules }) + createRadixRouter({ routes: useRuntimeConfig().nitro!.routeRules }), ) return defu({} as Record<string, any>, ..._routeRulesMatcher.matchAll(url).reverse()) } diff --git a/packages/nuxt/src/app/composables/payload.ts b/packages/nuxt/src/app/composables/payload.ts index 97edda896d..4e8cd677d4 100644 --- a/packages/nuxt/src/app/composables/payload.ts +++ b/packages/nuxt/src/app/composables/payload.ts @@ -44,8 +44,8 @@ export function preloadPayload (url: string, opts: LoadPayloadOptions = {}) { const payloadURL = _getPayloadURL(url, opts) useHead({ link: [ - { rel: 'modulepreload', href: payloadURL } - ] + { rel: 'modulepreload', href: payloadURL }, + ], }) } @@ -109,7 +109,7 @@ export async function getNuxtClientPayload () { payloadCache = { ...inlineData, ...externalData, - ...window.__NUXT__ + ...window.__NUXT__, } return payloadCache @@ -125,7 +125,7 @@ export async function parsePayload (payload: string) { */ export function definePayloadReducer ( name: string, - reduce: (data: any) => any + reduce: (data: any) => any, ) { if (import.meta.server) { useNuxtApp().ssrContext!._payloadReducers[name] = reduce @@ -140,7 +140,7 @@ export function definePayloadReducer ( */ export function definePayloadReviver ( name: string, - revive: (data: any) => any | undefined + revive: (data: any) => any | undefined, ) { if (import.meta.dev && getCurrentInstance()) { console.warn('[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.') diff --git a/packages/nuxt/src/app/composables/preload.ts b/packages/nuxt/src/app/composables/preload.ts index ac94bbede6..d7b747b279 100644 --- a/packages/nuxt/src/app/composables/preload.ts +++ b/packages/nuxt/src/app/composables/preload.ts @@ -36,7 +36,7 @@ function _loadAsyncComponent (component: Component) { } /** @since 3.0.0 */ -export async function preloadRouteComponents (to: RouteLocationRaw, router: Router & { _routePreloaded?: Set<string>; _preloadPromises?: Array<Promise<any>> } = useRouter()): Promise<void> { +export async function preloadRouteComponents (to: RouteLocationRaw, router: Router & { _routePreloaded?: Set<string>, _preloadPromises?: Array<Promise<any>> } = useRouter()): Promise<void> { if (import.meta.server) { return } const { path, matched } = router.resolve(to) diff --git a/packages/nuxt/src/app/composables/preview.ts b/packages/nuxt/src/app/composables/preview.ts index 697ddaad5d..94f8a896d1 100644 --- a/packages/nuxt/src/app/composables/preview.ts +++ b/packages/nuxt/src/app/composables/preview.ts @@ -11,8 +11,8 @@ interface Preview { } interface PreviewModeOptions<S> { - shouldEnable?: (state: Preview['state']) => boolean, - getState?: (state: Preview['state']) => S, + shouldEnable?: (state: Preview['state']) => boolean + getState?: (state: Preview['state']) => S } type EnteredState = Record<any, unknown> | null | undefined | void @@ -23,13 +23,13 @@ let unregisterRefreshHook: (() => any) | undefined export function usePreviewMode<S extends EnteredState> (options: PreviewModeOptions<S> = {}) { const preview = useState<Preview>('_preview-state', () => ({ enabled: false, - state: {} + state: {}, })) if (preview.value._initialized) { return { enabled: toRef(preview.value, 'enabled'), - state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']) + state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']), } } @@ -67,7 +67,7 @@ export function usePreviewMode<S extends EnteredState> (options: PreviewModeOpti return { enabled: toRef(preview.value, 'enabled'), - state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']) + state: preview.value.state as S extends void ? Preview['state'] : (NonNullable<S> & Preview['state']), } } diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index bf935e63d7..c7e0e2ac80 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -4,7 +4,6 @@ import type { NavigationFailure, NavigationGuard, RouteLocationNormalized, Route import { sanitizeStatusCode } from 'h3' import { hasProtocol, isScriptProtocol, joinURL, parseURL, withQuery } from 'ufo' -// eslint-disable-next-line import/no-restricted-paths import type { PageMeta } from '../../pages/runtime/composables' import { useNuxtApp, useRuntimeConfig } from '../nuxt' @@ -98,10 +97,10 @@ export type OpenWindowFeatures = { popup?: boolean noopener?: boolean noreferrer?: boolean -} & XOR<{width?: number}, {innerWidth?: number}> - & XOR<{height?: number}, {innerHeight?: number}> - & XOR<{left?: number}, {screenX?: number}> - & XOR<{top?: number}, {screenY?: number}> +} & XOR<{ width?: number }, { innerWidth?: number }> + & XOR<{ height?: number }, { innerHeight?: number }> + & XOR<{ left?: number }, { screenX?: number }> + & XOR<{ top?: number }, { screenY?: number }> export type OpenOptions = { target: '_blank' | '_parent' | '_self' | '_top' | (string & {}) @@ -170,7 +169,7 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na nuxtApp.ssrContext!._renderResponse = { statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302), body: `<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=${encodedLoc}"></head></html>`, - headers: { location } + headers: { location }, } return response } diff --git a/packages/nuxt/src/app/composables/state.ts b/packages/nuxt/src/app/composables/state.ts index 595bb06626..beaa193afb 100644 --- a/packages/nuxt/src/app/composables/state.ts +++ b/packages/nuxt/src/app/composables/state.ts @@ -10,9 +10,9 @@ const useStateKeyPrefix = '$s' * @param key a unique key ensuring that data fetching can be properly de-duplicated across requests * @param init a function that provides initial value for the state when it's not initiated */ -export function useState <T> (key?: string, init?: (() => T | Ref<T>)): Ref<T> -export function useState <T> (init?: (() => T | Ref<T>)): Ref<T> -export function useState <T> (...args: any): Ref<T> { +export function useState<T> (key?: string, init?: (() => T | Ref<T>)): Ref<T> +export function useState<T> (init?: (() => T | Ref<T>)): Ref<T> +export function useState<T> (...args: any): Ref<T> { const autoKey = typeof args[args.length - 1] === 'string' ? args.pop() : undefined if (typeof args[0] !== 'string') { args.unshift(autoKey) } const [_key, init] = args as [string, (() => T | Ref<T>)] @@ -40,7 +40,7 @@ export function useState <T> (...args: any): Ref<T> { /** @since 3.6.0 */ export function clearNuxtState ( - keys?: string | string[] | ((key: string) => boolean) + keys?: string | string[] | ((key: string) => boolean), ): void { const nuxtApp = useNuxtApp() const _allKeys = Object.keys(nuxtApp.payload.state) diff --git a/packages/nuxt/src/app/entry.ts b/packages/nuxt/src/app/entry.ts index f912909a1c..8c33ccae87 100644 --- a/packages/nuxt/src/app/entry.ts +++ b/packages/nuxt/src/app/entry.ts @@ -52,7 +52,7 @@ if (import.meta.client) { if (vueAppPromise) { return vueAppPromise } const isSSR = Boolean( window.__NUXT__?.serverRendered || - document.getElementById('__NUXT_DATA__')?.dataset.ssr === 'true' + document.getElementById('__NUXT_DATA__')?.dataset.ssr === 'true', ) const vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent) diff --git a/packages/nuxt/src/app/index.ts b/packages/nuxt/src/app/index.ts index 1acc4ad82e..9f8fc9103e 100644 --- a/packages/nuxt/src/app/index.ts +++ b/packages/nuxt/src/app/index.ts @@ -1,9 +1,9 @@ /// <reference path="types/augments.d.ts" /> export * from './nuxt' -// eslint-disable-next-line import/no-restricted-paths + export * from './composables/index' -// eslint-disable-next-line import/no-restricted-paths + export * from './components/index' export * from './config' export * from './compat/idle-callback' diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 95734eb125..2c8a7839ab 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-use-before-define */ import { effectScope, getCurrentInstance, hasInjectionContext, reactive } from 'vue' import type { App, EffectScope, Ref, VNode, onErrorCaptured } from 'vue' import type { RouteLocationNormalizedLoaded } from '#vue-router' @@ -23,7 +22,7 @@ import type { ViewTransition } from './plugins/view-transitions.client' import type { NuxtAppLiterals } from '#app' const nuxtAppCtx = /* @__PURE__ */ getContext<NuxtApp>('nuxt-app', { - asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server + asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server, }) type HookResult = Promise<void> | void @@ -236,17 +235,17 @@ export function createNuxtApp (options: CreateOptions) { globalName: 'nuxt', versions: { get nuxt () { return __NUXT_VERSION__ }, - get vue () { return nuxtApp.vueApp.version } + get vue () { return nuxtApp.vueApp.version }, }, payload: reactive({ data: {}, state: {}, once: new Set<string>(), _errors: {}, - ...(import.meta.client ? window.__NUXT__ ?? {} : { serverRendered: true }) + ...(import.meta.client ? window.__NUXT__ ?? {} : { serverRendered: true }), }), static: { - data: {} + data: {}, }, runWithContext: (fn: any) => nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn)), isHydrating: import.meta.client, @@ -271,7 +270,7 @@ export function createNuxtApp (options: CreateOptions) { _asyncDataPromises: {}, _asyncData: {}, _payloadRevivers: {}, - ...options + ...options, } as any as NuxtApp nuxtApp.hooks = createHooks<RuntimeNuxtHooks>() @@ -319,7 +318,7 @@ export function createNuxtApp (options: CreateOptions) { // Expose client runtime-config to the payload nuxtApp.ssrContext!.config = { public: options.ssrContext!.runtimeConfig.public, - app: options.ssrContext!.runtimeConfig.app + app: options.ssrContext!.runtimeConfig.app, } } diff --git a/packages/nuxt/src/app/plugins/check-if-layout-used.ts b/packages/nuxt/src/app/plugins/check-if-layout-used.ts index 9cf7192ea9..64a357cc66 100644 --- a/packages/nuxt/src/app/plugins/check-if-layout-used.ts +++ b/packages/nuxt/src/app/plugins/check-if-layout-used.ts @@ -23,6 +23,6 @@ export default defineNuxtPlugin({ } }, env: { - islands: false - } + islands: false, + }, }) diff --git a/packages/nuxt/src/app/plugins/chunk-reload.client.ts b/packages/nuxt/src/app/plugins/chunk-reload.client.ts index 7b802c57f0..e8eb5e2e48 100644 --- a/packages/nuxt/src/app/plugins/chunk-reload.client.ts +++ b/packages/nuxt/src/app/plugins/chunk-reload.client.ts @@ -30,5 +30,5 @@ export default defineNuxtPlugin({ reloadAppAtPath(to) } }) - } + }, }) diff --git a/packages/nuxt/src/app/plugins/cross-origin-prefetch.client.ts b/packages/nuxt/src/app/plugins/cross-origin-prefetch.client.ts index c386328c09..3ae277ab47 100644 --- a/packages/nuxt/src/app/plugins/cross-origin-prefetch.client.ts +++ b/packages/nuxt/src/app/plugins/cross-origin-prefetch.client.ts @@ -16,23 +16,23 @@ export default defineNuxtPlugin({ { source: 'list', urls: [...externalURLs.value], - requires: ['anonymous-client-ip-when-cross-origin'] - } - ] - }) + requires: ['anonymous-client-ip-when-cross-origin'], + }, + ], + }), } } const head = useHead({ - script: [generateRules()] + script: [generateRules()], }) nuxtApp.hook('link:prefetch', (url) => { const { protocol } = parseURL(url) if (protocol && ['http:', 'https:'].includes(protocol)) { externalURLs.value.add(url) head?.patch({ - script: [generateRules()] + script: [generateRules()], }) } }) - } + }, }) diff --git a/packages/nuxt/src/app/plugins/debug.ts b/packages/nuxt/src/app/plugins/debug.ts index 69a989a586..ccb841672c 100644 --- a/packages/nuxt/src/app/plugins/debug.ts +++ b/packages/nuxt/src/app/plugins/debug.ts @@ -6,5 +6,5 @@ export default defineNuxtPlugin({ enforce: 'pre', setup (nuxtApp) { createDebugger(nuxtApp.hooks, { tag: 'nuxt-app' }) - } + }, }) diff --git a/packages/nuxt/src/app/plugins/dev-server-logs.ts b/packages/nuxt/src/app/plugins/dev-server-logs.ts index edeb39ae8f..cccb105794 100644 --- a/packages/nuxt/src/app/plugins/dev-server-logs.ts +++ b/packages/nuxt/src/app/plugins/dev-server-logs.ts @@ -20,8 +20,8 @@ export default defineNuxtPlugin((nuxtApp) => { const logger = createConsola({ formatOptions: { colors: true, - date: true - } + date: true, + }, }) const hydrationLogs = new Set<string>() consola.wrapConsole() @@ -32,7 +32,7 @@ export default defineNuxtPlugin((nuxtApp) => { } catch { // silently ignore - the worst case is a user gets log twice } - } + }, }) nuxtApp.hook('dev:ssr-logs', (logs) => { for (const log of logs) { diff --git a/packages/nuxt/src/app/plugins/payload.client.ts b/packages/nuxt/src/app/plugins/payload.client.ts index 452fa841cf..c50b3bd45a 100644 --- a/packages/nuxt/src/app/plugins/payload.client.ts +++ b/packages/nuxt/src/app/plugins/payload.client.ts @@ -32,5 +32,5 @@ export default defineNuxtPlugin({ setTimeout(getAppManifest, 1000) } }) - } + }, }) diff --git a/packages/nuxt/src/app/plugins/preload.server.ts b/packages/nuxt/src/app/plugins/preload.server.ts index e5d291a704..18c8931f08 100644 --- a/packages/nuxt/src/app/plugins/preload.server.ts +++ b/packages/nuxt/src/app/plugins/preload.server.ts @@ -8,7 +8,7 @@ export default defineNuxtPlugin({ const { _registeredComponents } = this.$nuxt.ssrContext const { __moduleIdentifier } = this.$options _registeredComponents.add(__moduleIdentifier) - } + }, }) - } + }, }) diff --git a/packages/nuxt/src/app/plugins/restore-state.client.ts b/packages/nuxt/src/app/plugins/restore-state.client.ts index 1914cf48d4..bc53feef73 100644 --- a/packages/nuxt/src/app/plugins/restore-state.client.ts +++ b/packages/nuxt/src/app/plugins/restore-state.client.ts @@ -15,6 +15,6 @@ export default defineNuxtPlugin({ } catch { // don't throw an error if we have issues reading sessionStorage } - } - } + }, + }, }) diff --git a/packages/nuxt/src/app/plugins/revive-payload.client.ts b/packages/nuxt/src/app/plugins/revive-payload.client.ts index 89f98a5809..7deec66618 100644 --- a/packages/nuxt/src/app/plugins/revive-payload.client.ts +++ b/packages/nuxt/src/app/plugins/revive-payload.client.ts @@ -14,7 +14,7 @@ const revivers: Record<string, (data: any) => any> = { ShallowRef: data => shallowRef(data), ShallowReactive: data => shallowReactive(data), Ref: data => ref(data), - Reactive: data => reactive(data) + Reactive: data => reactive(data), } if (componentIslands) { @@ -23,7 +23,7 @@ if (componentIslands) { if (!nuxtApp.isHydrating) { nuxtApp.payload.data[key] = nuxtApp.payload.data[key] || $fetch(`/__nuxt_island/${key}.json`, { responseType: 'json', - ...params ? { params } : {} + ...params ? { params } : {}, }).then((r) => { nuxtApp.payload.data[key] = r return r @@ -34,9 +34,9 @@ if (componentIslands) { state: {}, head: { link: [], - style: [] + style: [], }, - ...result + ...result, } } } @@ -51,5 +51,5 @@ export default defineNuxtPlugin({ Object.assign(nuxtApp.payload, await nuxtApp.runWithContext(getNuxtClientPayload)) // For backwards compatibility - TODO: remove later window.__NUXT__ = nuxtApp.payload - } + }, }) diff --git a/packages/nuxt/src/app/plugins/revive-payload.server.ts b/packages/nuxt/src/app/plugins/revive-payload.server.ts index 39180b9dc9..f2cb08983d 100644 --- a/packages/nuxt/src/app/plugins/revive-payload.server.ts +++ b/packages/nuxt/src/app/plugins/revive-payload.server.ts @@ -13,7 +13,7 @@ const reducers: Record<string, (data: any) => any> = { ShallowRef: data => isRef(data) && isShallow(data) && data.value, ShallowReactive: data => isReactive(data) && isShallow(data) && toRaw(data), Ref: data => isRef(data) && data.value, - Reactive: data => isReactive(data) && toRaw(data) + Reactive: data => isReactive(data) && toRaw(data), } if (componentIslands) { @@ -26,5 +26,5 @@ export default defineNuxtPlugin({ for (const reducer in reducers) { definePayloadReducer(reducer, reducers[reducer as keyof typeof reducers]) } - } + }, }) diff --git a/packages/nuxt/src/app/plugins/router.ts b/packages/nuxt/src/app/plugins/router.ts index bb47ea4b17..38c93085d4 100644 --- a/packages/nuxt/src/app/plugins/router.ts +++ b/packages/nuxt/src/app/plugins/router.ts @@ -41,7 +41,7 @@ function getRouteFromPath (fullPath: string | Partial<Route>) { fullPath = stringifyParsedURL({ pathname: fullPath.path || '', search: stringifyQuery(fullPath.query || {}), - hash: fullPath.hash || '' + hash: fullPath.hash || '', }) } @@ -57,7 +57,7 @@ function getRouteFromPath (fullPath: string | Partial<Route>) { matched: [], redirectedFrom: undefined, meta: {}, - href: fullPath + href: fullPath, } } @@ -112,7 +112,7 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ 'navigate:before': [], 'resolve:before': [], 'navigate:after': [], - error: [] + 'error': [], } const registerHook = <T extends keyof RouterHooks> (hook: T, guard: RouterHooks[T]) => { @@ -191,7 +191,7 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ if (index !== -1) { routes.splice(index, 1) } - } + }, } nuxtApp.vueApp.component('RouterLink', defineComponent({ @@ -199,14 +199,14 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ props: { to: { type: String, - required: true + required: true, }, custom: Boolean, replace: Boolean, // Not implemented activeClass: String, exactActiveClass: String, - ariaCurrentValue: String + ariaCurrentValue: String, }, setup: (props, { slots }) => { const navigate = () => handleNavigation(props.to!, props.replace) @@ -216,7 +216,7 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ ? slots.default?.({ href: props.to, navigate, route }) : h('a', { href: props.to, onClick: (e: MouseEvent) => { e.preventDefault(); return navigate() } }, slots) } - } + }, })) if (import.meta.client) { @@ -231,7 +231,7 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ // Handle middleware nuxtApp._middleware = nuxtApp._middleware || { global: [], - named: {} + named: {}, } const initialLayout = nuxtApp.payload.state._layout @@ -271,8 +271,8 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ statusCode: 404, statusMessage: `Page Not Found: ${initialURL}`, data: { - path: initialURL - } + path: initialURL, + }, }) delete nuxtApp._processingMiddleware return nuxtApp.runWithContext(() => showError(error)) @@ -295,8 +295,8 @@ export default defineNuxtPlugin<{ route: Route, router: Router }>({ return { provide: { route, - router - } + router, + }, } - } + }, }) diff --git a/packages/nuxt/src/app/types.ts b/packages/nuxt/src/app/types.ts index 2a7df92c5e..795e92384e 100644 --- a/packages/nuxt/src/app/types.ts +++ b/packages/nuxt/src/app/types.ts @@ -1,9 +1,7 @@ -// eslint-disable-next-line import/no-restricted-paths export type { PageMeta } from '../pages/runtime/index' export interface NuxtAppLiterals { [key: string]: string } -// eslint-disable-next-line import/no-restricted-paths export type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from '../core/runtime/nitro/renderer' diff --git a/packages/nuxt/src/components/client-fallback-auto-id.ts b/packages/nuxt/src/components/client-fallback-auto-id.ts index 3f01c80c25..19b5a39984 100644 --- a/packages/nuxt/src/components/client-fallback-auto-id.ts +++ b/packages/nuxt/src/components/client-fallback-auto-id.ts @@ -4,9 +4,10 @@ import MagicString from 'magic-string' import { isAbsolute, relative } from 'pathe' import { hash } from 'ohash' import { isVue } from '../core/utils' + interface LoaderOptions { sourcemap?: boolean - transform?: ComponentsOptions['transform'], + transform?: ComponentsOptions['transform'] rootDir: string } const CLIENT_FALLBACK_RE = /<(NuxtClientFallback|nuxt-client-fallback)( [^>]*)?>/ @@ -45,9 +46,9 @@ export const clientFallbackAutoIdPlugin = createUnplugin((options: LoaderOptions code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index a5fe8f33a8..c331478fa7 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -53,7 +53,7 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran const components = options.getComponents() const islands = components.filter(component => - component.island || (component.mode === 'server' && !components.some(c => c.pascalName === component.pascalName && c.mode === 'client')) + component.island || (component.mode === 'server' && !components.some(c => c.pascalName === component.pascalName && c.mode === 'client')), ) const { pathname } = parseURL(decodeURIComponent(pathToFileURL(id).href)) return islands.some(c => c.filePath === pathname) @@ -129,17 +129,16 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran }) if (!isVite && hasNuxtClient) { - // eslint-disable-next-line no-console console.warn(`nuxt-client attribute and client components within islands is only supported with Vite. file: ${id}`) } if (s.hasChanged()) { return { code: s.toString(), - map: s.generateMap({ source: id, includeContent: true }) + map: s.generateMap({ source: id, includeContent: true }), } } - } + }, } }) @@ -187,8 +186,8 @@ export const componentsChunkPlugin = createUnplugin((options: ComponentChunkOpti config.build = defu(config.build, { rollupOptions: { input: {}, - output: {} - } + output: {}, + }, }) const rollupOptions = config.build.rollupOptions! @@ -228,7 +227,7 @@ export const componentsChunkPlugin = createUnplugin((options: ComponentChunkOpti } fs.writeFileSync(join(buildDir, 'components-chunk.mjs'), `export const paths = ${JSON.stringify(pathAssociation, null, 2)}`) - } - } + }, + }, } }) diff --git a/packages/nuxt/src/components/loader.ts b/packages/nuxt/src/components/loader.ts index 1f372adfb3..628638ffad 100644 --- a/packages/nuxt/src/components/loader.ts +++ b/packages/nuxt/src/components/loader.ts @@ -99,10 +99,10 @@ export const loaderPlugin = createUnplugin((options: LoaderOptions) => { code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index 0394c5fb1b..61c7686e7a 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -25,15 +25,15 @@ export type getComponentsT = (mode?: 'client' | 'server' | 'all') => Component[] export default defineNuxtModule<ComponentsOptions>({ meta: { name: 'components', - configKey: 'components' + configKey: 'components', }, defaults: { - dirs: [] + dirs: [], }, setup (componentOptions, nuxt) { let componentDirs: ComponentsDir[] = [] const context = { - components: [] as Component[] + components: [] as Component[], } const getComponents: getComponentsT = (mode) => { @@ -50,12 +50,12 @@ export default defineNuxtModule<ComponentsOptions>({ return [ { priority: options?.priority || 0, path: resolve(cwd, 'components/islands'), island: true }, { priority: options?.priority || 0, path: resolve(cwd, 'components/global'), global: true }, - { priority: options?.priority || 0, path: resolve(cwd, 'components') } + { priority: options?.priority || 0, path: resolve(cwd, 'components') }, ] } if (typeof dir === 'string') { return [ - { priority: options?.priority || 0, path: resolve(cwd, resolveAlias(dir)) } + { priority: options?.priority || 0, path: resolve(cwd, resolveAlias(dir)) }, ] } if (!dir) { @@ -65,7 +65,7 @@ export default defineNuxtModule<ComponentsOptions>({ return dirs.map(_dir => ({ priority: options?.priority || 0, ..._dir, - path: resolve(cwd, resolveAlias(_dir.path)) + path: resolve(cwd, resolveAlias(_dir.path)), })) } @@ -100,15 +100,15 @@ export default defineNuxtModule<ComponentsOptions>({ ignore: [ '**/*{M,.m,-m}ixin.{js,ts,jsx,tsx}', // ignore mixins '**/*.d.{cts,mts,ts}', // .d.ts files - ...(dirOptions.ignore || []) + ...(dirOptions.ignore || []), ], - transpile: (transpile === 'auto' ? dirPath.includes('node_modules') : transpile) + transpile: (transpile === 'auto' ? dirPath.includes('node_modules') : transpile), } }).filter(d => d.enabled) componentDirs = [ ...componentDirs.filter(dir => !dir.path.includes('node_modules')), - ...componentDirs.filter(dir => dir.path.includes('node_modules')) + ...componentDirs.filter(dir => dir.path.includes('node_modules')), ] nuxt.options.build!.transpile!.push(...componentDirs.filter(dir => dir.transpile).map(dir => dir.path)) @@ -179,7 +179,7 @@ export default defineNuxtModule<ComponentsOptions>({ _raw: true, mode: 'server', filePath: serverPlaceholderPath, - chunkName: 'components/' + component.kebabName + chunkName: 'components/' + component.kebabName, }) } if (component.mode === 'server' && !nuxt.options.ssr && !newComponents.some(other => other.pascalName === component.pascalName && other.mode === 'client')) { @@ -206,8 +206,8 @@ export default defineNuxtModule<ComponentsOptions>({ 'components.plugin.mjs', 'components.d.ts', 'components.server.mjs', - 'components.client.mjs' - ].includes(template.filename) + 'components.client.mjs', + ].includes(template.filename), }) } }) @@ -219,19 +219,19 @@ export default defineNuxtModule<ComponentsOptions>({ if (nuxt.options.experimental.treeshakeClientOnly && isServer) { config.plugins.push(TreeShakeTemplatePlugin.vite({ sourcemap: !!nuxt.options.sourcemap[mode], - getComponents + getComponents, })) } config.plugins.push(clientFallbackAutoIdPlugin.vite({ sourcemap: !!nuxt.options.sourcemap[mode], - rootDir: nuxt.options.rootDir + rootDir: nuxt.options.rootDir, })) config.plugins.push(loaderPlugin.vite({ sourcemap: !!nuxt.options.sourcemap[mode], getComponents, mode, transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined, - experimentalComponentIslands: !!nuxt.options.experimental.componentIslands + experimentalComponentIslands: !!nuxt.options.experimental.componentIslands, })) if (nuxt.options.experimental.componentIslands) { @@ -242,7 +242,7 @@ export default defineNuxtModule<ComponentsOptions>({ if (!nuxt.options.dev) { config.plugins.push(componentsChunkPlugin.vite({ getComponents, - buildDir: nuxt.options.buildDir + buildDir: nuxt.options.buildDir, })) } else { fs.writeFileSync(join(nuxt.options.buildDir, 'components-chunk.mjs'), `export const paths = ${JSON.stringify( @@ -250,7 +250,7 @@ export default defineNuxtModule<ComponentsOptions>({ if (c.filePath.endsWith('.vue') || c.filePath.endsWith('.js') || c.filePath.endsWith('.ts')) { return Object.assign(acc, { [c.pascalName]: `/@fs/${c.filePath}` }) } const filePath = fs.existsSync(`${c.filePath}.vue`) ? `${c.filePath}.vue` : fs.existsSync(`${c.filePath}.js`) ? `${c.filePath}.js` : `${c.filePath}.ts` return Object.assign(acc, { [c.pascalName]: `/@fs/${filePath}` }) - }, {} as Record<string, string>) + }, {} as Record<string, string>), )}`) } } @@ -260,7 +260,7 @@ export default defineNuxtModule<ComponentsOptions>({ getComponents, rootDir: nuxt.options.rootDir, isDev: nuxt.options.dev, - selectiveClient + selectiveClient, })) } } @@ -274,10 +274,10 @@ export default defineNuxtModule<ComponentsOptions>({ if (comp?.mode === 'server') { ctx.server.ws.send({ event: `nuxt-server-component:${comp.pascalName}`, - type: 'custom' + type: 'custom', }) } - } + }, }) } }) @@ -288,25 +288,25 @@ export default defineNuxtModule<ComponentsOptions>({ if (nuxt.options.experimental.treeshakeClientOnly && mode === 'server') { config.plugins.push(TreeShakeTemplatePlugin.webpack({ sourcemap: !!nuxt.options.sourcemap[mode], - getComponents + getComponents, })) } config.plugins.push(clientFallbackAutoIdPlugin.webpack({ sourcemap: !!nuxt.options.sourcemap[mode], - rootDir: nuxt.options.rootDir + rootDir: nuxt.options.rootDir, })) config.plugins.push(loaderPlugin.webpack({ sourcemap: !!nuxt.options.sourcemap[mode], getComponents, mode, transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined, - experimentalComponentIslands: !!nuxt.options.experimental.componentIslands + experimentalComponentIslands: !!nuxt.options.experimental.componentIslands, })) if (nuxt.options.experimental.componentIslands) { if (mode === 'server') { config.plugins.push(islandsTransform.webpack({ - getComponents + getComponents, })) } else { fs.writeFileSync(join(nuxt.options.buildDir, 'components-chunk.mjs'), 'export const paths = {}') @@ -314,5 +314,5 @@ export default defineNuxtModule<ComponentsOptions>({ } }) }) - } + }, }) diff --git a/packages/nuxt/src/components/runtime/client-component.ts b/packages/nuxt/src/components/runtime/client-component.ts index 97558c8946..8fc181930a 100644 --- a/packages/nuxt/src/components/runtime/client-component.ts +++ b/packages/nuxt/src/components/runtime/client-component.ts @@ -11,9 +11,9 @@ export const createClientPage = (loader: AsyncComponentLoader) => { setup (_, { attrs }) { return () => h('div', [ h(ClientOnly, undefined, { - default: () => h(page, attrs) - }) + default: () => h(page, attrs), + }), ]) - } + }, }) } diff --git a/packages/nuxt/src/components/runtime/server-component.ts b/packages/nuxt/src/components/runtime/server-component.ts index 4b52e46a00..bea615b2dc 100644 --- a/packages/nuxt/src/components/runtime/server-component.ts +++ b/packages/nuxt/src/components/runtime/server-component.ts @@ -14,7 +14,7 @@ export const createServerComponent = (name: string) => { const islandRef = ref<null | typeof NuxtIsland>(null) expose({ - refresh: () => islandRef.value?.refresh() + refresh: () => islandRef.value?.refresh(), }) return () => { @@ -25,10 +25,10 @@ export const createServerComponent = (name: string) => { ref: islandRef, onError: (err) => { emit('error', err) - } + }, }, slots) } - } + }, }) } @@ -42,7 +42,7 @@ export const createIslandPage = (name: string) => { const islandRef = ref<null | typeof NuxtIsland>(null) expose({ - refresh: () => islandRef.value?.refresh() + refresh: () => islandRef.value?.refresh(), }) const route = useRoute() @@ -54,10 +54,10 @@ export const createIslandPage = (name: string) => { name: `page:${name}`, lazy: props.lazy, ref: islandRef, - context: { url: path } - }, slots) + context: { url: path }, + }, slots), ]) } - } + }, }) } diff --git a/packages/nuxt/src/components/scan.ts b/packages/nuxt/src/components/scan.ts index 7bc26a6c57..4f21454e6a 100644 --- a/packages/nuxt/src/components/scan.ts +++ b/packages/nuxt/src/components/scan.ts @@ -69,7 +69,7 @@ export async function scanComponents (dirs: ComponentsDir[], srcDir: string): Pr */ const prefixParts = ([] as string[]).concat( dir.prefix ? splitByCase(dir.prefix) : [], - (dir.pathPrefix !== false) ? splitByCase(relative(dir.path, dirname(filePath))) : [] + (dir.pathPrefix !== false) ? splitByCase(relative(dir.path, dirname(filePath))) : [], ) /** @@ -118,7 +118,7 @@ export async function scanComponents (dirs: ComponentsDir[], srcDir: string): Pr shortPath, export: 'default', // by default, give priority to scanned components - priority: dir.priority ?? 1 + priority: dir.priority ?? 1, } if (typeof dir.extendComponent === 'function') { @@ -160,6 +160,6 @@ export async function scanComponents (dirs: ComponentsDir[], srcDir: string): Pr function warnAboutDuplicateComponent (componentName: string, filePath: string, duplicatePath: string) { logger.warn(`Two component files resolving to the same name \`${componentName}\`:\n` + `\n - ${filePath}` + - `\n - ${duplicatePath}` + `\n - ${duplicatePath}`, ) } diff --git a/packages/nuxt/src/components/templates.ts b/packages/nuxt/src/components/templates.ts index 44c166eb07..f574d85140 100644 --- a/packages/nuxt/src/components/templates.ts +++ b/packages/nuxt/src/components/templates.ts @@ -13,7 +13,7 @@ const createImportMagicComments = (options: ImportMagicCommentsOptions) => { return [ `webpackChunkName: "${chunkName}"`, prefetch === true || typeof prefetch === 'number' ? `webpackPrefetch: ${prefetch}` : false, - preload === true || typeof preload === 'number' ? `webpackPreload: ${preload}` : false + preload === true || typeof preload === 'number' ? `webpackPreload: ${preload}` : false, ].filter(Boolean).join(', ') } @@ -58,14 +58,14 @@ export default defineNuxtPlugin({ } }) ` - } + }, } export const componentNamesTemplate: NuxtTemplate = { filename: 'component-names.mjs', getContents ({ app }) { return `export const componentNames = ${JSON.stringify(app.components.filter(c => !c.island).map(c => c.pascalName))}` - } + }, } export const componentsIslandsTemplate: NuxtTemplate = { @@ -76,7 +76,7 @@ export const componentsIslandsTemplate: NuxtTemplate = { const islands = components.filter(component => component.island || // .server components without a corresponding .client component will need to be rendered as an island - (component.mode === 'server' && !components.some(c => c.pascalName === component.pascalName && c.mode === 'client')) + (component.mode === 'server' && !components.some(c => c.pascalName === component.pascalName && c.mode === 'client')), ) const pageExports = pages?.filter(p => (p.mode === 'server' && p.file && p.name)).map((p) => { @@ -91,11 +91,11 @@ export const componentsIslandsTemplate: NuxtTemplate = { const exp = c.export === 'default' ? 'c.default || c' : `c['${c.export}']` const comment = createImportMagicComments(c) return ` "${c.pascalName}": defineAsyncComponent(${genDynamicImport(c.filePath, { comment })}.then(c => ${exp}))` - } + }, ).concat(pageExports).join(',\n'), - '}' + '}', ].join('\n') - } + }, } export const componentsTypeTemplate = { @@ -106,7 +106,7 @@ export const componentsTypeTemplate = { c.pascalName, `typeof ${genDynamicImport(isAbsolute(c.filePath) ? relative(buildDir, c.filePath).replace(/(?<=\w)\.(?!vue)\w+$/g, '') - : c.filePath.replace(/(?<=\w)\.(?!vue)\w+$/g, ''), { wrapper: false })}['${c.export}']` + : c.filePath.replace(/(?<=\w)\.(?!vue)\w+$/g, ''), { wrapper: false })}['${c.export}']`, ]) return ` @@ -132,11 +132,11 @@ ${componentTypes.map(([pascalName, type]) => `export const Lazy${pascalName}: ${ export const componentNames: string[] ` - } + }, } satisfies NuxtTemplate export const componentsMetadataTemplate: NuxtTemplate = { filename: 'components.json', write: true, - getContents: ({ app }) => JSON.stringify(app.components, null, 2) + getContents: ({ app }) => JSON.stringify(app.components, null, 2), } diff --git a/packages/nuxt/src/components/transform.ts b/packages/nuxt/src/components/transform.ts index 38acd08b3b..f11f9ce555 100644 --- a/packages/nuxt/src/components/transform.ts +++ b/packages/nuxt/src/components/transform.ts @@ -18,10 +18,10 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT imports: [ { name: 'componentNames', - from: '#build/component-names' - } + from: '#build/component-names', + }, ], - virtualImports: ['#components'] + virtualImports: ['#components'], }) function getComponentsImports (): Import[] { @@ -37,13 +37,13 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT { as: c.pascalName, from: withMode(mode), - name: c.export || 'default' + name: c.export || 'default', }, { as: 'Lazy' + c.pascalName, from: withMode([mode, 'async'].filter(Boolean).join(',')), - name: c.export || 'default' - } + name: c.export || 'default', + }, ] }) } @@ -67,36 +67,36 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT return { code: [ 'import { defineAsyncComponent } from "vue"', - `${exportWording} defineAsyncComponent(() => import(${JSON.stringify(bare)}).then(r => r[${JSON.stringify(componentExport)}] || r.default || r))` + `${exportWording} defineAsyncComponent(() => import(${JSON.stringify(bare)}).then(r => r[${JSON.stringify(componentExport)}] || r.default || r))`, ].join('\n'), - map: null + map: null, } } else if (mode === 'client') { return { code: [ genImport(bare, [{ name: componentExport, as: '__component' }]), 'import { createClientOnly } from "#app/components/client-only"', - `${exportWording} createClientOnly(__component)` + `${exportWording} createClientOnly(__component)`, ].join('\n'), - map: null + map: null, } } else if (mode === 'client,async') { return { code: [ 'import { defineAsyncComponent } from "vue"', 'import { createClientOnly } from "#app/components/client-only"', - `${exportWording} defineAsyncComponent(() => import(${JSON.stringify(bare)}).then(r => createClientOnly(r[${JSON.stringify(componentExport)}] || r.default || r)))` + `${exportWording} defineAsyncComponent(() => import(${JSON.stringify(bare)}).then(r => createClientOnly(r[${JSON.stringify(componentExport)}] || r.default || r)))`, ].join('\n'), - map: null + map: null, } } else if (mode === 'server' || mode === 'server,async') { const name = query.nuxt_component_name return { code: [ `import { createServerComponent } from ${JSON.stringify(serverComponentRuntime)}`, - `${exportWording} createServerComponent(${JSON.stringify(name)})` + `${exportWording} createServerComponent(${JSON.stringify(name)})`, ].join('\n'), - map: null + map: null, } } else { throw new Error(`Unknown component mode: ${mode}, this might be an internal bug of Nuxt.`) @@ -118,8 +118,8 @@ export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT code: result.code, map: nuxt.options.sourcemap.server || nuxt.options.sourcemap.client ? result.s.generateMap({ hires: true }) - : undefined + : undefined, } - } + }, })) } diff --git a/packages/nuxt/src/components/tree-shake.ts b/packages/nuxt/src/components/tree-shake.ts index 915b794b2f..f6034d023c 100644 --- a/packages/nuxt/src/components/tree-shake.ts +++ b/packages/nuxt/src/components/tree-shake.ts @@ -81,13 +81,13 @@ export const TreeShakeTemplatePlugin = createUnplugin((options: TreeShakeTemplat componentsToRemoveSet.add(nameToRemove) } } - } + }, }) } } } } - } + }, }) const componentsToRemove = [...componentsToRemoveSet] @@ -107,10 +107,10 @@ export const TreeShakeTemplatePlugin = createUnplugin((options: TreeShakeTemplat code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) @@ -142,7 +142,7 @@ function removeFromSetupReturn (codeAst: Program, name: string, magicString: Mag } } } - } + }, }) } @@ -209,10 +209,10 @@ function isComponentNotCalledInSetup (codeAst: Node, name: string): string | voi // dev only with $setup or _ctx found = (node.property.type === 'Literal' && node.property.value === name) || (node.property.type === 'Identifier' && node.property.name === name) } - } + }, }) } - } + }, }) if (!found) { return name } } @@ -250,7 +250,7 @@ function removeVariableDeclarator (codeAst: Node, name: string, magicString: Mag } } } - } + }, }) } diff --git a/packages/nuxt/src/core/app.ts b/packages/nuxt/src/core/app.ts index ccfffa8abf..021085aac2 100644 --- a/packages/nuxt/src/core/app.ts +++ b/packages/nuxt/src/core/app.ts @@ -16,7 +16,7 @@ export function createApp (nuxt: Nuxt, options: Partial<NuxtApp> = {}): NuxtApp extensions: nuxt.options.extensions, plugins: [], components: [], - templates: [] + templates: [], } as unknown as NuxtApp) as NuxtApp } @@ -97,8 +97,8 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { app.mainComponent = await findPath( nuxt.options._layers.flatMap(layer => [ join(layer.config.srcDir, 'App'), - join(layer.config.srcDir, 'app') - ]) + join(layer.config.srcDir, 'app'), + ]), ) } if (!app.mainComponent) { @@ -113,7 +113,7 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { // Resolve error component if (!app.errorComponent) { app.errorComponent = (await findPath( - nuxt.options._layers.map(layer => join(layer.config.srcDir, 'error')) + nuxt.options._layers.map(layer => join(layer.config.srcDir, 'error')), )) ?? resolve(nuxt.options.appDir, 'components/nuxt-error-page.vue') } @@ -160,9 +160,9 @@ export async function resolveApp (nuxt: Nuxt, app: NuxtApp) { ...config.srcDir ? await resolveFiles(config.srcDir, [ `${pluginDir}/*{${nuxt.options.extensions.join(',')}}`, - `${pluginDir}/*/index{${nuxt.options.extensions.join(',')}}` // TODO: remove, only scan top-level plugins #18418 + `${pluginDir}/*/index{${nuxt.options.extensions.join(',')}}`, // TODO: remove, only scan top-level plugins #18418 ]) - : [] + : [], ].map(plugin => normalizePlugin(plugin as NuxtPlugin))) } @@ -200,7 +200,7 @@ function resolvePaths<Item extends Record<string, any>> (items: Item[], key: { [ if (!item[key]) { return item } return { ...item, - [key]: await resolvePath(resolveAlias(item[key])) + [key]: await resolvePath(resolveAlias(item[key])), } })) } @@ -214,7 +214,7 @@ export async function annotatePlugins (nuxt: Nuxt, plugins: NuxtPlugin[]) { const code = plugin.src in nuxt.vfs ? nuxt.vfs[plugin.src] : await fsp.readFile(plugin.src!, 'utf-8') _plugins.push({ ...await extractMetadata(code, IS_TSX.test(plugin.src) ? 'tsx' : 'ts'), - ...plugin + ...plugin, }) } catch (e) { const relativePluginSrc = relative(nuxt.options.rootDir, plugin.src) diff --git a/packages/nuxt/src/core/builder.ts b/packages/nuxt/src/core/builder.ts index 80b96abd8e..c354b0927d 100644 --- a/packages/nuxt/src/core/builder.ts +++ b/packages/nuxt/src/core/builder.ts @@ -56,7 +56,7 @@ export async function build (nuxt: Nuxt) { const watchEvents: Record<EventType, 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'> = { create: 'add', delete: 'unlink', - update: 'change' + update: 'change', } async function watch (nuxt: Nuxt) { @@ -80,8 +80,8 @@ function createWatcher () { ignoreInitial: true, ignored: [ isIgnored, - 'node_modules' - ] + 'node_modules', + ], }) // TODO: consider moving to emit absolute path in 3.8 or 4.0 @@ -164,8 +164,8 @@ async function createParcelWatcher () { }, { ignore: [ ...nuxt.options.ignore, - 'node_modules' - ] + 'node_modules', + ], }) watcher.then((subscription) => { if (nuxt.options.debug) { diff --git a/packages/nuxt/src/core/external-config-files.ts b/packages/nuxt/src/core/external-config-files.ts index 517c88ecba..6c6d5d0d21 100644 --- a/packages/nuxt/src/core/external-config-files.ts +++ b/packages/nuxt/src/core/external-config-files.ts @@ -30,7 +30,7 @@ async function checkViteConfig () { return await checkAndWarnAboutConfigFileExistence({ fileName: 'vite.config', extensions: ['.js', '.mjs', '.ts', '.cjs', '.mts', '.cts'], - createWarningMessage: foundFile => `Using \`${foundFile}\` is not supported together with Nuxt. Use \`options.vite\` instead. You can read more in \`https://nuxt.com/docs/api/nuxt-config#vite\`.` + createWarningMessage: foundFile => `Using \`${foundFile}\` is not supported together with Nuxt. Use \`options.vite\` instead. You can read more in \`https://nuxt.com/docs/api/nuxt-config#vite\`.`, }) } @@ -39,7 +39,7 @@ async function checkWebpackConfig () { return await checkAndWarnAboutConfigFileExistence({ fileName: 'webpack.config', extensions: ['.js', '.mjs', '.ts', '.cjs', '.mts', '.cts', 'coffee'], - createWarningMessage: foundFile => `Using \`${foundFile}\` is not supported together with Nuxt. Use \`options.webpack\` instead. You can read more in \`https://nuxt.com/docs/api/nuxt-config#webpack-1\`.` + createWarningMessage: foundFile => `Using \`${foundFile}\` is not supported together with Nuxt. Use \`options.webpack\` instead. You can read more in \`https://nuxt.com/docs/api/nuxt-config#webpack-1\`.`, }) } @@ -48,7 +48,7 @@ async function checkNitroConfig () { return await checkAndWarnAboutConfigFileExistence({ fileName: 'nitro.config', extensions: ['.ts', '.mts'], - createWarningMessage: foundFile => `Using \`${foundFile}\` is not supported together with Nuxt. Use \`options.nitro\` instead. You can read more in \`https://nuxt.com/docs/api/nuxt-config#nitro\`.` + createWarningMessage: foundFile => `Using \`${foundFile}\` is not supported together with Nuxt. Use \`options.nitro\` instead. You can read more in \`https://nuxt.com/docs/api/nuxt-config#nitro\`.`, }) } @@ -56,13 +56,13 @@ async function checkPostCSSConfig () { return await checkAndWarnAboutConfigFileExistence({ fileName: 'postcss.config', extensions: ['.js', '.cjs'], - createWarningMessage: foundFile => `Using \`${foundFile}\` is not supported together with Nuxt. Use \`options.postcss\` instead. You can read more in \`https://nuxt.com/docs/api/nuxt-config#postcss\`.` + createWarningMessage: foundFile => `Using \`${foundFile}\` is not supported together with Nuxt. Use \`options.postcss\` instead. You can read more in \`https://nuxt.com/docs/api/nuxt-config#postcss\`.`, }) } interface CheckAndWarnAboutConfigFileExistenceOptions { - fileName: string, - extensions: string[], + fileName: string + extensions: string[] createWarningMessage: (foundFile: string) => string } diff --git a/packages/nuxt/src/core/features.ts b/packages/nuxt/src/core/features.ts index 46eb34de34..2e1bba0106 100644 --- a/packages/nuxt/src/core/features.ts +++ b/packages/nuxt/src/core/features.ts @@ -26,7 +26,7 @@ async function promptToInstall (name: string, installCommand: () => Promise<void const confirm = await logger.prompt(`Do you want to install ${name} package?`, { type: 'confirm', name: 'confirm', - initial: true + initial: true, }) if (!confirm) { @@ -60,6 +60,6 @@ export function installNuxtModule (name: string, options?: EnsurePackageInstalle export function ensurePackageInstalled (name: string, options: EnsurePackageInstalledOptions) { return promptToInstall(name, () => addDependency(name, { cwd: options.rootDir, - dev: true + dev: true, }), options) } diff --git a/packages/nuxt/src/core/modules.ts b/packages/nuxt/src/core/modules.ts index 401aa9c41d..6a9577f37d 100644 --- a/packages/nuxt/src/core/modules.ts +++ b/packages/nuxt/src/core/modules.ts @@ -10,7 +10,7 @@ export const addModuleTranspiles = (opts: AddModuleTranspilesOptions = {}) => { const modules = [ ...opts.additionalModules || [], ...nuxt.options.modules, - ...nuxt.options._modules + ...nuxt.options._modules, ] .map(m => typeof m === 'string' ? m : Array.isArray(m) ? m[0] : m.src) .filter(m => typeof m === 'string') diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 96a36dd181..24f82eab8a 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -23,7 +23,7 @@ import { ImportProtectionPlugin, nuxtImportProtections } from './plugins/import- const logLevelMapReverse = { silent: 0, info: 3, - verbose: 3 + verbose: 3, } satisfies Record<NuxtOptions['logLevel'], NitroConfig['logLevel']> export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { @@ -33,7 +33,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { const excludePaths = nuxt.options._layers .flatMap(l => [ l.cwd.match(/(?<=\/)node_modules\/(.+)$/)?.[1], - l.cwd.match(/\.pnpm\/.+\/node_modules\/(.+)$/)?.[1] + l.cwd.match(/\.pnpm\/.+\/node_modules\/(.+)$/)?.[1], ]) .filter((dir): dir is string => Boolean(dir)) .map(dir => escapeRE(dir)) @@ -46,7 +46,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { const modules = await resolveNuxtModule(rootDirWithSlash, nuxt.options._installedModules .filter(m => m.entryPath) - .map(m => m.entryPath) + .map(m => m.entryPath), ) const nitroConfig: NitroConfig = defu(_nitroConfig, { @@ -58,11 +58,11 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { buildDir: nuxt.options.buildDir, experimental: { asyncContext: nuxt.options.experimental.asyncContext, - typescriptBundlerResolution: nuxt.options.future.typescriptBundlerResolution || nuxt.options.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler' || _nitroConfig.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler' + typescriptBundlerResolution: nuxt.options.future.typescriptBundlerResolution || nuxt.options.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler' || _nitroConfig.typescript?.tsConfig?.compilerOptions?.moduleResolution?.toLowerCase() === 'bundler', }, framework: { name: 'nuxt', - version: nuxtVersion + version: nuxtVersion, }, imports: { autoImport: nuxt.options.imports.autoImport as boolean, @@ -70,31 +70,31 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { { as: '__buildAssetsURL', name: 'buildAssetsURL', - from: resolve(distDir, 'core/runtime/nitro/paths') + from: resolve(distDir, 'core/runtime/nitro/paths'), }, { as: '__publicAssetsURL', name: 'publicAssetsURL', - from: resolve(distDir, 'core/runtime/nitro/paths') + from: resolve(distDir, 'core/runtime/nitro/paths'), }, { // TODO: Remove after https://github.com/unjs/nitro/issues/1049 as: 'defineAppConfig', name: 'defineAppConfig', from: resolve(distDir, 'core/runtime/nitro/config'), - priority: -1 - } + priority: -1, + }, ], - exclude: [...excludePattern, /[\\/]\.git[\\/]/] + exclude: [...excludePattern, /[\\/]\.git[\\/]/], }, esbuild: { - options: { exclude: excludePattern } + options: { exclude: excludePattern }, }, analyze: !nuxt.options.test && nuxt.options.build.analyze && (nuxt.options.build.analyze === true || nuxt.options.build.analyze.enabled) ? { template: 'treemap', projectRoot: nuxt.options.rootDir, - filename: join(nuxt.options.analyzeDir, '{name}.html') + filename: join(nuxt.options.analyzeDir, '{name}.html'), } : false, scanDirs: nuxt.options._layers.map(layer => (layer.config.serverDir || layer.config.srcDir) && resolve(layer.cwd, layer.config.serverDir || resolve(layer.config.srcDir, 'server'))).filter(Boolean), @@ -106,10 +106,10 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { baseURL: nuxt.options.app.baseURL, virtual: { '#internal/nuxt.config.mjs': () => nuxt.vfs['#build/nuxt.config'], - '#spa-template': async () => `export const template = ${JSON.stringify(await spaLoadingTemplate(nuxt))}` + '#spa-template': async () => `export const template = ${JSON.stringify(await spaLoadingTemplate(nuxt))}`, }, routeRules: { - '/__nuxt_error': { cache: false } + '/__nuxt_error': { cache: false }, }, runtimeConfig: { ...nuxt.options.runtimeConfig, @@ -117,17 +117,17 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { ...nuxt.options.runtimeConfig.app, baseURL: nuxt.options.runtimeConfig.app.baseURL.startsWith('./') ? nuxt.options.runtimeConfig.app.baseURL.slice(1) - : nuxt.options.runtimeConfig.app.baseURL + : nuxt.options.runtimeConfig.app.baseURL, }, nitro: { envPrefix: 'NUXT_', // TODO: address upstream issue with defu types...? - ...nuxt.options.runtimeConfig.nitro satisfies RuntimeConfig['nitro'] as any - } + ...nuxt.options.runtimeConfig.nitro satisfies RuntimeConfig['nitro'] as any, + }, }, appConfig: nuxt.options.appConfig, appConfigFiles: nuxt.options._layers.map( - layer => resolve(layer.config.srcDir, 'app.config') + layer => resolve(layer.config.srcDir, 'app.config'), ), typescript: { strict: true, @@ -136,14 +136,14 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { tsConfig: { include: [ join(nuxt.options.buildDir, 'types/nitro-nuxt.d.ts'), - ...modules.map(m => join(relativeWithDot(nuxt.options.buildDir, m), 'runtime/server')) + ...modules.map(m => join(relativeWithDot(nuxt.options.buildDir, m), 'runtime/server')), ], exclude: [ ...nuxt.options.modulesDir.map(m => relativeWithDot(nuxt.options.buildDir, m)), // nitro generate output: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/core/nitro.ts#L186 - relativeWithDot(nuxt.options.buildDir, resolve(nuxt.options.rootDir, 'dist')) - ] - } + relativeWithDot(nuxt.options.buildDir, resolve(nuxt.options.rootDir, 'dist')), + ], + }, }, publicAssets: [ nuxt.options.dev @@ -151,17 +151,17 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { : { dir: join(nuxt.options.buildDir, 'dist/client', nuxt.options.app.buildAssetsDir), maxAge: 31536000 /* 1 year */, - baseURL: nuxt.options.app.buildAssetsDir + baseURL: nuxt.options.app.buildAssetsDir, }, ...nuxt.options._layers .map(layer => join(layer.config.srcDir, (layer.config.rootDir === nuxt.options.rootDir ? nuxt.options : layer.config).dir?.public || 'public')) .filter(dir => existsSync(dir)) - .map(dir => ({ dir })) + .map(dir => ({ dir })), ], prerender: { failOnError: true, concurrency: cpus().length * 4 || 4, - routes: ([] as string[]).concat(nuxt.options.generate.routes) + routes: ([] as string[]).concat(nuxt.options.generate.routes), }, sourceMap: nuxt.options.sourcemap.server, externals: { @@ -171,13 +171,13 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { : [ ...nuxt.options.experimental.externalVue ? [] : ['vue', '@vue/'], '@nuxt/', - nuxt.options.buildDir + nuxt.options.buildDir, ]), ...nuxt.options.build.transpile.filter((i): i is string => typeof i === 'string'), 'nuxt/dist', 'nuxt3/dist', 'nuxt-nightly/dist', - distDir + distDir, ], traceInclude: [ // force include files used in generated code from the runtime-compiler @@ -187,10 +187,10 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { const serverRendererPath = resolve(path, 'vue/server-renderer/index.js') if (existsSync(serverRendererPath)) { targets.push(serverRendererPath) } return targets - }, []) + }, []), ] - : [] - ] + : [], + ], }, alias: { // Vue 3 mocks @@ -201,7 +201,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { '@babel/parser': 'unenv/runtime/mock/proxy', '@vue/compiler-core': 'unenv/runtime/mock/proxy', '@vue/compiler-dom': 'unenv/runtime/mock/proxy', - '@vue/compiler-ssr': 'unenv/runtime/mock/proxy' + '@vue/compiler-ssr': 'unenv/runtime/mock/proxy', }, '@vue/devtools-api': 'vue-devtools-stub', @@ -209,7 +209,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { '#internal/nuxt/paths': resolve(distDir, 'core/runtime/nitro/paths'), // Nuxt aliases - ...nuxt.options.alias + ...nuxt.options.alias, }, replace: { 'process.env.NUXT_NO_SSR': nuxt.options.ssr === false, @@ -220,13 +220,13 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { 'process.env.NUXT_ASYNC_CONTEXT': !!nuxt.options.experimental.asyncContext, 'process.env.NUXT_SHARED_DATA': !!nuxt.options.experimental.sharedPrerenderData, 'process.dev': nuxt.options.dev, - __VUE_PROD_DEVTOOLS__: false + '__VUE_PROD_DEVTOOLS__': false, }, rollupConfig: { output: {}, - plugins: [] + plugins: [], }, - logLevel: logLevelMapReverse[nuxt.options.logLevel] + logLevel: logLevelMapReverse[nuxt.options.logLevel], } satisfies NitroConfig) // Resolve user-provided paths @@ -252,14 +252,14 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { { dir: join(tempDir, 'meta'), maxAge: 31536000 /* 1 year */, - baseURL: joinURL(manifestPrefix, 'meta') + baseURL: joinURL(manifestPrefix, 'meta'), }, // latest build { dir: tempDir, maxAge: 1, - baseURL: manifestPrefix - } + baseURL: manifestPrefix, + }, ) nuxt.options.alias['#app-manifest'] = join(tempDir, `meta/${buildId}.json`) @@ -308,7 +308,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { // Add pages prerendered but not covered by route rules const prerenderedRoutes = new Set<string>() const routeRulesMatcher = toRouteMatcher( - createRadixRouter({ routes: routeRules }) + createRadixRouter({ routes: routeRules }), ) if (nitro._prerenderedRoutes?.length) { const payloadSuffix = nuxt.options.experimental.renderJsonPayloads ? '/_payload.json' : '/_payload.js' @@ -327,13 +327,13 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { id: buildId, timestamp: buildTimestamp, matcher: exportMatcher(routeRulesMatcher), - prerendered: nuxt.options.dev ? [] : [...prerenderedRoutes] + prerendered: nuxt.options.dev ? [] : [...prerenderedRoutes], } await fsp.mkdir(join(tempDir, 'meta'), { recursive: true }) await fsp.writeFile(join(tempDir, 'latest.json'), JSON.stringify({ id: buildId, - timestamp: buildTimestamp + timestamp: buildTimestamp, })) await fsp.writeFile(join(tempDir, `meta/${buildId}.json`), JSON.stringify(manifest)) }) @@ -362,7 +362,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { nitroConfig.handlers = nitroConfig.handlers || [] nitroConfig.handlers.push({ handler: resolve(distDir, 'core/runtime/nitro/no-ssr'), - middleware: true + middleware: true, }) } @@ -373,8 +373,8 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { ImportProtectionPlugin.rollup({ rootDir: nuxt.options.rootDir, patterns: nuxtImportProtections(nuxt, { isNitro: true }), - exclude: [/core[\\/]runtime[\\/]nitro[\\/]renderer/] - }) + exclude: [/core[\\/]runtime[\\/]nitro[\\/]renderer/], + }), ) // Extend nitro config with hook @@ -422,8 +422,8 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { 'internal:nuxt:prerender': { // TODO: resolve upstream where file URLs are not being resolved/inlined correctly driver: isWindows ? pathToFileURL(cacheDriverPath).href : cacheDriverPath, - base: cacheDir - } + base: cacheDir, + }, }) // Expose nitro to modules and kit @@ -446,12 +446,12 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { if (Array.isArray(config.resolve!.alias)) { config.resolve!.alias.push({ find: 'vue', - replacement: 'vue/dist/vue.esm-bundler' + replacement: 'vue/dist/vue.esm-bundler', }) } else { config.resolve!.alias = { ...config.resolve!.alias, - vue: 'vue/dist/vue.esm-bundler' + vue: 'vue/dist/vue.esm-bundler', } } } @@ -462,7 +462,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { if (Array.isArray(clientConfig!.resolve!.alias)) { clientConfig!.resolve!.alias.push({ name: 'vue', - alias: 'vue/dist/vue.esm-bundler' + alias: 'vue/dist/vue.esm-bundler', }) } else { clientConfig!.resolve!.alias!.vue = 'vue/dist/vue.esm-bundler' @@ -477,7 +477,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { nitro.options.handlers.unshift({ route: '/__nuxt_error', lazy: true, - handler: resolve(distDir, 'core/runtime/nitro/renderer') + handler: resolve(distDir, 'core/runtime/nitro/renderer'), }) if (!nuxt.options.dev && nuxt.options.experimental.noVueServer) { diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 03c151b638..06e962b211 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -10,13 +10,13 @@ import { readPackageJSON, resolvePackageJSON } from 'pkg-types' import escapeRE from 'escape-string-regexp' import fse from 'fs-extra' import { withoutLeadingSlash } from 'ufo' -/* eslint-disable import/no-restricted-paths */ + import defu from 'defu' import pagesModule from '../pages/module' import metaModule from '../head/module' import componentsModule from '../components/module' import importsModule from '../imports/module' -/* eslint-enable */ + import { distDir, pkgDir } from '../dirs' import { version } from '../../package.json' import { ImportProtectionPlugin, nuxtImportProtections } from './plugins/import-protection' @@ -46,18 +46,18 @@ export function createNuxt (options: NuxtOptions): Nuxt { ready: () => initNuxt(nuxt), close: () => Promise.resolve(hooks.callHook('close', nuxt)), vfs: {}, - apps: {} + apps: {}, } return nuxt } const nightlies = { - nitropack: 'nitropack-nightly', - h3: 'h3-nightly', - nuxt: 'nuxt-nightly', + 'nitropack': 'nitropack-nightly', + 'h3': 'h3-nightly', + 'nuxt': 'nuxt-nightly', '@nuxt/schema': '@nuxt/schema-nightly', - '@nuxt/kit': '@nuxt/kit-nightly' + '@nuxt/kit': '@nuxt/kit-nightly', } async function initNuxt (nuxt: Nuxt) { @@ -98,7 +98,7 @@ async function initNuxt (nuxt: Nuxt) { // Set nitro resolutions for types that might be obscured with shamefully-hoist=false nuxt.options.nitro.typescript = defu(nuxt.options.nitro.typescript, { - tsConfig: { compilerOptions: { paths: { ...paths } } } + tsConfig: { compilerOptions: { paths: { ...paths } } }, }) // Add nuxt types @@ -132,7 +132,7 @@ async function initNuxt (nuxt: Nuxt) { rootDir: nuxt.options.rootDir, // Exclude top-level resolutions by plugins exclude: [join(nuxt.options.srcDir, 'index.html')], - patterns: nuxtImportProtections(nuxt) + patterns: nuxtImportProtections(nuxt), } addVitePlugin(() => ImportProtectionPlugin.vite(config)) addWebpackPlugin(() => ImportProtectionPlugin.webpack(config)) @@ -147,7 +147,7 @@ async function initNuxt (nuxt: Nuxt) { dev: nuxt.options.dev, root: nuxt.options.srcDir, // skip top-level layer (user's project) as the aliases will already be correctly resolved - layers: nuxt.options._layers.slice(1) + layers: nuxt.options._layers.slice(1), })) addWebpackPlugin(() => LayerAliasingPlugin.webpack({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, @@ -155,7 +155,7 @@ async function initNuxt (nuxt: Nuxt) { root: nuxt.options.srcDir, // skip top-level layer (user's project) as the aliases will already be correctly resolved layers: nuxt.options._layers.slice(1), - transform: true + transform: true, })) } @@ -165,8 +165,8 @@ async function initNuxt (nuxt: Nuxt) { sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, transformerOptions: { ...nuxt.options.optimization.asyncTransforms, - helperModule: await tryResolveModule('unctx', nuxt.options.modulesDir) ?? 'unctx' - } + helperModule: await tryResolveModule('unctx', nuxt.options.modulesDir) ?? 'unctx', + }, } satisfies UnctxTransformPluginOptions addVitePlugin(() => UnctxTransformPlugin.vite(options)) addWebpackPlugin(() => UnctxTransformPlugin.webpack(options)) @@ -174,7 +174,7 @@ async function initNuxt (nuxt: Nuxt) { // Add composable tree-shaking optimisations const serverTreeShakeOptions: TreeShakeComposablesPluginOptions = { sourcemap: !!nuxt.options.sourcemap.server, - composables: nuxt.options.optimization.treeShake.composables.server + composables: nuxt.options.optimization.treeShake.composables.server, } if (Object.keys(serverTreeShakeOptions.composables).length) { addVitePlugin(() => TreeShakeComposablesPlugin.vite(serverTreeShakeOptions), { client: false }) @@ -182,7 +182,7 @@ async function initNuxt (nuxt: Nuxt) { } const clientTreeShakeOptions: TreeShakeComposablesPluginOptions = { sourcemap: !!nuxt.options.sourcemap.client, - composables: nuxt.options.optimization.treeShake.composables.client + composables: nuxt.options.optimization.treeShake.composables.client, } if (Object.keys(clientTreeShakeOptions.composables).length) { addVitePlugin(() => TreeShakeComposablesPlugin.vite(clientTreeShakeOptions), { server: false }) @@ -206,11 +206,11 @@ async function initNuxt (nuxt: Nuxt) { addServerPlugin(resolve(distDir, 'core/runtime/nitro/dev-server-logs')) nuxt.options.nitro = defu(nuxt.options.nitro, { externals: { - inline: [/#internal\/dev-server-logs-options/] + inline: [/#internal\/dev-server-logs-options/], }, virtual: { - '#internal/dev-server-logs-options': () => `export const rootDir = ${JSON.stringify(nuxt.options.rootDir)};` - } + '#internal/dev-server-logs-options': () => `export const rootDir = ${JSON.stringify(nuxt.options.rootDir)};`, + }, }) } @@ -236,7 +236,7 @@ async function initNuxt (nuxt: Nuxt) { // Transpile layers within node_modules nuxt.options.build.transpile.push( - ...nuxt.options._layers.filter(i => i.cwd.includes('node_modules')).map(i => i.cwd as string) + ...nuxt.options._layers.filter(i => i.cwd.includes('node_modules')).map(i => i.cwd as string), ) // Init user modules @@ -258,7 +258,7 @@ async function initNuxt (nuxt: Nuxt) { const modulesDir = (config.rootDir === nuxt.options.rootDir ? nuxt.options : config).dir?.modules || 'modules' const layerModules = await resolveFiles(config.srcDir, [ `${modulesDir}/*{${nuxt.options.extensions.join(',')}}`, - `${modulesDir}/*/index{${nuxt.options.extensions.join(',')}}` + `${modulesDir}/*/index{${nuxt.options.extensions.join(',')}}`, ]) for (const mod of layerModules) { watchedPaths.add(mod) @@ -275,55 +275,55 @@ async function initNuxt (nuxt: Nuxt) { addComponent({ name: 'NuxtWelcome', priority: 10, // built-in that we do not expect the user to override - filePath: (await tryResolveModule('@nuxt/ui-templates/templates/welcome.vue', nuxt.options.modulesDir))! + filePath: (await tryResolveModule('@nuxt/ui-templates/templates/welcome.vue', nuxt.options.modulesDir))!, }) addComponent({ name: 'NuxtLayout', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/nuxt-layout') + filePath: resolve(nuxt.options.appDir, 'components/nuxt-layout'), }) // Add <NuxtErrorBoundary> addComponent({ name: 'NuxtErrorBoundary', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/nuxt-error-boundary') + filePath: resolve(nuxt.options.appDir, 'components/nuxt-error-boundary'), }) // Add <ClientOnly> addComponent({ name: 'ClientOnly', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/client-only') + filePath: resolve(nuxt.options.appDir, 'components/client-only'), }) // Add <DevOnly> addComponent({ name: 'DevOnly', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/dev-only') + filePath: resolve(nuxt.options.appDir, 'components/dev-only'), }) // Add <ServerPlaceholder> addComponent({ name: 'ServerPlaceholder', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/server-placeholder') + filePath: resolve(nuxt.options.appDir, 'components/server-placeholder'), }) // Add <NuxtLink> addComponent({ name: 'NuxtLink', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/nuxt-link') + filePath: resolve(nuxt.options.appDir, 'components/nuxt-link'), }) // Add <NuxtLoadingIndicator> addComponent({ name: 'NuxtLoadingIndicator', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/nuxt-loading-indicator') + filePath: resolve(nuxt.options.appDir, 'components/nuxt-loading-indicator'), }) // Add <NuxtClientFallback> @@ -333,7 +333,7 @@ async function initNuxt (nuxt: Nuxt) { _raw: true, priority: 10, // built-in that we do not expect the user to override filePath: resolve(nuxt.options.appDir, 'components/client-fallback.client'), - mode: 'client' + mode: 'client', }) addComponent({ @@ -341,7 +341,7 @@ async function initNuxt (nuxt: Nuxt) { _raw: true, priority: 10, // built-in that we do not expect the user to override filePath: resolve(nuxt.options.appDir, 'components/client-fallback.server'), - mode: 'server' + mode: 'server', }) } @@ -350,7 +350,7 @@ async function initNuxt (nuxt: Nuxt) { addComponent({ name: 'NuxtIsland', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(nuxt.options.appDir, 'components/nuxt-island') + filePath: resolve(nuxt.options.appDir, 'components/nuxt-island'), }) if (!nuxt.options.ssr && nuxt.options.experimental.componentIslands !== 'auto') { @@ -368,7 +368,7 @@ async function initNuxt (nuxt: Nuxt) { priority: -1, filePath: resolve(nuxt.options.appDir, 'components/nuxt-stubs'), // @ts-expect-error TODO: refactor to nuxi - _internal_install: '@nuxt/image' + _internal_install: '@nuxt/image', }) } @@ -414,10 +414,10 @@ async function initNuxt (nuxt: Nuxt) { '@nuxt/vite-builder': 'vite/client', '@nuxt/webpack-builder': 'webpack/module', // simpler overrides from `typescript.builder` for better DX - vite: 'vite/client', - webpack: 'webpack/module', + 'vite': 'vite/client', + 'webpack': 'webpack/module', // default 'merged' builder environment for module authors - shared: '@nuxt/schema/builder-env' + 'shared': '@nuxt/schema/builder-env', } nuxt.hook('prepare:types', ({ references }) => { @@ -451,7 +451,7 @@ async function initNuxt (nuxt: Nuxt) { addRouteMiddleware({ name: 'manifest-route-rule', path: resolve(nuxt.options.appDir, 'middleware/manifest-route-rule'), - global: true + global: true, }) addPlugin(resolve(nuxt.options.appDir, 'plugins/check-outdated-build.client')) @@ -535,7 +535,7 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise<Nuxt> { if (options.builder === '@nuxt/webpack-builder') { if (!await import('./features').then(r => r.ensurePackageInstalled('@nuxt/webpack-builder', { rootDir: options.rootDir, - searchPaths: options.modulesDir + searchPaths: options.modulesDir, }))) { logger.warn('Failed to install `@nuxt/webpack-builder`, please install it manually, or change the `builder` option to vite in `nuxt.config`') } @@ -547,15 +547,15 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise<Nuxt> { transform: { include: options._layers .filter(i => i.cwd && i.cwd.includes('node_modules')) - .map(i => new RegExp(`(^|\\/)${escapeRE(i.cwd!.split('node_modules/').pop()!)}(\\/|$)(?!node_modules\\/)`)) - } + .map(i => new RegExp(`(^|\\/)${escapeRE(i.cwd!.split('node_modules/').pop()!)}(\\/|$)(?!node_modules\\/)`)), + }, }]) options._modules.push(schemaModule) options.modulesDir.push(resolve(options.workspaceDir, 'node_modules')) options.modulesDir.push(resolve(pkgDir, 'node_modules')) options.build.transpile.push( '@nuxt/ui-templates', // this exposes vue SFCs - 'std-env' // we need to statically replace process.env when used in runtime code + 'std-env', // we need to statically replace process.env when used in runtime code ) options.alias['vue-demi'] = resolve(options.appDir, 'compat/vue-demi') options.alias['@vue/composition-api'] = resolve(options.appDir, 'compat/capi') diff --git a/packages/nuxt/src/core/plugins/async-context.ts b/packages/nuxt/src/core/plugins/async-context.ts index fd997070dd..28f71c9c73 100644 --- a/packages/nuxt/src/core/plugins/async-context.ts +++ b/packages/nuxt/src/core/plugins/async-context.ts @@ -21,9 +21,9 @@ export const AsyncContextInjectionPlugin = (nuxt: Nuxt) => createUnplugin(() => code: s.toString(), map: nuxt.options.sourcemap.client || nuxt.options.sourcemap.server ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/core/plugins/dev-only.ts b/packages/nuxt/src/core/plugins/dev-only.ts index 6adc7a375a..35437ad777 100644 --- a/packages/nuxt/src/core/plugins/dev-only.ts +++ b/packages/nuxt/src/core/plugins/dev-only.ts @@ -33,9 +33,9 @@ export const DevOnlyPlugin = createUnplugin((options: DevOnlyPluginOptions) => { code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/core/plugins/import-protection.ts b/packages/nuxt/src/core/plugins/import-protection.ts index f9f1578d23..cd740d9828 100644 --- a/packages/nuxt/src/core/plugins/import-protection.ts +++ b/packages/nuxt/src/core/plugins/import-protection.ts @@ -18,12 +18,12 @@ export const nuxtImportProtections = (nuxt: { options: NuxtOptions }, options: { patterns.push([ /^(nuxt|nuxt3|nuxt-nightly)$/, - '`nuxt`, `nuxt3` or `nuxt-nightly` cannot be imported directly.' + (options.isNitro ? '' : ' Instead, import runtime Nuxt composables from `#app` or `#imports`.') + '`nuxt`, `nuxt3` or `nuxt-nightly` cannot be imported directly.' + (options.isNitro ? '' : ' Instead, import runtime Nuxt composables from `#app` or `#imports`.'), ]) patterns.push([ /^((|~|~~|@|@@)\/)?nuxt\.config(\.|$)/, - 'Importing directly from a `nuxt.config` file is not allowed. Instead, use runtime config or a module.' + 'Importing directly from a `nuxt.config` file is not allowed. Instead, use runtime config or a module.', ]) patterns.push([/(^|node_modules\/)@vue\/composition-api/]) @@ -31,7 +31,7 @@ export const nuxtImportProtections = (nuxt: { options: NuxtOptions }, options: { for (const mod of nuxt.options.modules.filter(m => typeof m === 'string')) { patterns.push([ new RegExp(`^${escapeRE(mod as string)}$`), - 'Importing directly from module entry-points is not allowed.' + 'Importing directly from module entry-points is not allowed.', ]) } @@ -48,7 +48,7 @@ export const nuxtImportProtections = (nuxt: { options: NuxtOptions }, options: { if (!options.isNitro) { patterns.push([ new RegExp(escapeRE(relative(nuxt.options.srcDir, resolve(nuxt.options.srcDir, nuxt.options.serverDir || 'server'))) + '\\/(api|routes|middleware|plugins)\\/'), - 'Importing from server is not allowed in the Vue part of your app.' + 'Importing from server is not allowed in the Vue part of your app.', ]) } @@ -88,6 +88,6 @@ export const ImportProtectionPlugin = createUnplugin(function (options: ImportPr return _require.resolve('unenv/runtime/mock/proxy') } return null - } + }, } }) diff --git a/packages/nuxt/src/core/plugins/layer-aliasing.ts b/packages/nuxt/src/core/plugins/layer-aliasing.ts index 250bdcc50b..852cb0f281 100644 --- a/packages/nuxt/src/core/plugins/layer-aliasing.ts +++ b/packages/nuxt/src/core/plugins/layer-aliasing.ts @@ -25,7 +25,7 @@ export const LayerAliasingPlugin = createUnplugin((options: LayerAliasingOptions '~': layer.config?.alias?.['~'] || srcDir, '@': layer.config?.alias?.['@'] || srcDir, '~~': layer.config?.alias?.['~~'] || rootDir, - '@@': layer.config?.alias?.['@@'] || rootDir + '@@': layer.config?.alias?.['@@'] || rootDir, } } const layers = Object.keys(aliases).sort((a, b) => b.length - a.length) @@ -46,8 +46,8 @@ export const LayerAliasingPlugin = createUnplugin((options: LayerAliasingOptions if (resolvedId !== id) { return await this.resolve(resolvedId, importer, { skipSelf: true }) } - } - } + }, + }, }, // webpack-only transform @@ -69,9 +69,9 @@ export const LayerAliasingPlugin = createUnplugin((options: LayerAliasingOptions if (s.hasChanged()) { return { code: s.toString(), - map: options.sourcemap ? s.generateMap({ hires: true }) : undefined + map: options.sourcemap ? s.generateMap({ hires: true }) : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/core/plugins/plugin-metadata.ts b/packages/nuxt/src/core/plugins/plugin-metadata.ts index 596372f83f..331c5b8d9d 100644 --- a/packages/nuxt/src/core/plugins/plugin-metadata.ts +++ b/packages/nuxt/src/core/plugins/plugin-metadata.ts @@ -11,7 +11,6 @@ import MagicString from 'magic-string' import { normalize } from 'pathe' import { logger } from '@nuxt/kit' -// eslint-disable-next-line import/no-restricted-paths import type { ObjectPlugin, PluginMeta } from '#app' const internalOrderMap = { @@ -32,13 +31,13 @@ const internalOrderMap = { // +20: post (user) <-- post mapped to this 'user-post': 20, // +30: post-all (nuxt) - 'nuxt-post-all': 30 + 'nuxt-post-all': 30, } export const orderMap: Record<NonNullable<ObjectPlugin['enforce']>, number> = { pre: internalOrderMap['user-pre'], default: internalOrderMap['user-default'], - post: internalOrderMap['user-post'] + post: internalOrderMap['user-post'], } const metaCache: Record<string, Omit<PluginMeta, 'enforce'>> = {} @@ -50,7 +49,7 @@ export async function extractMetadata (code: string, loader = 'ts' as 'ts' | 'ts const js = await transform(code, { loader }) walk(parse(js.code, { sourceType: 'module', - ecmaVersion: 'latest' + ecmaVersion: 'latest', }) as Node, { enter (_node) { if (_node.type !== 'CallExpression' || (_node as CallExpression).callee.type !== 'Identifier') { return } @@ -77,7 +76,7 @@ export async function extractMetadata (code: string, loader = 'ts' as 'ts' | 'ts meta.order = meta.order || orderMap[meta.enforce || 'default'] || orderMap.default delete meta.enforce - } + }, }) metaCache[code] = meta return meta as Omit<PluginMeta, 'enforce'> @@ -88,7 +87,7 @@ const keys: Record<PluginMetaKey, string> = { name: 'name', order: 'order', enforce: 'enforce', - dependsOn: 'dependsOn' + dependsOn: 'dependsOn', } function isMetadataKey (key: string): key is PluginMetaKey { return key in keys @@ -134,7 +133,7 @@ export const RemovePluginMetadataPlugin = (nuxt: Nuxt) => createUnplugin(() => { s.overwrite(0, code.length, 'export default () => {}') return { code: s.toString(), - map: nuxt.options.sourcemap.client || nuxt.options.sourcemap.server ? s.generateMap({ hires: true }) : null + map: nuxt.options.sourcemap.client || nuxt.options.sourcemap.server ? s.generateMap({ hires: true }) : null, } } @@ -144,7 +143,7 @@ export const RemovePluginMetadataPlugin = (nuxt: Nuxt) => createUnplugin(() => { try { walk(this.parse(code, { sourceType: 'module', - ecmaVersion: 'latest' + ecmaVersion: 'latest', }) as Node, { enter (_node) { if (_node.type === 'ImportSpecifier' && (_node.imported.name === 'defineNuxtPlugin' || _node.imported.name === 'definePayloadPlugin')) { @@ -193,7 +192,7 @@ export const RemovePluginMetadataPlugin = (nuxt: Nuxt) => createUnplugin(() => { } } } - } + }, }) } catch (e) { logger.error(e) @@ -207,9 +206,9 @@ export const RemovePluginMetadataPlugin = (nuxt: Nuxt) => createUnplugin(() => { if (s.hasChanged()) { return { code: s.toString(), - map: nuxt.options.sourcemap.client || nuxt.options.sourcemap.server ? s.generateMap({ hires: true }) : null + map: nuxt.options.sourcemap.client || nuxt.options.sourcemap.server ? s.generateMap({ hires: true }) : null, } } - } + }, } }) diff --git a/packages/nuxt/src/core/plugins/resolve-deep-imports.ts b/packages/nuxt/src/core/plugins/resolve-deep-imports.ts index 3bf20e1983..b965141196 100644 --- a/packages/nuxt/src/core/plugins/resolve-deep-imports.ts +++ b/packages/nuxt/src/core/plugins/resolve-deep-imports.ts @@ -21,11 +21,11 @@ export function resolveDeepImportsPlugin (nuxt: Nuxt): Plugin { return await this.resolve?.(id, dir || pkgDir, { skipSelf: true }) ?? await resolvePath(id, { url: [dir || pkgDir, ...nuxt.options.modulesDir], // TODO: respect nitro runtime conditions - conditions: options.ssr ? ['node', 'import', 'require'] : ['import', 'require'] + conditions: options.ssr ? ['node', 'import', 'require'] : ['import', 'require'], }).catch(() => { logger.debug('Could not resolve id', id, importer) return null }) - } + }, } } diff --git a/packages/nuxt/src/core/plugins/tree-shake.ts b/packages/nuxt/src/core/plugins/tree-shake.ts index f6e3427e4a..950ec8edbc 100644 --- a/packages/nuxt/src/core/plugins/tree-shake.ts +++ b/packages/nuxt/src/core/plugins/tree-shake.ts @@ -40,9 +40,9 @@ export const TreeShakeComposablesPlugin = createUnplugin((options: TreeShakeComp code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/core/plugins/unctx.ts b/packages/nuxt/src/core/plugins/unctx.ts index 5a0ebe782a..f935adc112 100644 --- a/packages/nuxt/src/core/plugins/unctx.ts +++ b/packages/nuxt/src/core/plugins/unctx.ts @@ -28,9 +28,9 @@ export const UnctxTransformPlugin = createUnplugin((options: UnctxTransformPlugi code: TRANSFORM_MARKER + result.code, map: options.sourcemap ? result.magicString.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/core/runtime/nitro/cache-driver.ts b/packages/nuxt/src/core/runtime/nitro/cache-driver.ts index b76153a859..60587fa21f 100644 --- a/packages/nuxt/src/core/runtime/nitro/cache-driver.ts +++ b/packages/nuxt/src/core/runtime/nitro/cache-driver.ts @@ -13,7 +13,7 @@ export default defineDriver((opts: { base: string }) => { async setItem (key, value, opts) { await Promise.all([ fs.setItem(normalizeFsKey(key), value, opts), - lru.setItem(key, value, opts) + lru.setItem(key, value, opts), ]) }, async hasItem (key, opts) { @@ -21,6 +21,6 @@ export default defineDriver((opts: { base: string }) => { }, async getItem (key, opts) { return await lru.getItem(key, opts) || await fs.getItem(normalizeFsKey(key), opts) - } + }, } }) diff --git a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts index 11e6a3be28..194ca2dc38 100644 --- a/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts +++ b/packages/nuxt/src/core/runtime/nitro/dev-server-logs.ts @@ -36,7 +36,7 @@ export default (nitroApp: NitroApp) => { // Pass along filename to allow the client to display more info about where log comes from filename: extractFilenameFromStack(stack), // Clean up file names in stack trace - stack: normalizeFilenames(stack) + stack: normalizeFilenames(stack), } // retain log to be include in the next render @@ -84,7 +84,7 @@ function onConsoleLog (callback: (log: LogObject) => void) { consola.addReporter({ log (logObj) { callback(logObj) - } + }, }) consola.wrapConsole() } diff --git a/packages/nuxt/src/core/runtime/nitro/error.ts b/packages/nuxt/src/core/runtime/nitro/error.ts index 731699e94d..03c030371c 100644 --- a/packages/nuxt/src/core/runtime/nitro/error.ts +++ b/packages/nuxt/src/core/runtime/nitro/error.ts @@ -21,7 +21,7 @@ export default <NitroErrorHandler> async function errorhandler (error: H3Error, ? `<pre>${stack.map(i => `<span class="stack${i.internal ? ' internal' : ''}">${i.text}</span>`).join('\n')}</pre>` : '', // TODO: check and validate error.data for serialisation into query - data: error.data as any + data: error.data as any, } satisfies Partial<NuxtPayload['error']> & { url: string } // Console output @@ -31,7 +31,7 @@ export default <NitroErrorHandler> async function errorhandler (error: H3Error, '[request error]', error.unhandled && '[unhandled]', error.fatal && '[fatal]', - Number(errorObject.statusCode) !== 200 && `[${errorObject.statusCode}]` + Number(errorObject.statusCode) !== 200 && `[${errorObject.statusCode}]`, ].filter(Boolean).join(' ') console.error(tags, errorObject.message + '\n' + stack.map(l => ' ' + l.text).join(' \n')) } @@ -60,8 +60,8 @@ export default <NitroErrorHandler> async function errorhandler (error: H3Error, withQuery(joinURL(useRuntimeConfig(event).app.baseURL, '/__nuxt_error'), errorObject), { headers: { ...reqHeaders, 'x-nuxt-error': 'true' }, - redirect: 'manual' - } + redirect: 'manual', + }, ).catch(() => null) // Fallback to static rendered error page diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 1b367f432d..4db7ead879 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -4,7 +4,7 @@ import { getPrefetchLinks, getPreloadLinks, getRequestDependencies, - renderResourceHeaders + renderResourceHeaders, } from 'vue-bundle-renderer/runtime' import type { RenderResponse } from 'nitropack' import type { Manifest } from 'vite' @@ -26,7 +26,7 @@ import { useNitroApp } from '#internal/nitro/app' // @ts-expect-error virtual file import unheadPlugins from '#internal/unhead-plugins.mjs' -// eslint-disable-next-line import/no-restricted-paths + import type { NuxtPayload, NuxtSSRContext } from '#app' // @ts-expect-error virtual file import { appHead, appRootId, appRootTag, appTeleportId, appTeleportTag, componentIslands } from '#internal/nuxt.config.mjs' @@ -88,9 +88,9 @@ export interface NuxtIslandResponse { } export interface NuxtRenderResponse { - body: string, - statusCode: number, - statusMessage?: string, + body: string + statusCode: number + statusMessage?: string headers: Record<string, string> } @@ -103,7 +103,7 @@ const getClientManifest: () => Promise<Manifest> = () => import('#build/dist/ser const getEntryIds: () => Promise<string[]> = () => getClientManifest().then(r => Object.values(r).filter(r => // @ts-expect-error internal key set by CSS inlining configuration - r._globalCSS + r._globalCSS, ).map(r => r.src!)) // @ts-expect-error file will be produced after app build @@ -125,7 +125,7 @@ const getSSRRenderer = lazyCachedFunction(async () => { const options = { manifest, renderToString, - buildAssetsURL + buildAssetsURL, } // Create renderer const renderer = createRenderer(createSSRApp, options) @@ -154,7 +154,7 @@ const getSPARenderer = lazyCachedFunction(async () => { const options = { manifest, renderToString: () => spaTemplate, - buildAssetsURL + buildAssetsURL, } // Create SPA renderer and cache the result for all requests const renderer = createRenderer(() => () => {}, options) @@ -168,18 +168,18 @@ const getSPARenderer = lazyCachedFunction(async () => { serverRendered: false, data: {}, state: {}, - once: new Set<string>() + once: new Set<string>(), } ssrContext.config = { public: config.public, - app: config.app + app: config.app, } return Promise.resolve(result) } return { rendererContext: renderer.rendererContext, - renderToString + renderToString, } }) @@ -197,11 +197,11 @@ const sharedPrerenderCache = import.meta.prerender && process.env.NUXT_SHARED_DA }, async set<T> (key: string, value: Promise<T>): Promise<void> { sharedPrerenderKeys.add(key) - sharedPrerenderPromises!.set(key, value) - useStorage('internal:nuxt:prerender:shared').setItem(key, await value as any) + sharedPrerenderPromises!.set(key, value) + useStorage('internal:nuxt:prerender:shared').setItem(key, await value as any) // free up memory after the promise is resolved - .finally(() => sharedPrerenderPromises!.delete(key)) - } + .finally(() => sharedPrerenderPromises!.delete(key)) + }, } : null @@ -227,7 +227,7 @@ async function getIslandContext (event: H3Event): Promise<NuxtIslandContext> { name: componentName, props: destr(context.props) || {}, slots: {}, - components: {} + components: {}, } return ctx @@ -254,13 +254,13 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse : null if (ssrError && ssrError.statusCode) { - ssrError.statusCode = parseInt(ssrError.statusCode as any) + ssrError.statusCode = Number.parseInt(ssrError.statusCode as any) } if (ssrError && !('__unenv__' in event.node.req) /* allow internal fetch */) { throw createError({ statusCode: 404, - statusMessage: 'Page Not Found: /__nuxt_error' + statusMessage: 'Page Not Found: /__nuxt_error', }) } @@ -291,7 +291,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse const routeOptions = getRouteRules(event) const head = createServerHead({ - plugins: unheadPlugins + plugins: unheadPlugins, }) // needed for hash hydration plugin to work const headEntryOptions: HeadEntryOptions = { mode: 'server' } @@ -317,7 +317,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse modules: new Set(), set _registeredComponents (value) { this.modules = value }, get _registeredComponents () { return this.modules }, - islandContext + islandContext, } if (import.meta.prerender && process.env.NUXT_SHARED_DATA) { @@ -395,8 +395,8 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse link: [ process.env.NUXT_JSON_PAYLOADS ? { rel: 'preload', as: 'fetch', crossorigin: 'anonymous', href: payloadURL } - : { rel: 'modulepreload', href: payloadURL } - ] + : { rel: 'modulepreload', href: payloadURL }, + ], }, headEntryOptions) } @@ -425,10 +425,10 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse // 3. Resource Hints // TODO: add priorities based on Capo head.push({ - link: getPreloadLinks(ssrContext, renderer.rendererContext) as Link[] + link: getPreloadLinks(ssrContext, renderer.rendererContext) as Link[], }, headEntryOptions) head.push({ - link: getPrefetchLinks(ssrContext, renderer.rendererContext) as Link[] + link: getPrefetchLinks(ssrContext, renderer.rendererContext) as Link[], }, headEntryOptions) // 4. Payloads head.push({ @@ -438,12 +438,12 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse : renderPayloadScript({ ssrContext, data: splitPayload(ssrContext).initial, src: payloadURL }) : process.env.NUXT_JSON_PAYLOADS ? renderPayloadJsonScript({ id: '__NUXT_DATA__', ssrContext, data: ssrContext.payload }) - : renderPayloadScript({ ssrContext, data: ssrContext.payload }) + : renderPayloadScript({ ssrContext, data: ssrContext.payload }), }, { ...headEntryOptions, // this should come before another end of body scripts tagPosition: 'bodyClose', - tagPriority: 'high' + tagPriority: 'high', }) } @@ -454,8 +454,8 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse type: resource.module ? 'module' : null, src: renderer.rendererContext.buildAssetsURL(resource.file), defer: resource.module ? null : true, - crossorigin: '' - })) + crossorigin: '', + })), }, headEntryOptions) } @@ -471,9 +471,9 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse bodyPrepend: normalizeChunks([bodyTagsOpen, ssrContext.teleports?.body]), body: [ componentIslands ? replaceIslandTeleports(ssrContext, _rendered.html) : _rendered.html, - APP_TELEPORT_OPEN_TAG + (HAS_APP_TELEPORTS ? joinTags([ssrContext.teleports?.[`#${appTeleportId}`]]) : '') + APP_TELEPORT_CLOSE_TAG + APP_TELEPORT_OPEN_TAG + (HAS_APP_TELEPORTS ? joinTags([ssrContext.teleports?.[`#${appTeleportId}`]]) : '') + APP_TELEPORT_CLOSE_TAG, ], - bodyAppend: [bodyTags] + bodyAppend: [bodyTags], } // Allow hooking into the rendered result @@ -483,7 +483,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse if (isRenderingIsland && islandContext) { const islandHead: NuxtIslandResponse['head'] = { link: [], - style: [] + style: [], } for (const tag of await head.resolveTags()) { if (tag.tag === 'link') { @@ -498,7 +498,7 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse html: getServerComponentHTML(htmlContext.body), state: ssrContext.payload.state, components: getClientIslandResponse(ssrContext), - slots: getSlotIslandResponse(ssrContext) + slots: getSlotIslandResponse(ssrContext), } await nitroApp.hooks.callHook('render:island', islandResponse, { event, islandContext }) @@ -509,8 +509,8 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse statusMessage: getResponseStatusText(event), headers: { 'content-type': 'application/json;charset=utf-8', - 'x-powered-by': 'Nuxt' - } + 'x-powered-by': 'Nuxt', + }, } satisfies RenderResponse if (import.meta.prerender) { await islandCache!.setItem(`/__nuxt_island/${islandContext!.name}_${islandContext!.id}.json`, response) @@ -526,8 +526,8 @@ export default defineRenderHandler(async (event): Promise<Partial<RenderResponse statusMessage: getResponseStatusText(event), headers: { 'content-type': 'text/html;charset=utf-8', - 'x-powered-by': 'Nuxt' - } + 'x-powered-by': 'Nuxt', + }, } satisfies RenderResponse return response @@ -586,18 +586,18 @@ function renderPayloadResponse (ssrContext: NuxtSSRContext) { statusMessage: getResponseStatusText(ssrContext.event), headers: { 'content-type': process.env.NUXT_JSON_PAYLOADS ? 'application/json;charset=utf-8' : 'text/javascript;charset=utf-8', - 'x-powered-by': 'Nuxt' - } + 'x-powered-by': 'Nuxt', + }, } satisfies RenderResponse } function renderPayloadJsonScript (opts: { id: string, ssrContext: NuxtSSRContext, data?: any, src?: string }): Script[] { const contents = opts.data ? stringify(opts.data, opts.ssrContext._payloadReducers) : '' const payload: Script = { - type: 'application/json', - id: opts.id, - innerHTML: contents, - 'data-ssr': !(process.env.NUXT_NO_SSR || opts.ssrContext.noSSR) + 'type': 'application/json', + 'id': opts.id, + 'innerHTML': contents, + 'data-ssr': !(process.env.NUXT_NO_SSR || opts.ssrContext.noSSR), } if (opts.src) { payload['data-src'] = opts.src @@ -605,8 +605,8 @@ function renderPayloadJsonScript (opts: { id: string, ssrContext: NuxtSSRContext return [ payload, { - innerHTML: `window.__NUXT__={};window.__NUXT__.config=${uneval(opts.ssrContext.config)}` - } + innerHTML: `window.__NUXT__={};window.__NUXT__.config=${uneval(opts.ssrContext.config)}`, + }, ] } @@ -617,14 +617,14 @@ function renderPayloadScript (opts: { ssrContext: NuxtSSRContext, data?: any, sr return [ { type: 'module', - innerHTML: `import p from "${opts.src}";window.__NUXT__={...p,...(${devalue(opts.data)})}` - } + innerHTML: `import p from "${opts.src}";window.__NUXT__={...p,...(${devalue(opts.data)})}`, + }, ] } return [ { - innerHTML: `window.__NUXT__=${devalue(opts.data)}` - } + innerHTML: `window.__NUXT__=${devalue(opts.data)}`, + }, ] } @@ -632,7 +632,7 @@ function splitPayload (ssrContext: NuxtSSRContext) { const { data, prerenderedAt, ...initial } = ssrContext.payload return { initial: { ...initial, prerenderedAt }, - payload: { data, prerenderedAt } + payload: { data, prerenderedAt }, } } @@ -654,7 +654,7 @@ function getSlotIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandResponse[ for (const slot in ssrContext.islandContext.slots) { response[slot] = { ...ssrContext.islandContext.slots[slot], - fallback: ssrContext.teleports?.[`island-fallback=${slot}`] + fallback: ssrContext.teleports?.[`island-fallback=${slot}`], } } return response @@ -669,7 +669,7 @@ function getClientIslandResponse (ssrContext: NuxtSSRContext): NuxtIslandRespons response[clientUid] = { ...ssrContext.islandContext.components[clientUid], html, - slots: getComponentSlotTeleport(ssrContext.teleports ?? {}) + slots: getComponentSlotTeleport(ssrContext.teleports ?? {}), } } return response diff --git a/packages/nuxt/src/core/schema.ts b/packages/nuxt/src/core/schema.ts index c0c18333ac..6580a80d35 100644 --- a/packages/nuxt/src/core/schema.ts +++ b/packages/nuxt/src/core/schema.ts @@ -9,7 +9,7 @@ import { debounce } from 'perfect-debounce' import { createResolver, defineNuxtModule, logger, tryResolveModule } from '@nuxt/kit' import { generateTypes, - resolveSchema as resolveUntypedSchema + resolveSchema as resolveUntypedSchema, } from 'untyped' import type { Schema, SchemaDefinition } from 'untyped' import untypedPlugin from 'untyped/babel-plugin' @@ -17,7 +17,7 @@ import jiti from 'jiti' export default defineNuxtModule({ meta: { - name: 'nuxt-config-schema' + name: 'nuxt-config-schema', }, async setup (_, nuxt) { if (!nuxt.options.experimental.configSchema) { @@ -33,9 +33,9 @@ export default defineNuxtModule({ requireCache: false, transformOptions: { babel: { - plugins: [untypedPlugin] - } - } + plugins: [untypedPlugin], + }, + }, }) // Register module types @@ -68,7 +68,7 @@ export default defineNuxtModule({ const { subscribe } = await import(pathToFileURL(watcherPath).href).then(interopDefault) as typeof import('@parcel/watcher') for (const layer of nuxt.options._layers) { const subscription = await subscribe(layer.config.rootDir, onChange, { - ignore: ['!nuxt.schema.*'] + ignore: ['!nuxt.schema.*'], }) nuxt.hook('close', () => subscription.unsubscribe()) } @@ -78,11 +78,11 @@ export default defineNuxtModule({ } const filesToWatch = await Promise.all(nuxt.options._layers.map(layer => - resolver.resolve(layer.config.rootDir, 'nuxt.schema.*') + resolver.resolve(layer.config.rootDir, 'nuxt.schema.*'), )) const watcher = chokidar.watch(filesToWatch, { ...nuxt.options.watchers.chokidar, - ignoreInitial: true + ignoreInitial: true, }) watcher.on('all', onChange) nuxt.hook('close', () => watcher.close()) @@ -108,7 +108,7 @@ export default defineNuxtModule({ logger.warn( 'Unable to load schema from', filePath, - err + err, ) continue } @@ -121,7 +121,7 @@ export default defineNuxtModule({ // Resolve and merge schemas const schemas = await Promise.all( - schemaDefs.map(schemaDef => resolveUntypedSchema(schemaDef)) + schemaDefs.map(schemaDef => resolveUntypedSchema(schemaDef)), ) // Merge after normalization @@ -140,13 +140,13 @@ export default defineNuxtModule({ await writeFile( resolve(nuxt.options.buildDir, 'schema/nuxt.schema.json'), JSON.stringify(schema, null, 2), - 'utf8' + 'utf8', ) const _types = generateTypes(schema, { addExport: true, interfaceName: 'NuxtCustomSchema', partial: true, - allowExtraKeys: false + allowExtraKeys: false, }) const types = _types + @@ -168,10 +168,10 @@ declare module 'nuxt/schema' { ` const typesPath = resolve( nuxt.options.buildDir, - 'schema/nuxt.schema.d.ts' + 'schema/nuxt.schema.d.ts', ) await writeFile(typesPath, types, 'utf8') await nuxt.hooks.callHook('schema:written') } - } + }, }) diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 49c9f7c6bd..2234e60dca 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -23,37 +23,37 @@ export const vueShim: NuxtTemplate = { ' import { DefineComponent } from \'vue\'', ' const component: DefineComponent<{}, {}, any>', ' export default component', - '}' + '}', ].join('\n') - } + }, } // TODO: Use an alias export const appComponentTemplate: NuxtTemplate = { filename: 'app-component.mjs', - getContents: ctx => genExport(ctx.app.mainComponent!, ['default']) + getContents: ctx => genExport(ctx.app.mainComponent!, ['default']), } // TODO: Use an alias export const rootComponentTemplate: NuxtTemplate = { filename: 'root-component.mjs', // TODO: fix upstream in vite - this ensures that vite generates a module graph for islands // but should not be necessary (and has a warmup performance cost). See https://github.com/nuxt/nuxt/pull/24584. - getContents: ctx => (ctx.nuxt.options.dev ? "import '#build/components.islands.mjs';\n" : '') + genExport(ctx.app.rootComponent!, ['default']) + getContents: ctx => (ctx.nuxt.options.dev ? 'import \'#build/components.islands.mjs\';\n' : '') + genExport(ctx.app.rootComponent!, ['default']), } // TODO: Use an alias export const errorComponentTemplate: NuxtTemplate = { filename: 'error-component.mjs', - getContents: ctx => genExport(ctx.app.errorComponent!, ['default']) + getContents: ctx => genExport(ctx.app.errorComponent!, ['default']), } // TODO: Use an alias export const testComponentWrapperTemplate: NuxtTemplate = { filename: 'test-component-wrapper.mjs', - getContents: ctx => genExport(resolve(ctx.nuxt.options.appDir, 'components/test-component-wrapper'), ['default']) + getContents: ctx => genExport(resolve(ctx.nuxt.options.appDir, 'components/test-component-wrapper'), ['default']), } export const cssTemplate: NuxtTemplate = { filename: 'css.mjs', - getContents: ctx => ctx.nuxt.options.css.map(i => genImport(i)).join('\n') + getContents: ctx => ctx.nuxt.options.css.map(i => genImport(i)).join('\n'), } export const clientPluginTemplate: NuxtTemplate = { @@ -71,9 +71,9 @@ export const clientPluginTemplate: NuxtTemplate = { } return [ ...imports, - `export default ${genArrayFromRaw(exports)}` + `export default ${genArrayFromRaw(exports)}`, ].join('\n') - } + }, } export const serverPluginTemplate: NuxtTemplate = { @@ -91,9 +91,9 @@ export const serverPluginTemplate: NuxtTemplate = { } return [ ...imports, - `export default ${genArrayFromRaw(exports)}` + `export default ${genArrayFromRaw(exports)}`, ].join('\n') - } + }, } export const pluginsDeclaration: NuxtTemplate = { @@ -136,7 +136,7 @@ declare module 'vue' { export { } ` - } + }, } const adHocModules = ['router', 'pages', 'imports', 'meta', 'components', 'nuxt-config-schema'] @@ -145,7 +145,7 @@ export const schemaTemplate: NuxtTemplate = { getContents: async ({ nuxt }) => { const moduleInfo = nuxt.options._installedModules.map(m => ({ ...m.meta, - importName: m.entryPath || m.meta?.name + importName: m.entryPath || m.meta?.name, })).filter(m => m.configKey && m.name && !adHocModules.includes(m.name)) const relativeRoot = relative(resolve(nuxt.options.buildDir, 'types'), nuxt.options.rootDir) @@ -158,11 +158,11 @@ export const schemaTemplate: NuxtTemplate = { } } return [ - "import { NuxtModule, RuntimeConfig } from 'nuxt/schema'", - "declare module 'nuxt/schema' {", + 'import { NuxtModule, RuntimeConfig } from \'nuxt/schema\'', + 'declare module \'nuxt/schema\' {', ' interface NuxtConfig {', ...modules.map(([configKey, importName]) => - ` [${configKey}]?: typeof ${genDynamicImport(importName, { wrapper: false })}.default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>` + ` [${configKey}]?: typeof ${genDynamicImport(importName, { wrapper: false })}.default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>`, ), modules.length > 0 ? ` modules?: (undefined | null | false | NuxtModule | string | [NuxtModule | string, Record<string, any>] | ${modules.map(([configKey, importName]) => `[${genString(importName)}, Exclude<NuxtConfig[${configKey}], boolean>]`).join(' | ')})[],` : '', ' }', @@ -172,7 +172,7 @@ export const schemaTemplate: NuxtTemplate = { addExport: false, addDefaults: false, allowExtraKeys: false, - indentation: 2 + indentation: 2, }), generateTypes(await resolveSchema(nuxt.options.runtimeConfig.public as Record<string, JSValue>), { @@ -180,16 +180,16 @@ export const schemaTemplate: NuxtTemplate = { addExport: false, addDefaults: false, allowExtraKeys: false, - indentation: 2 + indentation: 2, }), '}', `declare module 'vue' { interface ComponentCustomProperties { $config: RuntimeConfig } - }` + }`, ].join('\n') - } + }, } // Add layouts template @@ -200,9 +200,9 @@ export const layoutTemplate: NuxtTemplate = { return [name, genDynamicImport(file, { interopDefault: true })] })) return [ - `export default ${layoutsObject}` + `export default ${layoutsObject}`, ].join('\n') - } + }, } // Add middleware template @@ -215,9 +215,9 @@ export const middlewareTemplate: NuxtTemplate = { return [ ...globalMiddleware.map(mw => genImport(mw.path, genSafeVariableName(mw.name))), `export const globalMiddleware = ${genArrayFromRaw(globalMiddleware.map(mw => genSafeVariableName(mw.name)))}`, - `export const namedMiddleware = ${namedMiddlewareObject}` + `export const namedMiddleware = ${namedMiddlewareObject}`, ].join('\n') - } + }, } export const nitroSchemaTemplate: NuxtTemplate = { @@ -253,14 +253,14 @@ declare module 'nitropack' { } } ` - } + }, } export const clientConfigTemplate: NuxtTemplate = { filename: 'nitro.client.mjs', getContents: () => ` export const useRuntimeConfig = () => window?.__NUXT__?.config || {} -` +`, } export const appConfigDeclarationTemplate: NuxtTemplate = { @@ -296,7 +296,7 @@ declare module '@nuxt/schema' { interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { } } ` - } + }, } export const appConfigTemplate: NuxtTemplate = { @@ -320,7 +320,7 @@ ${app.configs.map((id: string, index: number) => `import ${`cfg${index}`} from $ export default /*@__PURE__*/ defuFn(${app.configs.map((_id: string, index: number) => `cfg${index}`).concat(['inlineConfig']).join(', ')}) ` - } + }, } export const publicPathTemplate: NuxtTemplate = { @@ -348,9 +348,9 @@ export const publicPathTemplate: NuxtTemplate = { 'if (import.meta.client) {', ' globalThis.__buildAssetsURL = buildAssetsURL', ' globalThis.__publicAssetsURL = publicAssetsURL', - '}' + '}', ].filter(Boolean).join('\n') - } + }, } export const dollarFetchTemplate: NuxtTemplate = { @@ -358,14 +358,14 @@ export const dollarFetchTemplate: NuxtTemplate = { getContents () { return [ 'import { $fetch } from \'ofetch\'', - "import { baseURL } from '#internal/nuxt/paths'", + 'import { baseURL } from \'#internal/nuxt/paths\'', 'if (!globalThis.$fetch) {', ' globalThis.$fetch = $fetch.create({', ' baseURL: baseURL()', ' })', - '}' + '}', ].join('\n') - } + }, } // Allow direct access to specific exposed nuxt.config @@ -375,7 +375,7 @@ export const nuxtConfigTemplate: NuxtTemplate = { const fetchDefaults = { ...ctx.nuxt.options.experimental.defaults.useFetch, baseURL: undefined, - headers: undefined + headers: undefined, } const shouldEnableComponentIslands = ctx.nuxt.options.experimental.componentIslands && ( ctx.nuxt.options.dev || ctx.nuxt.options.experimental.componentIslands !== 'auto' || ctx.app.pages?.some(p => p.mode === 'server') || ctx.app.components?.some(c => c.mode === 'server' && !ctx.app.components.some(other => other.pascalName === c.pascalName && other.mode === 'client')) @@ -396,7 +396,7 @@ export const nuxtConfigTemplate: NuxtTemplate = { `export const asyncDataDefaults = ${JSON.stringify(ctx.nuxt.options.experimental.defaults.useAsyncData)}`, `export const fetchDefaults = ${JSON.stringify(fetchDefaults)}`, `export const vueAppRootContainer = ${ctx.nuxt.options.app.rootId ? `'#${ctx.nuxt.options.app.rootId}'` : `'body > ${ctx.nuxt.options.app.rootTag}'`}`, - `export const viewTransition = ${ctx.nuxt.options.experimental.viewTransition}` + `export const viewTransition = ${ctx.nuxt.options.experimental.viewTransition}`, ].join('\n\n') - } + }, } diff --git a/packages/nuxt/src/head/module.ts b/packages/nuxt/src/head/module.ts index 646f206aa1..c254d01037 100644 --- a/packages/nuxt/src/head/module.ts +++ b/packages/nuxt/src/head/module.ts @@ -6,7 +6,7 @@ const components = ['NoScript', 'Link', 'Base', 'Title', 'Meta', 'Style', 'Head' export default defineNuxtModule({ meta: { - name: 'meta' + name: 'meta', }, async setup (options, nuxt) { const runtimeDir = resolve(distDir, 'head/runtime') @@ -24,14 +24,14 @@ export default defineNuxtModule({ // built-in that we do not expect the user to override priority: 10, // kebab case version of these tags is not valid - kebabName: componentName + kebabName: componentName, }) } // allow @unhead/vue server composables to be tree-shaken from the client bundle if (!nuxt.options.dev) { nuxt.options.optimization.treeShake.composables.client['@unhead/vue'] = [ - 'useServerHead', 'useServerSeoMeta', 'useServerHeadSafe' + 'useServerHead', 'useServerSeoMeta', 'useServerHeadSafe', ] } @@ -45,8 +45,8 @@ export default defineNuxtModule({ 'useHeadSafe', 'useServerHead', 'useServerSeoMeta', - 'useServerHeadSafe' - ] + 'useServerHeadSafe', + ], }) // Opt-out feature allowing dependencies using @vueuse/head to work @@ -65,7 +65,7 @@ export default defineNuxtModule({ } return `import { CapoPlugin } from ${JSON.stringify(unheadVue)}; export default import.meta.server ? [CapoPlugin({ track: true })] : [];` - } + }, }) // template is only exposed in nuxt context, expose in nitro context as well @@ -75,5 +75,5 @@ export default import.meta.server ? [CapoPlugin({ track: true })] : [];` // Add library-specific plugin addPlugin({ src: resolve(runtimeDir, 'plugins/unhead') }) - } + }, }) diff --git a/packages/nuxt/src/head/runtime/components.ts b/packages/nuxt/src/head/runtime/components.ts index f2bbfe2261..7c3f4b8140 100644 --- a/packages/nuxt/src/head/runtime/components.ts +++ b/packages/nuxt/src/head/runtime/components.ts @@ -1,4 +1,3 @@ -/* eslint-disable vue/multi-word-component-names */ import { defineComponent } from 'vue' import type { PropType, SetupContext } from 'vue' import { useHead } from '@unhead/vue' @@ -9,7 +8,7 @@ import type { LinkRelationship, Props, ReferrerPolicy, - Target + Target, } from './types' const removeUndefinedProps = (props: Props) => { @@ -33,24 +32,24 @@ const globalProps = { autocapitalize: String, autofocus: { type: Boolean, - default: undefined + default: undefined, }, class: [String, Object, Array], contenteditable: { type: Boolean, - default: undefined + default: undefined, }, contextmenu: String, dir: String, draggable: { type: Boolean, - default: undefined + default: undefined, }, enterkeyhint: String, exportparts: String, hidden: { type: Boolean, - default: undefined + default: undefined, }, id: String, inputmode: String, @@ -66,12 +65,12 @@ const globalProps = { slot: String, spellcheck: { type: Boolean, - default: undefined + default: undefined, }, style: String, tabindex: String, title: String, - translate: String + translate: String, } // <noscript> @@ -82,7 +81,7 @@ export const NoScript = defineComponent({ ...globalProps, title: String, body: Boolean, - renderPriority: [String, Number] + renderPriority: [String, Number], }, setup: setupForUseMeta((props, { slots }) => { const noscript = { ...props } @@ -94,14 +93,14 @@ export const NoScript = defineComponent({ noscript.children = textContent } return { - noscript: [noscript] + noscript: [noscript], } - }) + }), }) // <link> export const Link = defineComponent({ - // eslint-disable-next-line vue/no-reserved-component-names + name: 'Link', inheritAttrs: false, props: { @@ -118,7 +117,7 @@ export const Link = defineComponent({ media: String, prefetch: { type: Boolean, - default: undefined + default: undefined, }, referrerpolicy: String as PropType<ReferrerPolicy>, rel: String as PropType<LinkRelationship>, @@ -130,31 +129,31 @@ export const Link = defineComponent({ /** @deprecated **/ target: String as PropType<Target>, body: Boolean, - renderPriority: [String, Number] + renderPriority: [String, Number], }, setup: setupForUseMeta(link => ({ - link: [link] - })) + link: [link], + })), }) // <base> export const Base = defineComponent({ - // eslint-disable-next-line vue/no-reserved-component-names + name: 'Base', inheritAttrs: false, props: { ...globalProps, href: String, - target: String as PropType<Target> + target: String as PropType<Target>, }, setup: setupForUseMeta(base => ({ - base - })) + base, + })), }) // <title> export const Title = defineComponent({ - // eslint-disable-next-line vue/no-reserved-component-names + name: 'Title', inheritAttrs: false, setup: setupForUseMeta((_, { slots }) => { @@ -166,19 +165,19 @@ export const Title = defineComponent({ } return { - title: defaultSlot?.[0]?.children || null + title: defaultSlot?.[0]?.children || null, } } return { - title: slots.default?.()?.[0]?.children || null + title: slots.default?.()?.[0]?.children || null, } - }) + }), }) // <meta> export const Meta = defineComponent({ - // eslint-disable-next-line vue/no-reserved-component-names + name: 'Meta', inheritAttrs: false, props: { @@ -188,7 +187,7 @@ export const Meta = defineComponent({ httpEquiv: String as PropType<HTTPEquiv>, name: String, body: Boolean, - renderPriority: [String, Number] + renderPriority: [String, Number], }, setup: setupForUseMeta((props) => { const meta = { ...props } @@ -198,14 +197,14 @@ export const Meta = defineComponent({ delete meta.httpEquiv } return { - meta: [meta] + meta: [meta], } - }) + }), }) // <style> export const Style = defineComponent({ - // eslint-disable-next-line vue/no-reserved-component-names + name: 'Style', inheritAttrs: false, props: { @@ -217,10 +216,10 @@ export const Style = defineComponent({ /** @deprecated **/ scoped: { type: Boolean, - default: undefined + default: undefined, }, body: Boolean, - renderPriority: [String, Number] + renderPriority: [String, Number], }, setup: setupForUseMeta((props, { slots }) => { const style = { ...props } @@ -232,22 +231,22 @@ export const Style = defineComponent({ style.children = textContent } return { - style: [style] + style: [style], } - }) + }), }) // <head> export const Head = defineComponent({ - // eslint-disable-next-line vue/no-reserved-component-names + name: 'Head', inheritAttrs: false, - setup: (_props, ctx) => () => ctx.slots.default?.() + setup: (_props, ctx) => () => ctx.slots.default?.(), }) // <html> export const Html = defineComponent({ - // eslint-disable-next-line vue/no-reserved-component-names + name: 'Html', inheritAttrs: false, props: { @@ -255,19 +254,19 @@ export const Html = defineComponent({ manifest: String, version: String, xmlns: String, - renderPriority: [String, Number] + renderPriority: [String, Number], }, - setup: setupForUseMeta(htmlAttrs => ({ htmlAttrs }), true) + setup: setupForUseMeta(htmlAttrs => ({ htmlAttrs }), true), }) // <body> export const Body = defineComponent({ - // eslint-disable-next-line vue/no-reserved-component-names + name: 'Body', inheritAttrs: false, props: { ...globalProps, - renderPriority: [String, Number] + renderPriority: [String, Number], }, - setup: setupForUseMeta(bodyAttrs => ({ bodyAttrs }), true) + setup: setupForUseMeta(bodyAttrs => ({ bodyAttrs }), true), }) diff --git a/packages/nuxt/src/head/runtime/plugins/unhead.ts b/packages/nuxt/src/head/runtime/plugins/unhead.ts index 956e2dd1f6..2a9c7a88b7 100644 --- a/packages/nuxt/src/head/runtime/plugins/unhead.ts +++ b/packages/nuxt/src/head/runtime/plugins/unhead.ts @@ -12,12 +12,12 @@ export default defineNuxtPlugin({ const head = import.meta.server ? nuxtApp.ssrContext!.head : createClientHead({ - plugins: unheadPlugins + plugins: unheadPlugins, }) // allow useHead to be used outside a Vue context but within a Nuxt context setHeadInjectionHandler( // need a fresh instance of the nuxt app to avoid parallel requests interfering with each other - () => useNuxtApp().vueApp._context.provides.usehead + () => useNuxtApp().vueApp._context.provides.usehead, ) // nuxt.config appHead is set server-side within the renderer nuxtApp.vueApp.use(head) @@ -41,5 +41,5 @@ export default defineNuxtPlugin({ // unpause the DOM once the mount suspense is resolved nuxtApp.hooks.hook('app:suspense:resolve', syncHead) } - } + }, }) diff --git a/packages/nuxt/src/head/runtime/plugins/vueuse-head-polyfill.ts b/packages/nuxt/src/head/runtime/plugins/vueuse-head-polyfill.ts index 83141d77df..971806bf13 100644 --- a/packages/nuxt/src/head/runtime/plugins/vueuse-head-polyfill.ts +++ b/packages/nuxt/src/head/runtime/plugins/vueuse-head-polyfill.ts @@ -6,5 +6,5 @@ export default defineNuxtPlugin({ setup (nuxtApp) { // avoid breaking ecosystem dependencies using low-level @vueuse/head APIs polyfillAsVueUseHead(nuxtApp.vueApp._context.provides.usehead) - } + }, }) diff --git a/packages/nuxt/src/imports/module.ts b/packages/nuxt/src/imports/module.ts index dcd26b5c11..7ae8479399 100644 --- a/packages/nuxt/src/imports/module.ts +++ b/packages/nuxt/src/imports/module.ts @@ -13,7 +13,7 @@ import { defaultPresets } from './presets' export default defineNuxtModule<Partial<ImportsOptions>>({ meta: { name: 'imports', - configKey: 'imports' + configKey: 'imports', }, defaults: { autoImport: true, @@ -23,9 +23,9 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ dirs: [], transform: { include: [], - exclude: undefined + exclude: undefined, }, - virtualImports: ['#imports'] + virtualImports: ['#imports'], }, async setup (options, nuxt) { // TODO: fix sharing of defaults between invocations of modules @@ -42,9 +42,9 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ ...options, addons: { vueTemplate: options.autoImport, - ...options.addons + ...options.addons, }, - presets + presets, }) await nuxt.callHook('imports:context', ctx) @@ -79,7 +79,7 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ // Support for importing from '#imports' addTemplate({ filename: 'imports.mjs', - getContents: async () => toExports(await ctx.getImports()) + '\nif (import.meta.dev) { console.warn("[nuxt] `#imports` should be transformed with real imports. There seems to be something wrong with the imports plugin.") }' + getContents: async () => toExports(await ctx.getImports()) + '\nif (import.meta.dev) { console.warn("[nuxt] `#imports` should be transformed with real imports. There seems to be something wrong with the imports plugin.") }', }) nuxt.options.alias['#imports'] = join(nuxt.options.buildDir, 'imports') @@ -93,7 +93,7 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ return [ '/types/imports.d.ts', '/imports.d.ts', - '/imports.mjs' + '/imports.mjs', ].some(i => template.filename.endsWith(i)) } @@ -103,7 +103,7 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ imports.length = 0 // Scan `composables/` const composableImports = await scanDirExports(composablesDirs, { - fileFilter: file => !isIgnored(file) + fileFilter: file => !isIgnored(file), }) for (const i of composableImports) { i.priority = i.priority || priorities.find(([dir]) => i.from.startsWith(dir))?.[1] @@ -115,7 +115,7 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ }) await updateTemplates({ - filter: isImportsTemplate + filter: isImportsTemplate, }) } @@ -139,7 +139,7 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ await regenerateImports() } }) - } + }, }) function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions>) { @@ -182,7 +182,7 @@ function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions addTypeTemplate({ filename: 'imports.d.ts', - getContents: async ({ nuxt }) => toExports(await ctx.getImports(), nuxt.options.buildDir, true) + getContents: async ({ nuxt }) => toExports(await ctx.getImports(), nuxt.options.buildDir, true), }) addTypeTemplate({ @@ -195,6 +195,6 @@ function addDeclarationTemplates (ctx: Unimport, options: Partial<ImportsOptions ? await ctx.generateTypeDeclarations({ resolvePath: r }) : '// Implicit auto importing is disabled, you can use explicitly import from `#imports` instead.' ) - } + }, }) } diff --git a/packages/nuxt/src/imports/presets.ts b/packages/nuxt/src/imports/presets.ts index 9d3932b27a..7949ed6149 100644 --- a/packages/nuxt/src/imports/presets.ts +++ b/packages/nuxt/src/imports/presets.ts @@ -7,114 +7,114 @@ const commonPresets: InlinePreset[] = [ from: 'vue-demi', imports: [ 'isVue2', - 'isVue3' - ] - }) + 'isVue3', + ], + }), ] const granularAppPresets: InlinePreset[] = [ { from: '#app/components/nuxt-link', - imports: ['defineNuxtLink'] + imports: ['defineNuxtLink'], }, { imports: ['useNuxtApp', 'tryUseNuxtApp', 'defineNuxtPlugin', 'definePayloadPlugin', 'useRuntimeConfig', 'defineAppConfig'], - from: '#app/nuxt' + from: '#app/nuxt', }, { imports: ['requestIdleCallback', 'cancelIdleCallback'], - from: '#app/compat/idle-callback' + from: '#app/compat/idle-callback', }, { imports: ['setInterval'], - from: '#app/compat/interval' + from: '#app/compat/interval', }, { imports: ['useAppConfig', 'updateAppConfig'], - from: '#app/config' + from: '#app/config', }, { imports: ['defineNuxtComponent'], - from: '#app/composables/component' + from: '#app/composables/component', }, { imports: ['useAsyncData', 'useLazyAsyncData', 'useNuxtData', 'refreshNuxtData', 'clearNuxtData'], - from: '#app/composables/asyncData' + from: '#app/composables/asyncData', }, { imports: ['useHydration'], - from: '#app/composables/hydrate' + from: '#app/composables/hydrate', }, { imports: ['callOnce'], - from: '#app/composables/once' + from: '#app/composables/once', }, { imports: ['useState', 'clearNuxtState'], - from: '#app/composables/state' + from: '#app/composables/state', }, { imports: ['clearError', 'createError', 'isNuxtError', 'showError', 'useError'], - from: '#app/composables/error' + from: '#app/composables/error', }, { imports: ['useFetch', 'useLazyFetch'], - from: '#app/composables/fetch' + from: '#app/composables/fetch', }, { imports: ['useCookie', 'refreshCookie'], - from: '#app/composables/cookie' + from: '#app/composables/cookie', }, { imports: ['prerenderRoutes', 'useRequestHeader', 'useRequestHeaders', 'useRequestEvent', 'useRequestFetch', 'setResponseStatus'], - from: '#app/composables/ssr' + from: '#app/composables/ssr', }, { imports: ['onNuxtReady'], - from: '#app/composables/ready' + from: '#app/composables/ready', }, { imports: ['preloadComponents', 'prefetchComponents', 'preloadRouteComponents'], - from: '#app/composables/preload' + from: '#app/composables/preload', }, { imports: ['abortNavigation', 'addRouteMiddleware', 'defineNuxtRouteMiddleware', 'setPageLayout', 'navigateTo', 'useRoute', 'useRouter'], - from: '#app/composables/router' + from: '#app/composables/router', }, { imports: ['isPrerendered', 'loadPayload', 'preloadPayload', 'definePayloadReducer', 'definePayloadReviver'], - from: '#app/composables/payload' + from: '#app/composables/payload', }, { imports: ['useLoadingIndicator'], - from: '#app/composables/loading-indicator' + from: '#app/composables/loading-indicator', }, { imports: ['getAppManifest', 'getRouteRules'], - from: '#app/composables/manifest' + from: '#app/composables/manifest', }, { imports: ['reloadNuxtApp'], - from: '#app/composables/chunk' + from: '#app/composables/chunk', }, { imports: ['useRequestURL'], - from: '#app/composables/url' + from: '#app/composables/url', }, { imports: ['usePreviewMode'], - from: '#app/composables/preview' + from: '#app/composables/preview', }, { imports: ['useId'], - from: '#app/composables/id' - } + from: '#app/composables/id', + }, ] // This is a separate preset as we'll swap these out for import from `vue-router` itself in `pages` module const routerPreset = defineUnimportPreset({ imports: ['onBeforeRouteLeave', 'onBeforeRouteUpdate'], - from: '#app/composables/router' + from: '#app/composables/router', }) // vue @@ -195,8 +195,8 @@ const vuePreset = defineUnimportPreset({ 'useCssModule', 'useCssVars', 'useSlots', - 'useTransitionState' - ] + 'useTransitionState', + ], }) const vueTypesPreset = defineUnimportPreset({ @@ -213,8 +213,8 @@ const vueTypesPreset = defineUnimportPreset({ 'Ref', 'MaybeRef', 'MaybeRefOrGetter', - 'VNode' - ] + 'VNode', + ], }) export const defaultPresets: InlinePreset[] = [ @@ -222,5 +222,5 @@ export const defaultPresets: InlinePreset[] = [ ...granularAppPresets, routerPreset, vuePreset, - vueTypesPreset + vueTypesPreset, ] diff --git a/packages/nuxt/src/imports/transform.ts b/packages/nuxt/src/imports/transform.ts index 5a82bad059..19f7d8865f 100644 --- a/packages/nuxt/src/imports/transform.ts +++ b/packages/nuxt/src/imports/transform.ts @@ -43,9 +43,9 @@ export const TransformPlugin = createUnplugin(({ ctx, options, sourcemap }: { ct code: s.toString(), map: sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 25d5c95ab9..8acabb18ab 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -22,18 +22,18 @@ const OPTIONAL_PARAM_RE = /^\/?:.*(\?|\(\.\*\)\*)$/ export default defineNuxtModule({ meta: { - name: 'pages' + name: 'pages', }, async setup (_options, nuxt) { const useExperimentalTypedPages = nuxt.options.experimental.typedPages const runtimeDir = resolve(distDir, 'pages/runtime') const pagesDirs = nuxt.options._layers.map( - layer => resolve(layer.config.srcDir, (layer.config.rootDir === nuxt.options.rootDir ? nuxt.options : layer.config).dir?.pages || 'pages') + layer => resolve(layer.config.srcDir, (layer.config.rootDir === nuxt.options.rootDir ? nuxt.options : layer.config).dir?.pages || 'pages'), ) async function resolveRouterOptions () { const context = { - files: [] as Array<{ path: string, optional?: boolean }> + files: [] as Array<{ path: string, optional?: boolean }>, } for (const layer of nuxt.options._layers) { @@ -90,7 +90,7 @@ export default defineNuxtModule({ const pagesDir = (layer.config.rootDir === nuxt.options.rootDir ? nuxt.options : layer.config).dir?.pages || 'pages' return [ join(layer.config.srcDir || layer.cwd, 'app/router.options.ts'), - join(layer.config.srcDir || layer.cwd, pagesDir) + join(layer.config.srcDir || layer.cwd, pagesDir), ] }) @@ -108,7 +108,7 @@ export default defineNuxtModule({ // adds support for #vue-router alias (used for types) with and without pages integration addTypeTemplate({ filename: 'vue-router-stub.d.ts', - getContents: () => `export * from '${useExperimentalTypedPages ? 'vue-router/auto' : 'vue-router'}'` + getContents: () => `export * from '${useExperimentalTypedPages ? 'vue-router/auto' : 'vue-router'}'`, }) nuxt.options.alias['#vue-router'] = join(nuxt.options.buildDir, 'vue-router-stub') @@ -119,8 +119,8 @@ export default defineNuxtModule({ filename: 'pages.mjs', getContents: () => [ 'export { useRoute } from \'#app/composables/router\'', - 'export const START_LOCATION = Symbol(\'router:start-location\')' - ].join('\n') + 'export const START_LOCATION = Symbol(\'router:start-location\')', + ].join('\n'), }) addTypeTemplate({ filename: 'types/middleware.d.ts', @@ -130,13 +130,13 @@ export default defineNuxtModule({ ' appMiddleware?: string | string[] | Record<string, boolean>', ' }', '}', - 'export {}' - ].join('\n') + 'export {}', + ].join('\n'), }) addComponent({ name: 'NuxtPage', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(distDir, 'pages/runtime/page-placeholder') + filePath: resolve(distDir, 'pages/runtime/page-placeholder'), }) return } @@ -144,7 +144,7 @@ export default defineNuxtModule({ addTemplate({ filename: 'vue-router-stub.mjs', // TODO: use `vue-router/auto` when we have support for page metadata - getContents: () => 'export * from \'vue-router\';' + getContents: () => 'export * from \'vue-router\';', }) if (useExperimentalTypedPages) { @@ -184,7 +184,7 @@ export default defineNuxtModule({ for (const page of pages) { addPage(rootPage, page) } - } + }, } nuxt.hook('prepare:types', ({ references }) => { @@ -202,7 +202,7 @@ export default defineNuxtModule({ const dts = await readFile(dtsFile, 'utf-8') addTemplate({ filename: 'types/typed-router.d.ts', - getContents: () => dts + getContents: () => dts, }) } @@ -233,7 +233,7 @@ export default defineNuxtModule({ return [ join(l.config.srcDir || l.cwd, dir?.pages || 'pages') + '/', join(l.config.srcDir || l.cwd, dir?.layouts || 'layouts') + '/', - join(l.config.srcDir || l.cwd, dir?.middleware || 'middleware') + '/' + join(l.config.srcDir || l.cwd, dir?.middleware || 'middleware') + '/', ] }) @@ -249,7 +249,7 @@ export default defineNuxtModule({ if (shouldAlwaysRegenerate || updateTemplatePaths.some(dir => path.startsWith(dir))) { await updateTemplates({ - filter: template => template.filename === 'routes.mjs' + filter: template => template.filename === 'routes.mjs', }) } }) @@ -262,7 +262,7 @@ export default defineNuxtModule({ app.middleware.unshift({ name: 'validate', path: resolve(runtimeDir, 'validate'), - global: true + global: true, }) }) @@ -301,7 +301,7 @@ export default defineNuxtModule({ nuxt.hook('imports:extend', (imports) => { imports.push( { name: 'definePageMeta', as: 'definePageMeta', from: resolve(runtimeDir, 'composables') }, - { name: 'useLink', as: 'useLink', from: '#vue-router' } + { name: 'useLink', as: 'useLink', from: '#vue-router' }, ) if (nuxt.options.experimental.inlineRouteRules) { imports.push({ name: 'defineRouteRules', as: 'defineRouteRules', from: resolve(runtimeDir, 'composables') }) @@ -381,7 +381,7 @@ export default defineNuxtModule({ routes.push({ _sync: true, path: path.replace(/\/[^/]*\*\*/, '/:pathMatch(.*)'), - file: resolve(runtimeDir, 'component-stub') + file: resolve(runtimeDir, 'component-stub'), }) } }) @@ -390,7 +390,7 @@ export default defineNuxtModule({ // Extract macros from pages const pageMetaOptions: PageMetaPluginOptions = { dev: nuxt.options.dev, - sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client + sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, } nuxt.hook('modules:done', () => { addVitePlugin(() => PageMetaPlugin.vite(pageMetaOptions)) @@ -411,7 +411,7 @@ export default defineNuxtModule({ const getSources = (pages: NuxtPage[]): string[] => pages .filter(p => Boolean(p.file)) .flatMap(p => - [relative(nuxt.options.srcDir, p.file as string), ...(p.children?.length ? getSources(p.children) : [])] + [relative(nuxt.options.srcDir, p.file as string), ...(p.children?.length ? getSources(p.children) : [])], ) // Do not prefetch page chunks @@ -438,13 +438,13 @@ export default defineNuxtModule({ if (!app.pages) { return 'export default []' } const { routes, imports } = normalizeRoutes(app.pages, new Set(), nuxt.options.experimental.scanPageMeta) return [...imports, `export default ${routes}`].join('\n') - } + }, }) // Add vue-router import for `<NuxtLayout>` integration addTemplate({ filename: 'pages.mjs', - getContents: () => 'export { START_LOCATION, useRoute } from \'vue-router\'' + getContents: () => 'export { START_LOCATION, useRoute } from \'vue-router\'', }) // Optimize vue-router to ensure we share the same injection symbol @@ -472,9 +472,9 @@ export default defineNuxtModule({ 'export default {', '...configRouterOptions,', ...routerOptionsFiles.map((_, index) => `...routerOptions${index},`), - '}' + '}', ].join('\n') - } + }, }) addTypeTemplate({ @@ -494,9 +494,9 @@ export default defineNuxtModule({ ' interface NitroRouteConfig {', ' appMiddleware?: MiddlewareKey | MiddlewareKey[] | Record<MiddlewareKey, boolean>', ' }', - '}' + '}', ].join('\n') - } + }, }) addTypeTemplate({ @@ -510,9 +510,9 @@ export default defineNuxtModule({ ' interface PageMeta {', ' layout?: MaybeRef<LayoutKey | false> | ComputedRef<LayoutKey | false>', ' }', - '}' + '}', ].join('\n') - } + }, }) // add page meta types if enabled @@ -528,9 +528,9 @@ export default defineNuxtModule({ ' interface PageMeta {', ' viewTransition?: boolean | \'always\'', ' }', - '}' + '}', ].join('\n') - } + }, }) } @@ -538,7 +538,7 @@ export default defineNuxtModule({ addComponent({ name: 'NuxtPage', priority: 10, // built-in that we do not expect the user to override - filePath: resolve(distDir, 'pages/runtime/page') + filePath: resolve(distDir, 'pages/runtime/page'), }) - } + }, }) diff --git a/packages/nuxt/src/pages/plugins/page-meta.ts b/packages/nuxt/src/pages/plugins/page-meta.ts index 07c64ebdf0..7597aef8cd 100644 --- a/packages/nuxt/src/pages/plugins/page-meta.ts +++ b/packages/nuxt/src/pages/plugins/page-meta.ts @@ -54,7 +54,7 @@ export const PageMetaPlugin = createUnplugin((options: PageMetaPluginOptions) => code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } } @@ -106,7 +106,7 @@ export const PageMetaPlugin = createUnplugin((options: PageMetaPluginOptions) => for (const name of [ parsed.defaultImport, ...Object.values(parsed.namedImports || {}), - parsed.namespacedImport + parsed.namespacedImport, ].filter(Boolean) as string[]) { importMap.set(name, i) } @@ -114,7 +114,7 @@ export const PageMetaPlugin = createUnplugin((options: PageMetaPluginOptions) => walk(this.parse(code, { sourceType: 'module', - ecmaVersion: 'latest' + ecmaVersion: 'latest', }) as Node, { enter (_node) { if (_node.type !== 'CallExpression' || (_node as CallExpression).callee.type !== 'Identifier') { return } @@ -146,11 +146,11 @@ export const PageMetaPlugin = createUnplugin((options: PageMetaPluginOptions) => const node = _node as Identifier & { start: number, end: number } addImport(node.name) } - } + }, }) s.overwrite(0, code.length, contents) - } + }, }) if (!s.hasChanged() && !code.includes('__nuxt_page_meta')) { @@ -168,9 +168,9 @@ export const PageMetaPlugin = createUnplugin((options: PageMetaPluginOptions) => if (index !== -1) { modules.splice(index, 1) } - } - } - } + }, + }, + }, } }) diff --git a/packages/nuxt/src/pages/plugins/route-injection.ts b/packages/nuxt/src/pages/plugins/route-injection.ts index 0a89d74470..257f104e19 100644 --- a/packages/nuxt/src/pages/plugins/route-injection.ts +++ b/packages/nuxt/src/pages/plugins/route-injection.ts @@ -31,9 +31,9 @@ export const RouteInjectionPlugin = (nuxt: Nuxt) => createUnplugin(() => { code: s.toString(), map: nuxt.options.sourcemap.client || nuxt.options.sourcemap.server ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/nuxt/src/pages/route-rules.ts b/packages/nuxt/src/pages/route-rules.ts index c931c87546..fef075e03e 100644 --- a/packages/nuxt/src/pages/route-rules.ts +++ b/packages/nuxt/src/pages/route-rules.ts @@ -25,7 +25,7 @@ export async function extractRouteRules (code: string): Promise<NitroRouteConfig const js = await transform(code, { loader: 'ts' }) walk(parse(js.code, { sourceType: 'module', - ecmaVersion: 'latest' + ecmaVersion: 'latest', }) as Node, { enter (_node) { if (_node.type !== 'CallExpression' || (_node as CallExpression).callee.type !== 'Identifier') { return } @@ -39,7 +39,7 @@ export async function extractRouteRules (code: string): Promise<NitroRouteConfig throw new Error('[nuxt] Error parsing route rules. They should be JSON-serializable.') } } - } + }, }) ruleCache[code] = rule diff --git a/packages/nuxt/src/pages/runtime/composables.ts b/packages/nuxt/src/pages/runtime/composables.ts index f7c4e5210d..b9db63039d 100644 --- a/packages/nuxt/src/pages/runtime/composables.ts +++ b/packages/nuxt/src/pages/runtime/composables.ts @@ -49,7 +49,7 @@ const warnRuntimeUsage = (method: string) => { console.warn( `${method}() is a compiler-hint helper that is only usable inside ` + 'the script block of a single file component which is also a page. Its arguments should be ' + - 'compiled away and passing it at runtime has no effect.' + 'compiled away and passing it at runtime has no effect.', ) } diff --git a/packages/nuxt/src/pages/runtime/page-placeholder.ts b/packages/nuxt/src/pages/runtime/page-placeholder.ts index 0e574f5819..be614d7709 100644 --- a/packages/nuxt/src/pages/runtime/page-placeholder.ts +++ b/packages/nuxt/src/pages/runtime/page-placeholder.ts @@ -9,5 +9,5 @@ export default defineComponent({ console.warn(`Create a Vue component in the \`${devPagesDir}/\` directory to enable \`<NuxtPage>\``) } return () => props.slots.default?.() - } + }, }) diff --git a/packages/nuxt/src/pages/runtime/page.ts b/packages/nuxt/src/pages/runtime/page.ts index aafaeb8e89..bee5eca87f 100644 --- a/packages/nuxt/src/pages/runtime/page.ts +++ b/packages/nuxt/src/pages/runtime/page.ts @@ -19,23 +19,23 @@ export default defineComponent({ inheritAttrs: false, props: { name: { - type: String + type: String, }, transition: { type: [Boolean, Object] as any as () => boolean | TransitionProps, - default: undefined + default: undefined, }, keepalive: { type: [Boolean, Object] as any as () => boolean | KeepAliveProps, - default: undefined + default: undefined, }, route: { - type: Object as () => RouteLocationNormalized + type: Object as () => RouteLocationNormalized, }, pageKey: { type: [Function, String] as unknown as () => string | ((route: RouteLocationNormalizedLoaded) => string), - default: null - } + default: null, + }, }, setup (props, { attrs, expose }) { const nuxtApp = useNuxtApp() @@ -107,7 +107,7 @@ export default defineComponent({ props.transition, routeProps.route.meta.pageTransition, defaultPageTransition, - { onAfterLeave: () => { nuxtApp.callHook('page:transition:finish', routeProps.Component) } } + { onAfterLeave: () => { nuxtApp.callHook('page:transition:finish', routeProps.Component) } }, ].filter(Boolean)) const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? (defaultKeepaliveConfig as KeepAliveProps) @@ -115,7 +115,7 @@ export default defineComponent({ wrapInKeepAlive(keepaliveConfig, h(Suspense, { suspensible: true, onPending: () => nuxtApp.callHook('page:start', routeProps.Component), - onResolve: () => { nextTick(() => nuxtApp.callHook('page:finish', routeProps.Component).then(() => nuxtApp.callHook('page:loading:end')).finally(done)) } + onResolve: () => { nextTick(() => nuxtApp.callHook('page:finish', routeProps.Component).then(() => nuxtApp.callHook('page:loading:end')).finally(done)) }, }, { default: () => { const providerVNode = h(RouteProvider, { @@ -124,27 +124,27 @@ export default defineComponent({ route: routeProps.route, renderKey: key || undefined, trackRootNodes: hasTransition, - vnodeRef: pageRef + vnodeRef: pageRef, }) if (import.meta.client && keepaliveConfig) { (providerVNode.type as any).name = (routeProps.Component.type as any).name || (routeProps.Component.type as any).__name || 'RouteProvider' } return providerVNode - } - }) + }, + }), )).default() return vnode - } + }, }) } - } + }, }) function _mergeTransitionProps (routeProps: TransitionProps[]): TransitionProps { const _props: TransitionProps[] = routeProps.map(prop => ({ ...prop, - onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : undefined + onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : undefined, })) return defu(..._props as [TransitionProps, TransitionProps]) } diff --git a/packages/nuxt/src/pages/runtime/plugins/check-if-page-unused.ts b/packages/nuxt/src/pages/runtime/plugins/check-if-page-unused.ts index 57ae91fe6e..7ff8466874 100644 --- a/packages/nuxt/src/pages/runtime/plugins/check-if-page-unused.ts +++ b/packages/nuxt/src/pages/runtime/plugins/check-if-page-unused.ts @@ -13,7 +13,7 @@ export default defineNuxtPlugin({ console.warn( '[nuxt] Your project has pages but the `<NuxtPage />` component has not been used.' + ' You might be using the `<RouterView />` component instead, which will not work correctly in Nuxt.' + - ' You can set `pages: false` in `nuxt.config` if you do not wish to use the Nuxt `vue-router` integration.' + ' You can set `pages: false` in `nuxt.config` if you do not wish to use the Nuxt `vue-router` integration.', ) } } @@ -25,6 +25,6 @@ export default defineNuxtPlugin({ } }, env: { - islands: false - } + islands: false, + }, }) diff --git a/packages/nuxt/src/pages/runtime/plugins/prefetch.client.ts b/packages/nuxt/src/pages/runtime/plugins/prefetch.client.ts index 678e77e647..a205d0da0a 100644 --- a/packages/nuxt/src/pages/runtime/plugins/prefetch.client.ts +++ b/packages/nuxt/src/pages/runtime/plugins/prefetch.client.ts @@ -40,5 +40,5 @@ export default defineNuxtPlugin({ layouts[layout]() } }) - } + }, }) diff --git a/packages/nuxt/src/pages/runtime/plugins/router.ts b/packages/nuxt/src/pages/runtime/plugins/router.ts index d46a3c5ad5..5dcf1786ba 100644 --- a/packages/nuxt/src/pages/runtime/plugins/router.ts +++ b/packages/nuxt/src/pages/runtime/plugins/router.ts @@ -6,7 +6,7 @@ import { createMemoryHistory, createRouter, createWebHashHistory, - createWebHistory + createWebHistory, } from '#vue-router' import { createError } from 'h3' import { isEqual, isSamePath, withoutBase } from 'ufo' @@ -33,7 +33,7 @@ import { globalMiddleware, namedMiddleware } from '#build/middleware' function createCurrentLocation ( base: string, location: Location, - renderedPath?: string + renderedPath?: string, ): string { const { pathname, search, hash } = location // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end @@ -91,7 +91,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ } }, history, - routes + routes, }) if (import.meta.client && 'scrollRestoration' in window.history) { @@ -105,7 +105,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ }) Object.defineProperty(nuxtApp.vueApp.config.globalProperties, 'previousRoute', { - get: () => previousRoute.value + get: () => previousRoute.value, }) const initialURL = import.meta.server @@ -128,7 +128,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ const route = {} as RouteLocation for (const key in _route.value) { Object.defineProperty(route, key, { - get: () => _route.value[key as keyof RouteLocation] + get: () => _route.value[key as keyof RouteLocation], }) } @@ -136,7 +136,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ nuxtApp._middleware = nuxtApp._middleware || { global: [], - named: {} + named: {}, } try { @@ -208,7 +208,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ if (result === false || result instanceof Error) { const error = result || createError({ statusCode: 404, - statusMessage: `Page Not Found: ${initialURL}` + statusMessage: `Page Not Found: ${initialURL}`, }) await nuxtApp.runWithContext(() => showError(error)) return false @@ -248,8 +248,8 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ fatal: false, statusMessage: `Page not found: ${to.fullPath}`, data: { - path: to.fullPath - } + path: to.fullPath, + }, }))) } else if (import.meta.server && to.fullPath !== initialURL && (to.redirectedFrom || !isSamePath(to.fullPath, initialURL))) { await nuxtApp.runWithContext(() => navigateTo(to.fullPath || '/')) @@ -264,7 +264,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ } await router.replace({ ...resolvedInitialRoute, - force: true + force: true, }) // reset scroll behavior to initial value router.options.scrollBehavior = routerOptions.scrollBehavior @@ -275,7 +275,7 @@ const plugin: Plugin<{ router: Router }> = defineNuxtPlugin({ }) return { provide: { router } } - } + }, }) export default plugin diff --git a/packages/nuxt/src/pages/runtime/router.options.ts b/packages/nuxt/src/pages/runtime/router.options.ts index 5850c8be78..a28769d14b 100644 --- a/packages/nuxt/src/pages/runtime/router.options.ts +++ b/packages/nuxt/src/pages/runtime/router.options.ts @@ -51,14 +51,14 @@ export default <RouterConfig> { resolve(position) }) }) - } + }, } function _getHashElementScrollMarginTop (selector: string): number { try { const elem = document.querySelector(selector) if (elem) { - return parseFloat(getComputedStyle(elem).scrollMarginTop) + return Number.parseFloat(getComputedStyle(elem).scrollMarginTop) } } catch { // ignore any errors parsing scrollMarginTop diff --git a/packages/nuxt/src/pages/runtime/validate.ts b/packages/nuxt/src/pages/runtime/validate.ts index b3aac24ed9..525042d78a 100644 --- a/packages/nuxt/src/pages/runtime/validate.ts +++ b/packages/nuxt/src/pages/runtime/validate.ts @@ -20,8 +20,8 @@ export default defineNuxtRouteMiddleware(async (to) => { statusCode: 404, statusMessage: `Page Not Found: ${to.fullPath}`, data: { - path: to.fullPath - } + path: to.fullPath, + }, }) const unsub = router.beforeResolve((final) => { unsub() diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 1d7b750fae..dd0dbf8bfb 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -45,7 +45,7 @@ export async function resolvePagesRoutes (): Promise<NuxtPage[]> { const nuxt = useNuxt() const pagesDirs = nuxt.options._layers.map( - layer => resolve(layer.config.srcDir, (layer.config.rootDir === nuxt.options.rootDir ? nuxt.options : layer.config).dir?.pages || 'pages') + layer => resolve(layer.config.srcDir, (layer.config.rootDir === nuxt.options.rootDir ? nuxt.options : layer.config).dir?.pages || 'pages'), ) const scannedFiles: ScannedFile[] = [] @@ -60,7 +60,7 @@ export async function resolvePagesRoutes (): Promise<NuxtPage[]> { const allRoutes = await generateRoutesFromFiles(uniqueBy(scannedFiles, 'relativePath'), { shouldExtractBuildMeta: nuxt.options.experimental.scanPageMeta || nuxt.options.experimental.typedPages, shouldUseServerComponents: !!nuxt.options.experimental.componentIslands, - vfs: nuxt.vfs + vfs: nuxt.vfs, }) return uniqueBy(allRoutes, 'path') @@ -84,7 +84,7 @@ export async function generateRoutesFromFiles (files: ScannedFile[], options: Ge name: '', path: '', file: file.absolutePath, - children: [] + children: [], } // Array where routes should be added, useful when adding child routes @@ -175,7 +175,7 @@ async function getRouteMeta (contents: string, absolutePath: string): Promise<Pa const ast = parse(js.code, { sourceType: 'module', ecmaVersion: 'latest', - ranges: true + ranges: true, }) as unknown as Program const pageMetaAST = ast.body.find(node => node.type === 'ExpressionStatement' && node.expression.type === 'CallExpression' && node.expression.callee.type === 'Identifier' && node.expression.callee.name === 'definePageMeta') if (!pageMetaAST) { @@ -287,7 +287,7 @@ function parseSegment (segment: string) { : state === SegmentParserState.optional ? SegmentTokenType.optional : SegmentTokenType.catchall, - value: buffer + value: buffer, }) buffer = '' @@ -425,7 +425,7 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set<string> = name: serializeRouteValue(page.name), meta: serializeRouteValue(metaFiltered, skipMeta), alias: serializeRouteValue(toArray(page.alias), skipAlias), - redirect: serializeRouteValue(page.redirect) + redirect: serializeRouteValue(page.redirect), } for (const key of ['path', 'name', 'meta', 'alias', 'redirect'] satisfies NormalizedRouteKeys) { @@ -464,7 +464,7 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set<string> = ? `() => createIslandPage(${route.name})` : page.mode === 'client' ? `() => createClientPage(${pageImport})` - : pageImport + : pageImport, } if (page.mode === 'server') { @@ -524,7 +524,7 @@ async function createClientPage(loader) { } return metaRoute - })) + })), } } @@ -543,6 +543,6 @@ export function pathToNitroGlob (path: string) { export function resolveRoutePaths (page: NuxtPage, parent = '/'): string[] { return [ joinURL(parent, page.path), - ...page.children?.flatMap(child => resolveRoutePaths(child, joinURL(parent, page.path))) || [] + ...page.children?.flatMap(child => resolveRoutePaths(child, joinURL(parent, page.path))) || [], ] } diff --git a/packages/nuxt/test/app.test.ts b/packages/nuxt/test/app.test.ts index 47bbdbc28a..2eb76e8a4a 100644 --- a/packages/nuxt/test/app.test.ts +++ b/packages/nuxt/test/app.test.ts @@ -87,7 +87,7 @@ describe('resolveApp', () => { 'middleware/other.ts', 'layouts/index.vue', 'layouts/default/index.vue', - 'layouts/other.vue' + 'layouts/other.vue', ]) // Middleware are not resolved in a nested manner expect(app.middleware.filter(m => m.path.startsWith('<rootDir>'))).toMatchInlineSnapshot(` @@ -130,8 +130,8 @@ describe('resolveApp', () => { 'plugins/object-named.ts', { name: 'nuxt.config.ts', - contents: 'export default defineNuxtConfig({ extends: [\'./layer2\', \'./layer1\'] })' - } + contents: 'export default defineNuxtConfig({ extends: [\'./layer2\', \'./layer1\'] })', + }, ]) const fixturePlugins = app.plugins.filter(p => !('getContents' in p) && p.src.includes('<rootDir>')).map(p => p.src) // TODO: support overriding named plugins @@ -167,8 +167,8 @@ describe('resolveApp', () => { 'middleware/named.ts', { name: 'nuxt.config.ts', - contents: 'export default defineNuxtConfig({ extends: [\'./layer2\', \'./layer1\'] })' - } + contents: 'export default defineNuxtConfig({ extends: [\'./layer2\', \'./layer1\'] })', + }, ]) const fixtureMiddleware = app.middleware.filter(p => p.path.includes('<rootDir>')).map(p => p.path) // TODO: fix this @@ -196,8 +196,8 @@ describe('resolveApp', () => { 'layouts/default.vue', { name: 'nuxt.config.ts', - contents: 'export default defineNuxtConfig({ extends: [\'./layer2\', \'./layer1\'] })' - } + contents: 'export default defineNuxtConfig({ extends: [\'./layer2\', \'./layer1\'] })', + }, ]) expect(app.layouts).toMatchInlineSnapshot(` { @@ -222,7 +222,7 @@ describe('resolveApp', () => { 'layouts/thing/thing/thing.vue', 'layouts/desktop-base/base.vue', 'layouts/some.vue', - 'layouts/SomeOther/layout.ts' + 'layouts/SomeOther/layout.ts', ]) expect(app.layouts).toMatchInlineSnapshot(` { diff --git a/packages/nuxt/test/auto-imports.test.ts b/packages/nuxt/test/auto-imports.test.ts index 4c659ffbd7..3f8807dc3f 100644 --- a/packages/nuxt/test/auto-imports.test.ts +++ b/packages/nuxt/test/auto-imports.test.ts @@ -13,11 +13,11 @@ describe('imports:transform', () => { const imports: Import[] = [ { name: 'ref', as: 'ref', from: 'vue' }, { name: 'computed', as: 'computed', from: 'bar' }, - { name: 'foo', as: 'foo', from: 'excluded' } + { name: 'foo', as: 'foo', from: 'excluded' }, ] const ctx = createUnimport({ - imports + imports, }) const transformPlugin = TransformPlugin.raw({ ctx, options: { transform: { exclude: [/node_modules/] } } }, { framework: 'rollup' }) as Plugin @@ -73,7 +73,6 @@ describe('imports:nuxt', () => { } } catch (e) { it('should import composables', () => { - // eslint-disable-next-line no-console console.error(e) expect(false).toBe(true) }) @@ -181,7 +180,7 @@ const excludedVueHelpers = [ 'DeprecationTypes', 'ErrorCodes', 'TrackOpTypes', - 'TriggerOpTypes' + 'TriggerOpTypes', ] describe('imports:vue', () => { diff --git a/packages/nuxt/test/components-transform.test.ts b/packages/nuxt/test/components-transform.test.ts index b3a5127a26..e1a6a8a1e5 100644 --- a/packages/nuxt/test/components-transform.test.ts +++ b/packages/nuxt/test/components-transform.test.ts @@ -9,7 +9,7 @@ describe('components:transform', () => { it('should transform #components imports', async () => { const transform = createTransformer([ createComponent('Foo'), - createComponent('Bar', { export: 'Bar' }) + createComponent('Bar', { export: 'Bar' }), ]) const code = await transform('import { Foo, Bar } from \'#components\'', '/app.vue') @@ -22,7 +22,7 @@ describe('components:transform', () => { it('should correctly resolve server-only components', async () => { const transform = createTransformer([ - createComponent('Foo', { mode: 'server' }) + createComponent('Foo', { mode: 'server' }), ]) const code = await transform('import { Foo, LazyFoo } from \'#components\'', '/app.vue') @@ -48,7 +48,7 @@ describe('components:transform', () => { it('should correctly resolve client-only components', async () => { const transform = createTransformer([ - createComponent('Foo', { mode: 'client' }) + createComponent('Foo', { mode: 'client' }), ]) const code = await transform('import { Foo, LazyFoo } from \'#components\'', '/app.vue') @@ -84,9 +84,9 @@ function createTransformer (components: Component[], mode: 'client' | 'server' | buildDir: '/', sourcemap: { server: false, - client: false - } - } + client: false, + }, + }, } as Nuxt const plugin = createTransformPlugin(stubNuxt, () => components, mode).vite() @@ -107,6 +107,6 @@ function createComponent (pascalName: string, options: Partial<Component> = {}) prefetch: false, preload: false, shortPath: `components/${pascalName}.vue`, - ...options + ...options, } satisfies Component } diff --git a/packages/nuxt/test/devonly.test.ts b/packages/nuxt/test/devonly.test.ts index b49b6ec273..ef280a7876 100644 --- a/packages/nuxt/test/devonly.test.ts +++ b/packages/nuxt/test/devonly.test.ts @@ -2,6 +2,7 @@ import { describe, expect, it } from 'vitest' import type { Plugin } from 'vite' import { DevOnlyPlugin } from '../src/core/plugins/dev-only' import { normalizeLineEndings } from './utils' + const pluginVite = DevOnlyPlugin.raw({}, { framework: 'vite' }) as Plugin const viteTransform = async (source: string, id: string) => { diff --git a/packages/nuxt/test/fixture/components/client/ComponentWithProps.vue b/packages/nuxt/test/fixture/components/client/ComponentWithProps.vue index 51d71012d8..da711f929e 100644 --- a/packages/nuxt/test/fixture/components/client/ComponentWithProps.vue +++ b/packages/nuxt/test/fixture/components/client/ComponentWithProps.vue @@ -6,6 +6,6 @@ <script setup lang="ts"> defineProps<{ - count?: number + count?: number }>() </script> diff --git a/packages/nuxt/test/import-protection.test.ts b/packages/nuxt/test/import-protection.test.ts index 13b2548584..b716c733bd 100644 --- a/packages/nuxt/test/import-protection.test.ts +++ b/packages/nuxt/test/import-protection.test.ts @@ -22,7 +22,7 @@ const testsToTriggerOn = [ ['/root/node_modules/@nuxt/kit', 'components/Component.vue', true], ['some-nuxt-module', 'components/Component.vue', true], ['/root/src/server/api/test.ts', 'components/Component.vue', true], - ['src/server/api/test.ts', 'components/Component.vue', true] + ['src/server/api/test.ts', 'components/Component.vue', true], ] as const describe('import protection', () => { @@ -44,9 +44,9 @@ const transformWithImportProtection = (id: string, importer: string) => { options: { modules: ['some-nuxt-module'], srcDir: '/root/src/', - serverDir: '/root/src/server' - } satisfies Partial<NuxtOptions> as NuxtOptions - }) + serverDir: '/root/src/server', + } satisfies Partial<NuxtOptions> as NuxtOptions, + }), }) return (plugin as any).resolveId(id, importer) diff --git a/packages/nuxt/test/islandTransform.test.ts b/packages/nuxt/test/islandTransform.test.ts index 78027d84a2..519373867a 100644 --- a/packages/nuxt/test/islandTransform.test.ts +++ b/packages/nuxt/test/islandTransform.test.ts @@ -15,12 +15,12 @@ const getComponents = () => [{ export: 'default', shortPath: '', prefetch: false, - preload: false + preload: false, }] as Component[] const pluginWebpack = islandsTransform.raw({ getComponents, - selectiveClient: true + selectiveClient: true, }, { framework: 'webpack', webpack: { compiler: {} as any } }) const viteTransform = async (source: string, id: string, isDev = false, selectiveClient = false) => { @@ -28,7 +28,7 @@ const viteTransform = async (source: string, id: string, isDev = false, selectiv getComponents, rootDir: '/root', isDev, - selectiveClient + selectiveClient, }, { framework: 'vite' }) as Plugin const result = await (vitePlugin.transform! as Function)(source, id) diff --git a/packages/nuxt/test/load-nuxt.bench.ts b/packages/nuxt/test/load-nuxt.bench.ts index bb552ab396..483a96497c 100644 --- a/packages/nuxt/test/load-nuxt.bench.ts +++ b/packages/nuxt/test/load-nuxt.bench.ts @@ -11,7 +11,7 @@ describe('loadNuxt', () => { bench('empty directory', async () => { const nuxt = await loadNuxt({ cwd: emptyDir, - ready: true + ready: true, }) await nuxt.close() }) @@ -19,7 +19,7 @@ describe('loadNuxt', () => { bench('basic test fixture', async () => { const nuxt = await loadNuxt({ cwd: basicTestFixtureDir, - ready: true + ready: true, }) await nuxt.close() }) diff --git a/packages/nuxt/test/load-nuxt.test.ts b/packages/nuxt/test/load-nuxt.test.ts index 5d5e93a036..d6207329c3 100644 --- a/packages/nuxt/test/load-nuxt.test.ts +++ b/packages/nuxt/test/load-nuxt.test.ts @@ -16,9 +16,9 @@ describe('loadNuxt', () => { hooks: { ready () { hookRan = true - } - } - } + }, + }, + }, }) await nuxt.close() expect(hookRan).toBe(true) diff --git a/packages/nuxt/test/naming.test.ts b/packages/nuxt/test/naming.test.ts index 9aeb243387..bfb876897b 100644 --- a/packages/nuxt/test/naming.test.ts +++ b/packages/nuxt/test/naming.test.ts @@ -7,7 +7,7 @@ describe('getNameFromPath', () => { 'base.vue': 'base', 'base/base.vue': 'base', 'base/base-layout.vue': 'base-layout', - 'base-1-layout': 'base-1-layout' + 'base-1-layout': 'base-1-layout', } it.each(Object.keys(cases))('correctly deduplicates segments - %s', (filename) => { expect(getNameFromPath(filename)).toEqual(cases[filename]) @@ -32,7 +32,7 @@ const tests: Array<[string, string[], string]> = [ ['Icon', ['Icones'], 'IconesIcon'], ['IconHolder', ['IconHolder'], 'IconHolder'], ['GameList', ['Desktop', 'ShareGame', 'Review', 'Detail'], 'DesktopShareGameReviewDetailGameList'], - ['base-1-layout', [], 'Base1Layout'] + ['base-1-layout', [], 'Base1Layout'], ] describe('components:resolveComponentNameSegments', () => { diff --git a/packages/nuxt/test/nuxt-link.test.ts b/packages/nuxt/test/nuxt-link.test.ts index a7dacb916c..1ee1490837 100644 --- a/packages/nuxt/test/nuxt-link.test.ts +++ b/packages/nuxt/test/nuxt-link.test.ts @@ -8,9 +8,9 @@ import { useRuntimeConfig } from '../src/app/nuxt' vi.mock('../src/app/nuxt', () => ({ useRuntimeConfig: vi.fn(() => ({ app: { - baseURL: '/' - } - })) + baseURL: '/', + }, + })), })) // Mocks `h()` @@ -19,7 +19,7 @@ vi.mock('vue', async () => { return { ...vue, resolveComponent: (name: string) => name, - h: (...args: any[]) => args + h: (...args: any[]) => args, } }) @@ -35,10 +35,10 @@ vi.mock('../src/app/composables/router', () => ({ : { path: route.path || `/${route.name?.toString()}` || undefined, query: route.query || undefined, - hash: route.hash || undefined + hash: route.hash || undefined, } - } - }) + }, + }), })) // Helpers for test visibility @@ -48,12 +48,12 @@ const INTERNAL = 'RouterLink' // Renders a `<NuxtLink />` const nuxtLink = ( props: NuxtLinkProps = {}, - nuxtLinkOptions: Partial<NuxtLinkOptions> = {} + nuxtLinkOptions: Partial<NuxtLinkOptions> = {}, ): { type: string, props: Record<string, unknown>, slots: unknown } => { const component = defineNuxtLink({ componentName: 'NuxtLink', ...nuxtLinkOptions }) const [type, _props, slots] = (component.setup as unknown as (props: NuxtLinkProps, context: { slots: Record<string, () => unknown> }) => - () => [string, Record<string, unknown>, unknown])(props, { slots: { default: () => null } })() + () => [string, Record<string, unknown>, unknown])(props, { slots: { default: () => null } })() return { type, props: _props, slots } } @@ -140,8 +140,8 @@ describe('nuxt-link:propsOrAttributes', () => { vi.mocked(useRuntimeConfig).withImplementation(() => { return { app: { - baseURL: '/base' - } + baseURL: '/base', + }, } as any }, () => { expect(nuxtLink({ to: '/', target: '_blank' }).props.href).toBe('/base') @@ -161,8 +161,8 @@ describe('nuxt-link:propsOrAttributes', () => { vi.mocked(useRuntimeConfig).withImplementation(() => { return { app: { - baseURL: '/base' - } + baseURL: '/base', + }, } as any }, () => { expect(nuxtLink({ to: 'http://nuxtjs.org/app/about', target: '_blank' }).props.href).toBe('http://nuxtjs.org/app/about') diff --git a/packages/nuxt/test/pages.test.ts b/packages/nuxt/test/pages.test.ts index ca36e05b32..36d996d635 100644 --- a/packages/nuxt/test/pages.test.ts +++ b/packages/nuxt/test/pages.test.ts @@ -14,13 +14,13 @@ describe('pages:generateRoutesFromFiles', () => { genArrayFromRaw: (val: any) => val, genSafeVariableName: (..._args: string[]) => { return 'mock' - } + }, } }) const tests: Array<{ description: string - files?: Array<{ path: string; template?: string; }> + files?: Array<{ path: string, template?: string }> output?: NuxtPage[] normalized?: Record<string, any>[] error?: string @@ -30,34 +30,34 @@ describe('pages:generateRoutesFromFiles', () => { files: [ { path: `${pagesDir}/index.vue` }, { path: `${pagesDir}/parent/index.vue` }, - { path: `${pagesDir}/parent/child/index.vue` } + { path: `${pagesDir}/parent/child/index.vue` }, ], output: [ { name: 'index', path: '/', file: `${pagesDir}/index.vue`, - children: [] + children: [], }, { name: 'parent', path: '/parent', file: `${pagesDir}/parent/index.vue`, - children: [] + children: [], }, { name: 'parent-child', path: '/parent/child', file: `${pagesDir}/parent/child/index.vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should generate correct routes for parent/child', files: [ { path: `${pagesDir}/parent.vue` }, - { path: `${pagesDir}/parent/child.vue` } + { path: `${pagesDir}/parent/child.vue` }, ], output: [ { @@ -69,88 +69,88 @@ describe('pages:generateRoutesFromFiles', () => { name: 'parent-child', path: 'child', file: `${pagesDir}/parent/child.vue`, - children: [] - } - ] - } - ] + children: [], + }, + ], + }, + ], }, { description: 'should not generate colliding route names when hyphens are in file name', files: [ { path: `${pagesDir}/parent/[child].vue` }, - { path: `${pagesDir}/parent-[child].vue` } + { path: `${pagesDir}/parent-[child].vue` }, ], output: [ { name: 'parent-child', path: '/parent/:child()', file: `${pagesDir}/parent/[child].vue`, - children: [] + children: [], }, { name: 'parent-child', path: '/parent-:child()', file: `${pagesDir}/parent-[child].vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should generate correct id for catchall (order 1)', files: [ { path: `${pagesDir}/[...stories].vue` }, - { path: `${pagesDir}/stories/[id].vue` } + { path: `${pagesDir}/stories/[id].vue` }, ], output: [ { name: 'stories', path: '/:stories(.*)*', file: `${pagesDir}/[...stories].vue`, - children: [] + children: [], }, { name: 'stories-id', path: '/stories/:id()', file: `${pagesDir}/stories/[id].vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should generate correct id for catchall (order 2)', files: [ { path: `${pagesDir}/stories/[id].vue` }, - { path: `${pagesDir}/[...stories].vue` } + { path: `${pagesDir}/[...stories].vue` }, ], output: [ { name: 'stories-id', path: '/stories/:id()', file: `${pagesDir}/stories/[id].vue`, - children: [] + children: [], }, { name: 'stories', path: '/:stories(.*)*', file: `${pagesDir}/[...stories].vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should generate correct route for snake_case file', files: [ - { path: `${pagesDir}/snake_case.vue` } + { path: `${pagesDir}/snake_case.vue` }, ], output: [ { name: 'snake_case', path: '/snake_case', file: `${pagesDir}/snake_case.vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should generate correct route for kebab-case file', @@ -160,9 +160,9 @@ describe('pages:generateRoutesFromFiles', () => { name: 'kebab-case', path: '/kebab-case', file: `${pagesDir}/kebab-case.vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should generate correct dynamic routes', @@ -178,20 +178,20 @@ describe('pages:generateRoutesFromFiles', () => { { path: `${pagesDir}/[bar]/index.vue` }, { path: `${pagesDir}/nonopt/[slug].vue` }, { path: `${pagesDir}/opt/[[slug]].vue` }, - { path: `${pagesDir}/[[sub]]/route-[slug].vue` } + { path: `${pagesDir}/[[sub]]/route-[slug].vue` }, ], output: [ { name: 'index', path: '/', file: `${pagesDir}/index.vue`, - children: [] + children: [], }, { children: [], name: 'slug', file: `${pagesDir}/[slug].vue`, - path: '/:slug()' + path: '/:slug()', }, { children: [ @@ -200,62 +200,62 @@ describe('pages:generateRoutesFromFiles', () => { name: 'foo', path: '', file: `${pagesDir}/[[foo]]/index.vue`, - children: [] - } + children: [], + }, ], file: `${pagesDir}/[[foo]]`, - path: '/:foo?' + path: '/:foo?', }, { children: [], path: '/optional/:opt?', name: 'optional-opt', - file: `${pagesDir}/optional/[[opt]].vue` + file: `${pagesDir}/optional/[[opt]].vue`, }, { children: [], path: '/optional/prefix-:opt?', name: 'optional-prefix-opt', - file: `${pagesDir}/optional/prefix-[[opt]].vue` + file: `${pagesDir}/optional/prefix-[[opt]].vue`, }, { children: [], path: '/optional/:opt?-postfix', name: 'optional-opt-postfix', - file: `${pagesDir}/optional/[[opt]]-postfix.vue` + file: `${pagesDir}/optional/[[opt]]-postfix.vue`, }, { children: [], path: '/optional/prefix-:opt?-postfix', name: 'optional-prefix-opt-postfix', - file: `${pagesDir}/optional/prefix-[[opt]]-postfix.vue` + file: `${pagesDir}/optional/prefix-[[opt]]-postfix.vue`, }, { children: [], name: 'bar', file: `${pagesDir}/[bar]/index.vue`, - path: '/:bar()' + path: '/:bar()', }, { name: 'nonopt-slug', path: '/nonopt/:slug()', file: `${pagesDir}/nonopt/[slug].vue`, - children: [] + children: [], }, { name: 'opt-slug', path: '/opt/:slug?', file: `${pagesDir}/opt/[[slug]].vue`, - children: [] + children: [], }, { name: 'sub-route-slug', path: '/:sub?/route-:slug()', file: `${pagesDir}/[[sub]]/route-[slug].vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should generate correct catch-all route', @@ -265,27 +265,27 @@ describe('pages:generateRoutesFromFiles', () => { name: 'slug', path: '/:slug(.*)*', file: `${pagesDir}/[...slug].vue`, - children: [] + children: [], }, { name: 'index', path: '/', file: `${pagesDir}/index.vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should throw unfinished param error for dynamic route', files: [{ path: `${pagesDir}/[slug.vue` }], - error: 'Unfinished param "slug"' + error: 'Unfinished param "slug"', }, { description: 'should throw empty param error for dynamic route', files: [ - { path: `${pagesDir}/[].vue` } + { path: `${pagesDir}/[].vue` }, ], - error: 'Empty param' + error: 'Empty param', }, { description: 'should only allow "_" & "." as special character for dynamic route', @@ -294,40 +294,40 @@ describe('pages:generateRoutesFromFiles', () => { { path: `${pagesDir}/[b2.2b].vue` }, { path: `${pagesDir}/[b2]_[2b].vue` }, { path: `${pagesDir}/[[c3@3c]].vue` }, - { path: `${pagesDir}/[[d4-4d]].vue` } + { path: `${pagesDir}/[[d4-4d]].vue` }, ], output: [ { name: 'a1_1a', path: '/:a1_1a()', file: `${pagesDir}/[a1_1a].vue`, - children: [] + children: [], }, { name: 'b2.2b', path: '/:b2.2b()', file: `${pagesDir}/[b2.2b].vue`, - children: [] + children: [], }, { name: 'b2_2b', path: '/:b2()_:2b()', file: `${pagesDir}/[b2]_[2b].vue`, - children: [] + children: [], }, { name: 'c33c', path: '/:c33c?', file: `${pagesDir}/[[c3@3c]].vue`, - children: [] + children: [], }, { name: 'd44d', path: '/:d44d?', file: `${pagesDir}/[[d4-4d]].vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should properly override route name if definePageMeta name override is defined.', @@ -340,37 +340,37 @@ describe('pages:generateRoutesFromFiles', () => { name: 'home' }) </script> - ` - } + `, + }, ], output: [ { name: 'home', path: '/', file: `${pagesDir}/index.vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should allow pages with `:` in their path', files: [ - { path: `${pagesDir}/test:name.vue` } + { path: `${pagesDir}/test:name.vue` }, ], output: [ { name: 'test:name', path: '/test\\:name', file: `${pagesDir}/test:name.vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should not merge required param as a child of optional param', files: [ { path: `${pagesDir}/[[foo]].vue` }, - { path: `${pagesDir}/[foo].vue` } + { path: `${pagesDir}/[foo].vue` }, ], output: [ { @@ -378,15 +378,15 @@ describe('pages:generateRoutesFromFiles', () => { path: '/:foo?', file: `${pagesDir}/[[foo]].vue`, children: [ - ] + ], }, { name: 'foo', path: '/:foo()', file: `${pagesDir}/[foo].vue`, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should correctly merge nested routes', @@ -398,7 +398,7 @@ describe('pages:generateRoutesFromFiles', () => { { path: `${pagesDir}/wrapper-expose/other.vue` }, { path: `${layerDir}/wrapper-expose/other/index.vue` }, { path: `${pagesDir}/wrapper-expose/other/sibling.vue` }, - { path: `${pagesDir}/param/sibling.vue` } + { path: `${pagesDir}/param/sibling.vue` }, ], output: [ { @@ -409,27 +409,27 @@ describe('pages:generateRoutesFromFiles', () => { children: [], file: `${pagesDir}/param/index/index.vue`, name: 'param-index', - path: '' + path: '', }, { children: [], file: `${layerDir}/param/index/sibling.vue`, name: 'param-index-sibling', - path: 'sibling' - } + path: 'sibling', + }, ], file: `${layerDir}/param/index.vue`, - path: '' + path: '', }, { children: [], file: `${pagesDir}/param/sibling.vue`, name: 'param-sibling', - path: 'sibling' - } + path: 'sibling', + }, ], file: `${pagesDir}/param.vue`, - path: '/param' + path: '/param', }, { children: [ @@ -437,25 +437,25 @@ describe('pages:generateRoutesFromFiles', () => { children: [], file: `${layerDir}/wrapper-expose/other/index.vue`, name: 'wrapper-expose-other', - path: '' + path: '', }, { children: [], file: `${pagesDir}/wrapper-expose/other/sibling.vue`, name: 'wrapper-expose-other-sibling', - path: 'sibling' - } + path: 'sibling', + }, ], file: `${pagesDir}/wrapper-expose/other.vue`, - path: '/wrapper-expose/other' - } - ] + path: '/wrapper-expose/other', + }, + ], }, { description: 'should handle trailing slashes with index routes', files: [ { path: `${pagesDir}/index/index.vue` }, - { path: `${pagesDir}/index/index/all.vue` } + { path: `${pagesDir}/index/index/all.vue` }, ], output: [ { @@ -464,14 +464,14 @@ describe('pages:generateRoutesFromFiles', () => { children: [], file: `${pagesDir}/index/index/all.vue`, name: 'index-index-all', - path: 'all' - } + path: 'all', + }, ], file: `${pagesDir}/index/index.vue`, name: 'index', - path: '/' - } - ] + path: '/', + }, + ], }, { description: 'should use fallbacks when normalized with `overrideMeta: true`', @@ -489,8 +489,8 @@ describe('pages:generateRoutesFromFiles', () => { redirect: () => '/' }) </script> - ` - } + `, + }, ], output: [ { @@ -498,9 +498,9 @@ describe('pages:generateRoutesFromFiles', () => { path: '/', file: `${pagesDir}/index.vue`, meta: { [DYNAMIC_META_KEY]: new Set(['name', 'alias', 'redirect', 'meta']) }, - children: [] - } - ] + children: [], + }, + ], }, { description: 'should extract serializable values and override fallback when normalized with `overrideMeta: true`', @@ -516,8 +516,8 @@ describe('pages:generateRoutesFromFiles', () => { hello: 'world' }) </script> - ` - } + `, + }, ], output: [ { @@ -527,9 +527,9 @@ describe('pages:generateRoutesFromFiles', () => { alias: ['sweet-home'], redirect: '/', children: [], - meta: { [DYNAMIC_META_KEY]: new Set(['meta']) } - } - ] + meta: { [DYNAMIC_META_KEY]: new Set(['meta']) }, + }, + ], }, { description: 'route without file', @@ -538,9 +538,9 @@ describe('pages:generateRoutesFromFiles', () => { name: 'home', path: '/', alias: ['sweet-home'], - meta: { hello: 'world' } - } - ] + meta: { hello: 'world' }, + }, + ], }, { description: 'pushed route, skips generation from file', @@ -550,10 +550,10 @@ describe('pages:generateRoutesFromFiles', () => { path: '/', alias: ['pushed-route-alias'], meta: { someMetaData: true }, - file: `${pagesDir}/route-file.vue` - } - ] - } + file: `${pagesDir}/route-file.vue`, + }, + ], + }, ] const normalizedResults: Record<string, any> = {} @@ -564,14 +564,14 @@ describe('pages:generateRoutesFromFiles', () => { let result if (test.files) { const vfs = Object.fromEntries( - test.files.map(file => [file.path, 'template' in file ? file.template : '']) + test.files.map(file => [file.path, 'template' in file ? file.template : '']), ) as Record<string, string> try { result = await generateRoutesFromFiles(test.files.map(file => ({ shouldUseServerComponents: true, absolutePath: file.path, - relativePath: file.path.replace(/^(pages|layer\/pages)\//, '') + relativePath: file.path.replace(/^(pages|layer\/pages)\//, ''), })), { shouldExtractBuildMeta: true, vfs }) } catch (error: any) { expect(error.message).toEqual(test.error) @@ -606,20 +606,20 @@ describe('pages:generateRouteKey', () => { params: { id: 'foo', optional: 'bar', - array: ['a', 'b'] + array: ['a', 'b'], }, matched: [ { components: { default: {} }, - meta: { key: 'other-meta-key' } + meta: { key: 'other-meta-key' }, }, { components: { default: defaultComponent.type }, meta: { key: 'matched-meta-key' }, - ...matchedRoute - } - ] - } + ...matchedRoute, + }, + ], + }, }) as any const tests = [ @@ -630,66 +630,66 @@ describe('pages:generateRouteKey', () => { description: 'should key dynamic routes without keys', route: getRouteProps({ path: '/test/:id', - meta: {} + meta: {}, }), - output: '/test/foo' + output: '/test/foo', }, { description: 'should key dynamic routes without keys', route: getRouteProps({ path: '/test/:id(\\d+)', - meta: {} + meta: {}, }), - output: '/test/foo' + output: '/test/foo', }, { description: 'should key dynamic routes with optional params', route: getRouteProps({ path: '/test/:optional?', - meta: {} + meta: {}, }), - output: '/test/bar' + output: '/test/bar', }, { description: 'should key dynamic routes with optional params', route: getRouteProps({ path: '/test/:optional(\\d+)?', - meta: {} + meta: {}, }), - output: '/test/bar' + output: '/test/bar', }, { description: 'should key dynamic routes with optional params', route: getRouteProps({ path: '/test/:undefined(\\d+)?', - meta: {} + meta: {}, }), - output: '/test/' + output: '/test/', }, { description: 'should key dynamic routes with array params', route: getRouteProps({ path: '/:array+', - meta: {} + meta: {}, }), - output: '/a,b' + output: '/a,b', }, { description: 'should key dynamic routes with array params', route: getRouteProps({ path: '/test/:array*', - meta: {} + meta: {}, }), - output: '/test/a,b' + output: '/test/a,b', }, { description: 'should key dynamic routes with array params', route: getRouteProps({ path: '/test/:other*', - meta: {} + meta: {}, }), - output: '/test/' - } + output: '/test/', + }, ] for (const test of tests) { @@ -707,7 +707,7 @@ const pathToNitroGlobTests = { '/some-:id?': '/**', '/other/some-:id?': '/other/**', '/other/some-:id()-more': '/other/**', - '/other/nested': '/other/nested' + '/other/nested': '/other/nested', } describe('pages:pathToNitroGlob', () => { diff --git a/packages/nuxt/test/plugin-metadata.test.ts b/packages/nuxt/test/plugin-metadata.test.ts index b06b3f2371..62c905a3b4 100644 --- a/packages/nuxt/test/plugin-metadata.test.ts +++ b/packages/nuxt/test/plugin-metadata.test.ts @@ -11,7 +11,7 @@ describe('plugin-metadata', () => { enforce: 'post', hooks: { 'app:mounted': () => {} }, setup: () => { return { provide: { jsx: '[JSX]' } } }, - order: 1 + order: 1, }) for (const item of properties) { @@ -20,7 +20,7 @@ describe('plugin-metadata', () => { const meta = await extractMetadata([ 'export default defineNuxtPlugin({', ...obj.map(([key, value]) => `${key}: ${typeof value === 'function' ? value.toString().replace('"[JSX]"', '() => <span>JSX</span>') : JSON.stringify(value)},`), - '})' + '})', ].join('\n'), 'tsx') expect(meta).toMatchInlineSnapshot(` @@ -34,13 +34,13 @@ describe('plugin-metadata', () => { const transformPlugin: any = RemovePluginMetadataPlugin({ options: { sourcemap: { client: true } }, - apps: { default: { plugins: [{ src: 'my-plugin.mjs', order: 10 }] } } + apps: { default: { plugins: [{ src: 'my-plugin.mjs', order: 10 }] } }, } as any).raw({}, {} as any) it('should overwrite invalid plugins', () => { const invalidPlugins = [ 'export const plugin = {}', - 'export default function (ctx, inject) {}' + 'export default function (ctx, inject) {}', ] for (const plugin of invalidPlugins) { expect(transformPlugin.transform.call({ parse }, plugin, 'my-plugin.mjs').code).toBe('export default () => {}') @@ -71,17 +71,17 @@ describe('plugin sanity checking', () => { checkForCircularDependencies([ { name: 'A', - src: '' + src: '', }, { name: 'B', dependsOn: ['D'], - src: '' + src: '', }, { name: 'C', - src: '' - } + src: '', + }, ]) expect(console.error).toBeCalledWith('Plugin `B` depends on `D` but they are not registered.') vi.restoreAllMocks() @@ -93,18 +93,18 @@ describe('plugin sanity checking', () => { { name: 'A', dependsOn: ['B'], - src: '' + src: '', }, { name: 'B', dependsOn: ['C'], - src: '' + src: '', }, { name: 'C', dependsOn: ['A'], - src: '' - } + src: '', + }, ]) expect(console.error).toBeCalledWith('Circular dependency detected in plugins: A -> B -> C -> A') expect(console.error).toBeCalledWith('Circular dependency detected in plugins: B -> C -> A -> B') diff --git a/packages/nuxt/test/scan-components.test.ts b/packages/nuxt/test/scan-components.test.ts index 71edeea406..2fffdebcb5 100644 --- a/packages/nuxt/test/scan-components.test.ts +++ b/packages/nuxt/test/scan-components.test.ts @@ -8,7 +8,7 @@ const fixtureDir = resolve(__dirname, 'fixture') const rFixture = (...p: string[]) => resolve(fixtureDir, ...p) vi.mock('@nuxt/kit', () => ({ - isIgnored: () => false + isIgnored: () => false, })) const dirs: ComponentsDir[] = [ @@ -16,64 +16,64 @@ const dirs: ComponentsDir[] = [ path: rFixture('components/islands'), enabled: true, extensions: [ - 'vue' + 'vue', ], pattern: '**/*.{vue,}', ignore: [ '**/*.stories.{js,ts,jsx,tsx}', '**/*{M,.m,-m}ixin.{js,ts,jsx,tsx}', - '**/*.d.ts' + '**/*.d.ts', ], transpile: false, - island: true + island: true, }, { path: rFixture('components/global'), enabled: true, extensions: [ - 'vue' + 'vue', ], pattern: '**/*.{vue,}', ignore: [ '**/*.stories.{js,ts,jsx,tsx}', '**/*{M,.m,-m}ixin.{js,ts,jsx,tsx}', - '**/*.d.ts' + '**/*.d.ts', ], transpile: false, - global: true + global: true, }, { path: rFixture('components'), enabled: true, extensions: [ - 'vue' + 'vue', ], pattern: '**/*.{vue,}', ignore: [ '**/*.stories.{js,ts,jsx,tsx}', '**/*{M,.m,-m}ixin.{js,ts,jsx,tsx}', - '**/*.d.ts' + '**/*.d.ts', ], - transpile: false + transpile: false, }, { path: rFixture('components'), enabled: true, extensions: [ - 'vue' + 'vue', ], pattern: '**/*.{vue,}', ignore: [ '**/*.stories.{js,ts,jsx,tsx}', '**/*{M,.m,-m}ixin.{js,ts,jsx,tsx}', - '**/*.d.ts' + '**/*.d.ts', ], - transpile: false + transpile: false, }, { path: rFixture('components'), extensions: [ - 'vue' + 'vue', ], prefix: 'nuxt', enabled: true, @@ -81,10 +81,10 @@ const dirs: ComponentsDir[] = [ ignore: [ '**/*.stories.{js,ts,jsx,tsx}', '**/*{M,.m,-m}ixin.{js,ts,jsx,tsx}', - '**/*.d.ts' + '**/*.d.ts', ], - transpile: false - } + transpile: false, + }, ] const expectedComponents = [ @@ -99,7 +99,7 @@ const expectedComponents = [ prefetch: false, preload: false, priority: 1, - shortPath: 'components/islands/Isle.vue' + shortPath: 'components/islands/Isle.vue', }, { chunkName: 'components/glob', @@ -112,7 +112,7 @@ const expectedComponents = [ prefetch: false, preload: false, priority: 1, - shortPath: 'components/global/Glob.vue' + shortPath: 'components/global/Glob.vue', }, { mode: 'all', @@ -125,7 +125,7 @@ const expectedComponents = [ island: undefined, prefetch: false, preload: false, - priority: 1 + priority: 1, }, { mode: 'client', @@ -138,7 +138,7 @@ const expectedComponents = [ island: undefined, prefetch: false, preload: false, - priority: 1 + priority: 1, }, { mode: 'server', @@ -151,7 +151,7 @@ const expectedComponents = [ island: undefined, prefetch: false, preload: false, - priority: 1 + priority: 1, }, { chunkName: 'components/client-component-with-props', @@ -164,7 +164,7 @@ const expectedComponents = [ prefetch: false, preload: false, priority: 1, - shortPath: 'components/client/ComponentWithProps.vue' + shortPath: 'components/client/ComponentWithProps.vue', }, { chunkName: 'components/client-with-client-only-setup', @@ -177,7 +177,7 @@ const expectedComponents = [ prefetch: false, preload: false, priority: 1, - shortPath: 'components/client/WithClientOnlySetup.vue' + shortPath: 'components/client/WithClientOnlySetup.vue', }, { mode: 'server', @@ -190,7 +190,7 @@ const expectedComponents = [ island: undefined, prefetch: false, preload: false, - priority: 1 + priority: 1, }, { chunkName: 'components/same-name-same', @@ -203,7 +203,7 @@ const expectedComponents = [ prefetch: false, preload: false, priority: 1, - shortPath: 'components/same-name/same/Same.vue' + shortPath: 'components/same-name/same/Same.vue', }, { chunkName: 'components/some-glob', @@ -216,7 +216,7 @@ const expectedComponents = [ prefetch: false, preload: false, priority: 1, - shortPath: 'components/some-glob.global.vue' + shortPath: 'components/some-glob.global.vue', }, { chunkName: 'components/some-server', @@ -229,8 +229,8 @@ const expectedComponents = [ prefetch: false, preload: false, priority: 1, - shortPath: 'components/some.island.vue' - } + shortPath: 'components/some.island.vue', + }, ] const srcDir = rFixture('.') diff --git a/packages/nuxt/test/treeshake-client.test.ts b/packages/nuxt/test/treeshake-client.test.ts index e7cf75412d..c265c9d85e 100644 --- a/packages/nuxt/test/treeshake-client.test.ts +++ b/packages/nuxt/test/treeshake-client.test.ts @@ -21,7 +21,7 @@ function vuePlugin (options: Options) { return { ..._vuePlugin(options), handleHotUpdate () {}, - configureDevServer () {} + configureDevServer () {}, } } @@ -39,7 +39,7 @@ const treeshakeTemplatePlugin = TreeShakeTemplatePlugin.raw({ chunkName: '123', prefetch: false, preload: false, - mode: 'client' + mode: 'client', }, { pascalName: 'DotClientComponent', kebabName: 'dot-client-component', @@ -49,9 +49,9 @@ const treeshakeTemplatePlugin = TreeShakeTemplatePlugin.raw({ chunkName: '123', prefetch: false, preload: false, - mode: 'client' + mode: 'client', }] - } + }, }, { framework: 'rollup' }) as Plugin const treeshake = async (source: string): Promise<string> => { @@ -60,8 +60,8 @@ const treeshake = async (source: string): Promise<string> => { sourceType: 'module', ecmaVersion: 'latest', locations: true, - ...opts - }) + ...opts, + }), }, source) return typeof result === 'string' ? result : result?.code } @@ -69,16 +69,16 @@ const treeshake = async (source: string): Promise<string> => { async function SFCCompile (name: string, source: string, options: Options, ssr = false): Promise<string> { const result = await (vuePlugin({ compiler: VueCompilerSFC, - ...options + ...options, }).transform! as Function).call({ parse: (code: string, opts: any = {}) => Parser.parse(code, { sourceType: 'module', ecmaVersion: 'latest', locations: true, - ...opts - }) + ...opts, + }), }, source, name, { - ssr + ssr, }) return typeof result === 'string' ? result : result?.code @@ -88,8 +88,8 @@ const stateToTest: { name: string, options: Partial<Options & { devServer: { con { name: 'prod', options: { - isProduction: true - } + isProduction: true, + }, }, { name: 'dev', @@ -98,11 +98,11 @@ const stateToTest: { name: string, options: Partial<Options & { devServer: { con devServer: { config: { // trigger dev behavior - server: false - } - } - } - } + server: false, + }, + }, + }, + }, ] describe('treeshake client only in ssr', () => { @@ -124,11 +124,11 @@ describe('treeshake client only in ssr', () => { expect(clientResult).toContain('should-be-treeshaken') expect(treeshaken).not.toContain('should-be-treeshaken') - expect(treeshaken).not.toContain("import HelloWorld from '../HelloWorld.vue'") - expect(clientResult).toContain("import HelloWorld from '../HelloWorld.vue'") + expect(treeshaken).not.toContain('import HelloWorld from \'../HelloWorld.vue\'') + expect(clientResult).toContain('import HelloWorld from \'../HelloWorld.vue\'') - expect(treeshaken).not.toContain("import { Treeshaken } from 'somepath'") - expect(clientResult).toContain("import { Treeshaken } from 'somepath'") + expect(treeshaken).not.toContain('import { Treeshaken } from \'somepath\'') + expect(clientResult).toContain('import { Treeshaken } from \'somepath\'') // remove resolved import expect(treeshaken).not.toContain('const _component_ResolvedImport =') @@ -137,12 +137,12 @@ describe('treeshake client only in ssr', () => { // treeshake multi line variable declaration expect(clientResult).toContain('const SomeIsland = defineAsyncComponent(async () => {') expect(treeshaken).not.toContain('const SomeIsland = defineAsyncComponent(async () => {') - expect(treeshaken).not.toContain("return (await import('./../some.island.vue'))") + expect(treeshaken).not.toContain('return (await import(\'./../some.island.vue\'))') expect(treeshaken).toContain('const NotToBeTreeShaken = defineAsyncComponent(async () => {') // treeshake object and array declaration - expect(treeshaken).not.toContain("const { ObjectPattern } = await import('nuxt.com')") - expect(treeshaken).not.toContain("const { ObjectPattern: ObjectPatternDeclaration } = await import('nuxt.com')") + expect(treeshaken).not.toContain('const { ObjectPattern } = await import(\'nuxt.com\')') + expect(treeshaken).not.toContain('const { ObjectPattern: ObjectPatternDeclaration } = await import(\'nuxt.com\')') expect(treeshaken).toContain('const { ButShouldNotBeTreeShaken } = defineAsyncComponent(async () => {') expect(treeshaken).toContain('const [ { Dont, }, That] = defineAsyncComponent(async () => {') @@ -155,7 +155,7 @@ describe('treeshake client only in ssr', () => { expect(treeshaken).not.toContain('import { } from') // expect components used in setup to not be removed - expect(treeshaken).toContain("import DontRemoveThisSinceItIsUsedInSetup from './ComponentWithProps.vue'") + expect(treeshaken).toContain('import DontRemoveThisSinceItIsUsedInSetup from \'./ComponentWithProps.vue\'') // expect import of ClientImport to be treeshaken but not Glob since it is also used outside <ClientOnly> expect(treeshaken).not.toContain('ClientImport') diff --git a/packages/nuxt/types.d.mts b/packages/nuxt/types.d.mts index 706aa58991..b1b7ec3047 100644 --- a/packages/nuxt/types.d.mts +++ b/packages/nuxt/types.d.mts @@ -3,8 +3,8 @@ import type { DefineNuxtConfig } from 'nuxt/config' import type { RuntimeConfig, SchemaDefinition } from 'nuxt/schema' import type { H3Event } from 'h3' -import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/app/types.js' import type { LogObject } from 'consola' +import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from './dist/app/types.js' export * from './dist/index.js' diff --git a/packages/schema/build.config.ts b/packages/schema/build.config.ts index 283258f95f..e7179a174f 100644 --- a/packages/schema/build.config.ts +++ b/packages/schema/build.config.ts @@ -13,12 +13,12 @@ export default defineBuildConfig({ workspaceDir: '/<workspaceDir>/', rootDir: '/<rootDir>/', vite: { - base: '/' - } - } + base: '/', + }, + }, }, 'src/index', - 'src/builder-env' + 'src/builder-env', ], externals: [ // Type imports @@ -58,6 +58,6 @@ export default defineBuildConfig({ '@vue/compiler-core', '@vue/compiler-sfc', '@vue/shared', - 'untyped' - ] + 'untyped', + ], }) diff --git a/packages/schema/src/config/adhoc.ts b/packages/schema/src/config/adhoc.ts index 70e1a90543..b6a849b853 100644 --- a/packages/schema/src/config/adhoc.ts +++ b/packages/schema/src/config/adhoc.ts @@ -18,7 +18,7 @@ export default defineUntypedSchema({ return { dirs: [{ path: '~/components/global', global: true }, '~/components'] } } return val - } + }, }, /** @@ -40,7 +40,7 @@ export default defineUntypedSchema({ * } * ``` */ - dirs: [] + dirs: [], }, /** @@ -64,5 +64,5 @@ export default defineUntypedSchema({ * @see [Nuxt DevTools](https://devtools.nuxt.com/) for more information. * @type { { enabled: boolean, [key: string]: any } } */ - devtools: {} + devtools: {}, }) diff --git a/packages/schema/src/config/app.ts b/packages/schema/src/config/app.ts index 83559fb12a..3e08999e9c 100644 --- a/packages/schema/src/config/app.ts +++ b/packages/schema/src/config/app.ts @@ -14,7 +14,7 @@ export default defineUntypedSchema({ source: ['src'], img: ['src'], image: ['xlink:href', 'href'], - use: ['xlink:href', 'href'] + use: ['xlink:href', 'href'], }, /** * Options for the Vue compiler that will be passed at build time. @@ -27,7 +27,7 @@ export default defineUntypedSchema({ * Include Vue compiler in runtime bundle. */ runtimeCompiler: { - $resolve: async (val, get) => val ?? await get('experimental.runtimeVueCompiler') ?? false + $resolve: async (val, get) => val ?? await get('experimental.runtimeVueCompiler') ?? false, }, /** @@ -35,7 +35,7 @@ export default defineUntypedSchema({ * @see [Vue RFC#502](https://github.com/vuejs/rfcs/discussions/502) * @type {boolean} */ - propsDestructure: false + propsDestructure: false, }, /** @@ -52,12 +52,12 @@ export default defineUntypedSchema({ * ``` */ baseURL: { - $resolve: val => val || process.env.NUXT_APP_BASE_URL || '/' + $resolve: val => val || process.env.NUXT_APP_BASE_URL || '/', }, /** The folder name for the built site assets, relative to `baseURL` (or `cdnURL` if set). This is set at build time and should not be customized at runtime. */ buildAssetsDir: { - $resolve: val => val || process.env.NUXT_APP_BUILD_ASSETS_DIR || '/_nuxt/' + $resolve: val => val || process.env.NUXT_APP_BUILD_ASSETS_DIR || '/_nuxt/', }, /** @@ -70,7 +70,7 @@ export default defineUntypedSchema({ * ``` */ cdnURL: { - $resolve: async (val, get) => (await get('dev')) ? '' : (process.env.NUXT_APP_CDN_URL ?? val) || '' + $resolve: async (val, get) => (await get('dev')) ? '' : (process.env.NUXT_APP_CDN_URL ?? val) || '', }, /** @@ -112,7 +112,7 @@ export default defineUntypedSchema({ link: [], style: [], script: [], - noscript: [] + noscript: [], } as Required<Pick<AppHeadMetaObject, 'meta' | 'link' | 'style' | 'script' | 'noscript'>>) // provides default charset and viewport if not set @@ -130,7 +130,7 @@ export default defineUntypedSchema({ resolved.noscript = resolved.noscript.filter(Boolean) return resolved - } + }, }, /** @@ -165,8 +165,8 @@ export default defineUntypedSchema({ */ viewTransition: { $resolve: async (val, get) => val ?? await (get('experimental') as Promise<Record<string, any>>).then( - e => e?.viewTransition - ) ?? false + e => e?.viewTransition, + ) ?? false, }, /** @@ -184,21 +184,21 @@ export default defineUntypedSchema({ * @type {string | false} */ rootId: { - $resolve: val => val === false ? false : val || '__nuxt' + $resolve: val => val === false ? false : val || '__nuxt', }, /** * Customize Nuxt root element tag. */ rootTag: { - $resolve: val => val || 'div' + $resolve: val => val || 'div', }, /** * Customize Nuxt root element tag. */ teleportTag: { - $resolve: val => val || 'div' + $resolve: val => val || 'div', }, /** @@ -206,8 +206,8 @@ export default defineUntypedSchema({ * @type {string | false} */ teleportId: { - $resolve: val => val === false ? false : (val || 'teleports') - } + $resolve: val => val === false ? false : (val || 'teleports'), + }, }, /** @@ -265,7 +265,7 @@ export default defineUntypedSchema({ * @type {string | boolean} */ spaLoadingTemplate: { - $resolve: async (val: string | boolean | undefined, get) => typeof val === 'string' ? resolve(await get('srcDir') as string, val) : val ?? null + $resolve: async (val: string | boolean | undefined, get) => typeof val === 'string' ? resolve(await get('srcDir') as string, val) : val ?? null, }, /** @@ -316,6 +316,6 @@ export default defineUntypedSchema({ * @type {string[]} */ css: { - $resolve: (val: string[] | undefined) => (val ?? []).map((c: any) => c.src || c) - } + $resolve: (val: string[] | undefined) => (val ?? []).map((c: any) => c.src || c), + }, }) diff --git a/packages/schema/src/config/build.ts b/packages/schema/src/config/build.ts index 9a51397faa..d39cd4aacc 100644 --- a/packages/schema/src/config/build.ts +++ b/packages/schema/src/config/build.ts @@ -16,10 +16,10 @@ export default defineUntypedSchema({ } const map: Record<string, string> = { vite: '@nuxt/vite-builder', - webpack: '@nuxt/webpack-builder' + webpack: '@nuxt/webpack-builder', } return map[val] || val || (await get('vite') === false ? map.webpack : map.vite) - } + }, }, /** @@ -33,9 +33,9 @@ export default defineUntypedSchema({ } return defu(val, { server: true, - client: await get('dev') + client: await get('dev'), }) - } + }, }, /** @@ -51,7 +51,7 @@ export default defineUntypedSchema({ consola.warn(`Invalid \`logLevel\` option: \`${val}\`. Must be one of: \`silent\`, \`info\`, \`verbose\`.`) } return val ?? (isTest ? 'silent' : 'info') - } + }, }, /** @@ -71,7 +71,7 @@ export default defineUntypedSchema({ * @type {Array<string | RegExp | ((ctx: { isClient?: boolean; isServer?: boolean; isDev: boolean }) => string | RegExp | false)>} */ transpile: { - $resolve: (val: Array<string | RegExp | ((ctx: { isClient?: boolean; isServer?: boolean; isDev: boolean }) => string | RegExp | false)> | undefined) => (val || []).filter(Boolean) + $resolve: (val: Array<string | RegExp | ((ctx: { isClient?: boolean, isServer?: boolean, isDev: boolean }) => string | RegExp | false)> | undefined) => (val || []).filter(Boolean), }, /** @@ -114,10 +114,10 @@ export default defineUntypedSchema({ return defu(typeof val === 'boolean' ? { enabled: val } : val, { template: 'treemap', projectRoot: rootDir, - filename: join(analyzeDir, '{name}.html') + filename: join(analyzeDir, '{name}.html'), }) - } - } + }, + }, }, /** @@ -144,8 +144,8 @@ export default defineUntypedSchema({ { name: 'useAsyncData', argumentLength: 3 }, { name: 'useLazyAsyncData', argumentLength: 3 }, { name: 'useLazyFetch', argumentLength: 3 }, - ...val || [] - ].filter(Boolean) + ...val || [], + ].filter(Boolean), }, /** @@ -165,22 +165,22 @@ export default defineUntypedSchema({ await get('dev') ? {} : { - vue: ['onBeforeMount', 'onMounted', 'onBeforeUpdate', 'onRenderTracked', 'onRenderTriggered', 'onActivated', 'onDeactivated', 'onBeforeUnmount'], - '#app': ['definePayloadReviver', 'definePageMeta'] - } - ) + 'vue': ['onBeforeMount', 'onMounted', 'onBeforeUpdate', 'onRenderTracked', 'onRenderTriggered', 'onActivated', 'onDeactivated', 'onBeforeUnmount'], + '#app': ['definePayloadReviver', 'definePageMeta'], + }, + ), }, client: { $resolve: async (val, get) => defu(val || {}, await get('dev') ? {} : { - vue: ['onServerPrefetch', 'onRenderTracked', 'onRenderTriggered'], - '#app': ['definePayloadReducer', 'definePageMeta'] - } - ) - } - } + 'vue': ['onServerPrefetch', 'onRenderTracked', 'onRenderTriggered'], + '#app': ['definePayloadReducer', 'definePageMeta'], + }, + ), + }, + }, }, /** @@ -193,8 +193,8 @@ export default defineUntypedSchema({ objectDefinitions: { defineNuxtComponent: ['asyncData', 'setup'], defineNuxtPlugin: ['setup'], - definePageMeta: ['middleware', 'validate'] - } - } - } + definePageMeta: ['middleware', 'validate'], + }, + }, + }, }) diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index 3a5e85f3b7..49287b757b 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -38,7 +38,7 @@ export default defineUntypedSchema({ * It is normally not needed to configure this option. */ rootDir: { - $resolve: val => typeof val === 'string' ? resolve(val) : process.cwd() + $resolve: val => typeof val === 'string' ? resolve(val) : process.cwd(), }, /** @@ -53,7 +53,7 @@ export default defineUntypedSchema({ $resolve: async (val: string | undefined, get): Promise<string> => { const rootDir = await get('rootDir') as string return val ? resolve(rootDir, val) : await findWorkspaceDir(rootDir).catch(() => rootDir) - } + }, }, /** @@ -88,7 +88,7 @@ export default defineUntypedSchema({ * ``` */ srcDir: { - $resolve: async (val: string | undefined, get): Promise<string> => resolve(await get('rootDir') as string, val || '.') + $resolve: async (val: string | undefined, get): Promise<string> => resolve(await get('rootDir') as string, val || '.'), }, /** @@ -99,7 +99,7 @@ export default defineUntypedSchema({ * */ serverDir: { - $resolve: async (val: string | undefined, get): Promise<string> => resolve(await get('rootDir') as string, val || resolve(await get('srcDir') as string, 'server')) + $resolve: async (val: string | undefined, get): Promise<string> => resolve(await get('rootDir') as string, val || resolve(await get('srcDir') as string, 'server')), }, /** @@ -115,7 +115,7 @@ export default defineUntypedSchema({ * ``` */ buildDir: { - $resolve: async (val: string | undefined, get): Promise<string> => resolve(await get('rootDir') as string, val || '.nuxt') + $resolve: async (val: string | undefined, get): Promise<string> => resolve(await get('rootDir') as string, val || '.nuxt'), }, /** @@ -138,9 +138,9 @@ export default defineUntypedSchema({ const rootDir = await get('rootDir') as string return [...new Set([ ...(val || []).map((dir: string) => resolve(rootDir, dir)), - resolve(rootDir, 'node_modules') + resolve(rootDir, 'node_modules'), ])] - } + }, }, /** @@ -151,7 +151,7 @@ export default defineUntypedSchema({ analyzeDir: { $resolve: async (val: string | undefined, get): Promise<string> => val ? resolve(await get('rootDir') as string, val) - : resolve(await get('buildDir') as string, 'analyze') + : resolve(await get('buildDir') as string, 'analyze'), }, /** @@ -174,7 +174,7 @@ export default defineUntypedSchema({ * */ debug: { - $resolve: val => val ?? isDebug + $resolve: val => val ?? isDebug, }, /** @@ -182,7 +182,7 @@ export default defineUntypedSchema({ * If set to `false` generated pages will have no content. */ ssr: { - $resolve: val => val ?? true + $resolve: val => val ?? true, }, /** @@ -210,7 +210,7 @@ export default defineUntypedSchema({ * @type {(typeof import('../src/types/module').NuxtModule | string | [typeof import('../src/types/module').NuxtModule | string, Record<string, any>] | undefined | null | false)[]} */ modules: { - $resolve: (val: string[] | undefined): string[] => (val || []).filter(Boolean) + $resolve: (val: string[] | undefined): string[] => (val || []).filter(Boolean), }, /** @@ -254,20 +254,20 @@ export default defineUntypedSchema({ * and copied across into your `dist` folder when your app is generated. */ public: { - $resolve: async (val, get) => val || await get('dir.static') || 'public' + $resolve: async (val, get) => val || await get('dir.static') || 'public', }, static: { $schema: { deprecated: 'use `dir.public` option instead' }, - $resolve: async (val, get) => val || await get('dir.public') || 'public' - } + $resolve: async (val, get) => val || await get('dir.public') || 'public', + }, }, /** * The extensions that should be resolved by the Nuxt resolver. */ extensions: { - $resolve: (val: string[] | undefined): string[] => ['.js', '.jsx', '.mjs', '.ts', '.tsx', '.vue', ...val || []].filter(Boolean) + $resolve: (val: string[] | undefined): string[] => ['.js', '.jsx', '.mjs', '.ts', '.tsx', '.vue', ...val || []].filter(Boolean), }, /** @@ -320,9 +320,9 @@ export default defineUntypedSchema({ '@@': rootDir, [assetsDir]: join(srcDir, assetsDir), [publicDir]: join(srcDir, publicDir), - ...val + ...val, } - } + }, }, /** @@ -343,7 +343,7 @@ export default defineUntypedSchema({ * building if its filename starts with the prefix specified by `ignorePrefix`. */ ignorePrefix: { - $resolve: val => val ?? '-' + $resolve: val => val ?? '-', }, /** @@ -361,9 +361,9 @@ export default defineUntypedSchema({ relative(rootDir, analyzeDir), relative(rootDir, buildDir), ignorePrefix && `**/${ignorePrefix}*.*`, - ...val || [] + ...val || [], ].filter(Boolean) - } + }, }, /** @@ -377,7 +377,7 @@ export default defineUntypedSchema({ watch: { $resolve: (val: Array<unknown> | undefined) => { return (val || []).filter((b: unknown) => typeof b === 'string' || b instanceof RegExp) - } + }, }, /** @@ -391,15 +391,15 @@ export default defineUntypedSchema({ * @see [webpack@4 watch options](https://v4.webpack.js.org/configuration/watch/#watchoptions). */ webpack: { - aggregateTimeout: 1000 + aggregateTimeout: 1000, }, /** * Options to pass directly to `chokidar`. * @see [chokidar](https://github.com/paulmillr/chokidar#api) */ chokidar: { - ignoreInitial: true - } + ignoreInitial: true, + }, }, /** @@ -466,10 +466,10 @@ export default defineUntypedSchema({ app: { baseURL: app.baseURL, buildAssetsDir: app.buildAssetsDir, - cdnURL: app.cdnURL - } + cdnURL: app.cdnURL, + }, }) - } + }, }, /** @@ -480,10 +480,10 @@ export default defineUntypedSchema({ * @type {typeof import('../src/types/config').AppConfig} */ appConfig: { - nuxt: {} + nuxt: {}, }, - $schema: {} + $schema: {}, }) function provideFallbackValues (obj: Record<string, any>) { diff --git a/packages/schema/src/config/dev.ts b/packages/schema/src/config/dev.ts index 209513ba69..221641441f 100644 --- a/packages/schema/src/config/dev.ts +++ b/packages/schema/src/config/dev.ts @@ -38,6 +38,6 @@ export default defineUntypedSchema({ * Template to show a loading screen * @type {(data: { loading?: string }) => string} */ - loadingTemplate - } + loadingTemplate, + }, }) diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 590505017f..19403cc38e 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -26,8 +26,8 @@ export default defineUntypedSchema({ return setting.toLowerCase() === 'bundler' } return true - } - } + }, + }, }, /** * Some features of Nuxt are available on an opt-in basis, or can be disabled based on your needs. @@ -49,7 +49,7 @@ export default defineUntypedSchema({ } // Enabled by default for vite prod with ssr return val ?? true - } + }, }, /** @@ -64,7 +64,7 @@ export default defineUntypedSchema({ if (val !== undefined) { return val } const [isDev, isTest] = await Promise.all([get('dev'), get('test')]) return isDev && !isTest - } + }, }, /** @@ -75,15 +75,15 @@ export default defineUntypedSchema({ async $resolve (val, get) { // TODO: remove in v3.10 return val ?? await (get('experimental') as Promise<Record<string, any>>).then((e: Record<string, any>) => e?.noScripts) ?? false - } - } + }, + }, }, experimental: { /** * Set to true to generate an async entry point for the Vue bundle (for module federation support). */ asyncEntry: { - $resolve: val => val ?? false + $resolve: val => val ?? false, }, // TODO: Remove when nitro has support for mocking traced dependencies @@ -121,7 +121,7 @@ export default defineUntypedSchema({ return 'automatic' } return val ?? 'automatic' - } + }, }, /** @@ -201,7 +201,7 @@ export default defineUntypedSchema({ return true } return val ?? 'auto' - } + }, }, /** @@ -323,16 +323,16 @@ export default defineUntypedSchema({ defaults: { /** @type {typeof import('#app/components/nuxt-link')['NuxtLinkOptions']} */ nuxtLink: { - componentName: 'NuxtLink' + componentName: 'NuxtLink', }, /** * Options that apply to `useAsyncData` (and also therefore `useFetch`) */ useAsyncData: { - deep: true + deep: true, }, /** @type {Pick<typeof import('ofetch')['FetchOptions'], 'timeout' | 'retry' | 'retryDelay' | 'retryStatusCodes'>} */ - useFetch: {} + useFetch: {}, }, /** @@ -348,6 +348,6 @@ export default defineUntypedSchema({ * ``` * @type {boolean} */ - clientNodeCompat: false - } + clientNodeCompat: false, + }, }) diff --git a/packages/schema/src/config/generate.ts b/packages/schema/src/config/generate.ts index 8e5561ce38..eb0e334393 100644 --- a/packages/schema/src/config/generate.ts +++ b/packages/schema/src/config/generate.ts @@ -21,6 +21,6 @@ export default defineUntypedSchema({ * This option is no longer used. Instead, use `nitro.prerender.ignore`. * @deprecated */ - exclude: [] - } + exclude: [], + }, }) diff --git a/packages/schema/src/config/index.ts b/packages/schema/src/config/index.ts index ca56799097..42666bc8c3 100644 --- a/packages/schema/src/config/index.ts +++ b/packages/schema/src/config/index.ts @@ -27,5 +27,5 @@ export default { ...router, ...typescript, ...vite, - ...webpack + ...webpack, } diff --git a/packages/schema/src/config/internal.ts b/packages/schema/src/config/internal.ts index c515110fe4..5f6545c469 100644 --- a/packages/schema/src/config/internal.ts +++ b/packages/schema/src/config/internal.ts @@ -26,5 +26,5 @@ export default defineUntypedSchema({ /** @private */ _installedModules: [], /** @private */ - _modules: [] + _modules: [], }) diff --git a/packages/schema/src/config/nitro.ts b/packages/schema/src/config/nitro.ts index c37275dda8..d6ca241c17 100644 --- a/packages/schema/src/config/nitro.ts +++ b/packages/schema/src/config/nitro.ts @@ -10,9 +10,9 @@ export default defineUntypedSchema({ routeRules: { $resolve: async (val: Record<string, any> | undefined, get) => ({ ...await get('routeRules') as Record<string, any>, - ...val - }) - } + ...val, + }), + }, }, /** @@ -49,5 +49,5 @@ export default defineUntypedSchema({ * @see https://nitro.unjs.io/guide/routing * @type {typeof import('nitropack')['NitroDevEventHandler'][]} */ - devServerHandlers: [] + devServerHandlers: [], }) diff --git a/packages/schema/src/config/postcss.ts b/packages/schema/src/config/postcss.ts index 4843f8464a..83694cfd18 100644 --- a/packages/schema/src/config/postcss.ts +++ b/packages/schema/src/config/postcss.ts @@ -26,8 +26,8 @@ export default defineUntypedSchema({ return false } return {} - } - } - } - } + }, + }, + }, + }, }) diff --git a/packages/schema/src/config/router.ts b/packages/schema/src/config/router.ts index c57255d63b..ea8a5cc44a 100644 --- a/packages/schema/src/config/router.ts +++ b/packages/schema/src/config/router.ts @@ -25,7 +25,7 @@ export default defineUntypedSchema({ * @type {typeof import('../src/types/router').RouterConfigSerializable['scrollBehaviorType']} * @default 'auto' */ - scrollBehaviorType: 'auto' - } - } + scrollBehaviorType: 'auto', + }, + }, }) diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 6f20545eb7..d8e019e4ee 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -23,7 +23,7 @@ export default defineUntypedSchema({ * @type {'vite' | 'webpack' | 'shared' | false | undefined} */ builder: { - $resolve: val => val ?? null + $resolve: val => val ?? null, }, /** @@ -47,10 +47,10 @@ export default defineUntypedSchema({ '@vue/runtime-dom', 'vue-router', '@nuxt/schema', - 'nuxt' + 'nuxt', ] return val === false ? [] : (Array.isArray(val) ? val.concat(defaults) : defaults) - } + }, }, /** @@ -83,6 +83,6 @@ export default defineUntypedSchema({ * Note that you may wish to set this to `true` if you are using other libraries, such as ESLint, * that are unable to understand the type of `.vue` files. */ - shim: false - } + shim: false, + }, }) diff --git a/packages/schema/src/config/vite.ts b/packages/schema/src/config/vite.ts index 9e0e6d7e6d..663f6d9b8b 100644 --- a/packages/schema/src/config/vite.ts +++ b/packages/schema/src/config/vite.ts @@ -13,26 +13,26 @@ export default defineUntypedSchema({ */ vite: { root: { - $resolve: async (val, get) => val ?? (await get('srcDir')) + $resolve: async (val, get) => val ?? (await get('srcDir')), }, mode: { - $resolve: async (val, get) => val ?? (await get('dev') ? 'development' : 'production') + $resolve: async (val, get) => val ?? (await get('dev') ? 'development' : 'production'), }, define: { $resolve: async (val: Record<string, any> | undefined, get) => { const [isDev, isDebug] = await Promise.all([get('dev'), get('debug')]) as [boolean, boolean] return { - __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: isDebug, + '__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': isDebug, 'process.dev': isDev, 'import.meta.dev': isDev, 'process.test': isTest, 'import.meta.test': isTest, - ...val + ...val, } - } + }, }, resolve: { - extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] + extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], }, publicDir: { $resolve: (val) => { @@ -40,57 +40,57 @@ export default defineUntypedSchema({ consola.warn('Directly configuring the `vite.publicDir` option is not supported. Instead, set `dir.public`. You can read more in `https://nuxt.com/docs/api/nuxt-config#public`.') } return false - } + }, }, vue: { isProduction: { - $resolve: async (val, get) => val ?? !(await get('dev')) + $resolve: async (val, get) => val ?? !(await get('dev')), }, template: { compilerOptions: { - $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).compilerOptions + $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).compilerOptions, }, transformAssetUrls: { - $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).transformAssetUrls - } + $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).transformAssetUrls, + }, }, script: { propsDestructure: { - $resolve: async (val, get) => val ?? Boolean((await get('vue') as Record<string, any>).propsDestructure) + $resolve: async (val, get) => val ?? Boolean((await get('vue') as Record<string, any>).propsDestructure), }, hoistStatic: { - $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).compilerOptions?.hoistStatic - } - } + $resolve: async (val, get) => val ?? (await get('vue') as Record<string, any>).compilerOptions?.hoistStatic, + }, + }, }, vueJsx: { $resolve: async (val: Record<string, any>, get) => { return { isCustomElement: (await get('vue') as Record<string, any>).compilerOptions?.isCustomElement, - ...val + ...val, } - } + }, }, optimizeDeps: { exclude: { $resolve: async (val: string[] | undefined, get) => [ ...val || [], - ...(await get('build.transpile') as Array<string | RegExp | ((ctx: { isClient?: boolean; isServer?: boolean; isDev: boolean }) => string | RegExp | false)>).filter(i => typeof i === 'string'), - 'vue-demi' - ] - } + ...(await get('build.transpile') as Array<string | RegExp | ((ctx: { isClient?: boolean, isServer?: boolean, isDev: boolean }) => string | RegExp | false)>).filter(i => typeof i === 'string'), + 'vue-demi', + ], + }, }, esbuild: { jsxFactory: 'h', jsxFragment: 'Fragment', - tsconfigRaw: '{}' + tsconfigRaw: '{}', }, clearScreen: true, build: { assetsDir: { - $resolve: async (val, get) => val ?? withoutLeadingSlash((await get('app') as Record<string, string>).buildAssetsDir) + $resolve: async (val, get) => val ?? withoutLeadingSlash((await get('app') as Record<string, string>).buildAssetsDir), }, - emptyOutDir: false + emptyOutDir: false, }, server: { fs: { @@ -103,11 +103,11 @@ export default defineUntypedSchema({ rootDir, workspaceDir, ...(modulesDir), - ...val ?? [] + ...val ?? [], ])] - } - } - } - } - } + }, + }, + }, + }, + }, }) diff --git a/packages/schema/src/config/webpack.ts b/packages/schema/src/config/webpack.ts index 6dc0d53582..5ee21abc14 100644 --- a/packages/schema/src/config/webpack.ts +++ b/packages/schema/src/config/webpack.ts @@ -20,7 +20,7 @@ export default defineUntypedSchema({ $resolve: async (val: boolean | { enabled?: boolean } | Record<string, unknown>, get) => { const value = typeof val === 'boolean' ? { enabled: val } : val return defu(value, await get('build.analyze') as { enabled?: boolean } | Record<string, unknown>) - } + }, }, /** @@ -83,7 +83,7 @@ export default defineUntypedSchema({ * Enables CSS source map support (defaults to `true` in development). */ cssSourceMap: { - $resolve: async (val, get) => val ?? await get('dev') + $resolve: async (val, get) => val ?? await get('dev'), }, /** @@ -131,7 +131,7 @@ export default defineUntypedSchema({ css: ({ isDev }: { isDev: boolean }) => isDev ? '[name].css' : 'css/[contenthash:7].css', img: ({ isDev }: { isDev: boolean }) => isDev ? '[path][name].[ext]' : 'img/[name].[contenthash:7].[ext]', font: ({ isDev }: { isDev: boolean }) => isDev ? '[path][name].[ext]' : 'fonts/[name].[contenthash:7].[ext]', - video: ({ isDev }: { isDev: boolean }) => isDev ? '[path][name].[ext]' : 'videos/[name].[contenthash:7].[ext]' + video: ({ isDev }: { isDev: boolean }) => isDev ? '[path][name].[ext]' : 'videos/[name].[contenthash:7].[ext]', }, /** @@ -142,7 +142,7 @@ export default defineUntypedSchema({ const loaders: Record<string, any> = val && typeof val === 'object' ? val : {} const styleLoaders = [ 'css', 'cssModules', 'less', - 'sass', 'scss', 'stylus', 'vueStyle' + 'sass', 'scss', 'stylus', 'vueStyle', ] for (const name of styleLoaders) { const loader = loaders[name] @@ -201,33 +201,33 @@ export default defineUntypedSchema({ */ vue: { transformAssetUrls: { - $resolve: async (val, get) => (val ?? (await get('vue.transformAssetUrls'))) as VueLoaderOptions['transformAssetUrls'] + $resolve: async (val, get) => (val ?? (await get('vue.transformAssetUrls'))) as VueLoaderOptions['transformAssetUrls'], }, compilerOptions: { - $resolve: async (val, get) => (val ?? (await get('vue.compilerOptions'))) as VueLoaderOptions['compilerOptions'] + $resolve: async (val, get) => (val ?? (await get('vue.compilerOptions'))) as VueLoaderOptions['compilerOptions'], }, propsDestructure: { - $resolve: async (val, get) => Boolean(val ?? await get('vue.propsDestructure')) - } + $resolve: async (val, get) => Boolean(val ?? await get('vue.propsDestructure')), + }, } satisfies { [K in keyof VueLoaderOptions]: { $resolve: (val: unknown, get: (id: string) => Promise<unknown>) => Promise<VueLoaderOptions[K]> } }, css: { importLoaders: 0, url: { - filter: (url: string, _resourcePath: string) => url[0] !== '/' + filter: (url: string, _resourcePath: string) => url[0] !== '/', }, - esModule: false + esModule: false, }, cssModules: { importLoaders: 0, url: { - filter: (url: string, _resourcePath: string) => url[0] !== '/' + filter: (url: string, _resourcePath: string) => url[0] !== '/', }, esModule: false, modules: { - localIdentName: '[local]_[hash:base64:5]' - } + localIdentName: '[local]_[hash:base64:5]', + }, }, /** @@ -249,8 +249,8 @@ export default defineUntypedSchema({ */ sass: { sassOptions: { - indentedSyntax: true - } + indentedSyntax: true, + }, }, /** @@ -264,7 +264,7 @@ export default defineUntypedSchema({ */ stylus: {}, - vueStyle: {} + vueStyle: {}, }, /** @@ -296,7 +296,7 @@ export default defineUntypedSchema({ * @type {false | typeof import('css-minimizer-webpack-plugin').BasePluginOptions & typeof import('css-minimizer-webpack-plugin').DefinedDefaultMinimizerAndOptions<any>} */ optimizeCSS: { - $resolve: async (val, get) => val ?? (await get('build.extractCSS') ? {} : false) + $resolve: async (val, get) => val ?? (await get('build.extractCSS') ? {} : false), }, /** @@ -312,8 +312,8 @@ export default defineUntypedSchema({ splitChunks: { chunks: 'all', automaticNameDelimiter: '/', - cacheGroups: {} - } + cacheGroups: {}, + }, }, /** @@ -324,12 +324,12 @@ export default defineUntypedSchema({ postcss: { postcssOptions: { config: { - $resolve: async (val, get) => val ?? (await get('postcss.config')) + $resolve: async (val, get) => val ?? (await get('postcss.config')), }, plugins: { - $resolve: async (val, get) => val ?? (await get('postcss.plugins')) - } - } + $resolve: async (val, get) => val ?? (await get('postcss.plugins')), + }, + }, }, /** @@ -337,7 +337,7 @@ export default defineUntypedSchema({ * @type {typeof import('webpack-dev-middleware').Options<typeof import('http').IncomingMessage, typeof import('http').ServerResponse>} */ devMiddleware: { - stats: 'none' + stats: 'none', }, /** @@ -361,6 +361,6 @@ export default defineUntypedSchema({ * Configure [webpack experiments](https://webpack.js.org/configuration/experiments/) * @type {false | typeof import('webpack').Configuration['experiments']} */ - experiments: {} - } + experiments: {}, + }, }) diff --git a/packages/schema/src/types/builder-env/vite.ts b/packages/schema/src/types/builder-env/vite.ts index 06c444be52..da020f697c 100644 --- a/packages/schema/src/types/builder-env/vite.ts +++ b/packages/schema/src/types/builder-env/vite.ts @@ -30,7 +30,7 @@ export interface KnownAsTypeMap { export interface ImportGlobOptions< Eager extends boolean, - AsType extends string + AsType extends string, > { /** * Import type for the import url. @@ -65,13 +65,13 @@ export interface ImportGlobFunction { < Eager extends boolean, As extends string, - T = As extends keyof KnownAsTypeMap ? KnownAsTypeMap[As] : unknown + T = As extends keyof KnownAsTypeMap ? KnownAsTypeMap[As] : unknown, >( glob: string | string[], options?: ImportGlobOptions<Eager, As> ): (Eager extends true - ? true - : false) extends true + ? true + : false) extends true ? Record<string, T> : Record<string, () => Promise<T>> /** @@ -102,7 +102,7 @@ export interface ImportGlobEagerFunction { */ < As extends string, - T = As extends keyof KnownAsTypeMap ? KnownAsTypeMap[As] : unknown + T = As extends keyof KnownAsTypeMap ? KnownAsTypeMap[As] : unknown, >( glob: string | string[], options?: Omit<ImportGlobOptions<boolean, As>, 'eager'> diff --git a/packages/schema/src/types/config.ts b/packages/schema/src/types/config.ts index b2e317e7bf..eaee96bc52 100644 --- a/packages/schema/src/types/config.ts +++ b/packages/schema/src/types/config.ts @@ -8,6 +8,7 @@ import type { SnakeCase } from 'scule' import type { ConfigSchema } from '../../schema/config' import type { Nuxt } from './nuxt' import type { AppHeadMetaObject } from './head' + export type { SchemaDefinition } from 'untyped' type DeepPartial<T> = T extends Function ? T : T extends Record<string, any> ? { [P in keyof T]?: DeepPartial<T[P]> } : T @@ -23,9 +24,9 @@ type Overrideable<T extends Record<string, any>, Path extends string = ''> = { : T[K] extends Record<string, unknown> ? RuntimeValue<Overrideable<T[K], `${Path}_${UpperSnakeCase<K>}`>, `You can override this value at runtime with NUXT${Path}_${UpperSnakeCase<K>}`> : RuntimeValue<T[K], `You can override this value at runtime with NUXT${Path}_${UpperSnakeCase<K>}`> - : K extends number - ? T[K] - : never + : K extends number + ? T[K] + : never } // Runtime Config @@ -35,27 +36,27 @@ type RuntimeConfigNamespace = Record<string, unknown> export interface PublicRuntimeConfig extends RuntimeConfigNamespace { } export interface RuntimeConfig extends RuntimeConfigNamespace { - app: NitroRuntimeConfigApp - /** Only available on the server. */ - nitro?: NitroRuntimeConfig['nitro'] - public: PublicRuntimeConfig + app: NitroRuntimeConfigApp + /** Only available on the server. */ + nitro?: NitroRuntimeConfig['nitro'] + public: PublicRuntimeConfig } // User configuration in `nuxt.config` file export interface NuxtConfig extends DeepPartial<Omit<ConfigSchema, 'vite' | 'runtimeConfig'>> { - // Avoid DeepPartial for vite config interface (#4772) - vite?: ConfigSchema['vite'] - runtimeConfig?: Overrideable<RuntimeConfig> - webpack?: DeepPartial<ConfigSchema['webpack']> & { - $client?: DeepPartial<ConfigSchema['webpack']> - $server?: DeepPartial<ConfigSchema['webpack']> - } + // Avoid DeepPartial for vite config interface (#4772) + vite?: ConfigSchema['vite'] + runtimeConfig?: Overrideable<RuntimeConfig> + webpack?: DeepPartial<ConfigSchema['webpack']> & { + $client?: DeepPartial<ConfigSchema['webpack']> + $server?: DeepPartial<ConfigSchema['webpack']> + } - /** - * Experimental custom config schema - * @see [Nuxt Issue #15592](https://github.com/nuxt/nuxt/issues/15592) - */ - $schema?: SchemaDefinition + /** + * Experimental custom config schema + * @see [Nuxt Issue #15592](https://github.com/nuxt/nuxt/issues/15592) + */ + $schema?: SchemaDefinition } // TODO: Expose ConfigLayer<T> from c12 @@ -65,7 +66,7 @@ interface ConfigLayer<T> { configFile: string } export type NuxtConfigLayer = ConfigLayer<NuxtConfig & { - srcDir: ConfigSchema['srcDir'], + srcDir: ConfigSchema['srcDir'] rootDir: ConfigSchema['rootDir'] }> diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index b37c37d900..9d2a3899bb 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -36,7 +36,7 @@ export interface NuxtTemplate<Options = TemplateDefaultOptions> { /** The resolved path to the source file to be template */ src?: string /** Provided compile option instead of src */ - // eslint-disable-next-line no-use-before-define + getContents?: (data: { nuxt: Nuxt, app: NuxtApp, options: Options }) => string | Promise<string> /** Write to filesystem */ write?: boolean diff --git a/packages/vite/build.config.ts b/packages/vite/build.config.ts index e387f8754c..b696460b7f 100644 --- a/packages/vite/build.config.ts +++ b/packages/vite/build.config.ts @@ -4,12 +4,12 @@ export default defineBuildConfig({ declaration: true, entries: [ 'src/index', - { input: 'src/runtime/', outDir: 'dist/runtime', format: 'esm' } + { input: 'src/runtime/', outDir: 'dist/runtime', format: 'esm' }, ], dependencies: [ - 'vue' + 'vue', ], externals: [ - '@nuxt/schema' - ] + '@nuxt/schema', + ], }) diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index 61b2242d80..ff10391916 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -24,8 +24,8 @@ export async function buildClient (ctx: ViteBuildContext) { ? { alias: env(nodeless).alias, define: { - global: 'globalThis' - } + global: 'globalThis', + }, } : { alias: {}, define: {} } @@ -41,10 +41,10 @@ export async function buildClient (ctx: ViteBuildContext) { return { relative: true } } return { runtime: `globalThis.__publicAssetsURL(${JSON.stringify(filename)})` } - } + }, }, css: { - devSourcemap: !!ctx.nuxt.options.sourcemap.client + devSourcemap: !!ctx.nuxt.options.sourcemap.client, }, define: { 'process.env.NODE_ENV': JSON.stringify(ctx.config.mode), @@ -59,10 +59,10 @@ export async function buildClient (ctx: ViteBuildContext) { 'import.meta.nitro': false, 'import.meta.prerender': false, 'module.hot': false, - ...nodeCompat.define + ...nodeCompat.define, }, optimizeDeps: { - entries: [ctx.entry] + entries: [ctx.entry], }, resolve: { alias: { @@ -70,11 +70,11 @@ export async function buildClient (ctx: ViteBuildContext) { ...ctx.config.resolve?.alias, '#internal/nuxt/paths': resolve(ctx.nuxt.options.buildDir, 'paths.mjs'), '#build/plugins': resolve(ctx.nuxt.options.buildDir, 'plugins/client'), - '#internal/nitro': resolve(ctx.nuxt.options.buildDir, 'nitro.client.mjs') + '#internal/nitro': resolve(ctx.nuxt.options.buildDir, 'nitro.client.mjs'), }, dedupe: [ - 'vue' - ] + 'vue', + ], }, cacheDir: resolve(ctx.nuxt.options.rootDir, 'node_modules/.cache/vite', 'client'), build: { @@ -82,23 +82,23 @@ export async function buildClient (ctx: ViteBuildContext) { manifest: 'manifest.json', outDir: resolve(ctx.nuxt.options.buildDir, 'dist/client'), rollupOptions: { - input: { entry: ctx.entry } - } + input: { entry: ctx.entry }, + }, }, plugins: [ devStyleSSRPlugin({ srcDir: ctx.nuxt.options.srcDir, - buildAssetsURL: joinURL(ctx.nuxt.options.app.baseURL, ctx.nuxt.options.app.buildAssetsDir) + buildAssetsURL: joinURL(ctx.nuxt.options.app.baseURL, ctx.nuxt.options.app.buildAssetsDir), }), runtimePathsPlugin({ - sourcemap: !!ctx.nuxt.options.sourcemap.client + sourcemap: !!ctx.nuxt.options.sourcemap.client, }), - viteNodePlugin(ctx) + viteNodePlugin(ctx), ], appType: 'custom', server: { - middlewareMode: true - } + middlewareMode: true, + }, } satisfies vite.InlineConfig, ctx.nuxt.options.vite.$client || {})) clientConfig.customLogger = createViteLogger(clientConfig) @@ -124,22 +124,22 @@ export async function buildClient (ctx: ViteBuildContext) { clientConfig.build!.rollupOptions = defu(clientConfig.build!.rollupOptions!, { output: { chunkFileNames: ctx.nuxt.options.dev ? undefined : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[hash].js')), - entryFileNames: ctx.nuxt.options.dev ? 'entry.js' : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[hash].js')) - } satisfies NonNullable<BuildOptions['rollupOptions']>['output'] + entryFileNames: ctx.nuxt.options.dev ? 'entry.js' : withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[hash].js')), + } satisfies NonNullable<BuildOptions['rollupOptions']>['output'], }) as any if (clientConfig.server && clientConfig.server.hmr !== false) { const hmrPortDefault = 24678 // Vite's default HMR port const hmrPort = await getPort({ port: hmrPortDefault, - ports: Array.from({ length: 20 }, (_, i) => hmrPortDefault + 1 + i) + ports: Array.from({ length: 20 }, (_, i) => hmrPortDefault + 1 + i), }) clientConfig.server = defu(clientConfig.server, <ServerOptions> { https: ctx.nuxt.options.devServer.https, hmr: { protocol: ctx.nuxt.options.devServer.https ? 'wss' : 'ws', - port: hmrPort - } + port: hmrPort, + }, }) } @@ -157,7 +157,7 @@ export async function buildClient (ctx: ViteBuildContext) { clientConfig.plugins!.unshift( vuePlugin(clientConfig.vue), - viteJsxPlugin(clientConfig.vueJsx) + viteJsxPlugin(clientConfig.vueJsx), ) await ctx.nuxt.callHook('vite:configResolved', clientConfig, { isClient: true, isServer: false }) @@ -174,7 +174,7 @@ export async function buildClient (ctx: ViteBuildContext) { // 'Skip' the transform middleware if (req._skip_transform) { req.url = joinURL('/__skip_vite', req.url!) } next() - } + }, }) const viteMiddleware = defineEventHandler(async (event) => { diff --git a/packages/vite/src/css.ts b/packages/vite/src/css.ts index 5446cad03c..96413a3ce4 100644 --- a/packages/vite/src/css.ts +++ b/packages/vite/src/css.ts @@ -6,8 +6,8 @@ import { distDir } from './dirs' export function resolveCSSOptions (nuxt: Nuxt): ViteConfig['css'] { const css: ViteConfig['css'] & { postcss: NonNullable<Exclude<NonNullable<ViteConfig['css']>['postcss'], string>> } = { postcss: { - plugins: [] - } + plugins: [], + }, } const lastPlugins = ['autoprefixer', 'cssnano'] @@ -18,8 +18,8 @@ export function resolveCSSOptions (nuxt: Nuxt): ViteConfig['css'] { const plugin = requireModule(name, { paths: [ ...nuxt.options.modulesDir, - distDir - ] + distDir, + ], }) return plugin(opts) }) diff --git a/packages/vite/src/dev-bundler.ts b/packages/vite/src/dev-bundler.ts index 6d4f8250f3..cf774c241d 100644 --- a/packages/vite/src/dev-bundler.ts +++ b/packages/vite/src/dev-bundler.ts @@ -14,15 +14,15 @@ import { writeManifest } from './manifest' import type { ViteBuildContext } from './vite' interface TransformChunk { - id: string, - code: string, - deps: string[], + id: string + code: string + deps: string[] parents: string[] } interface SSRTransformResult { - code: string, - map: object, + code: string + map: object deps: string[] dynamicDeps: string[] } @@ -72,7 +72,7 @@ ${genDynamicImport(path, { wrapper: false })} throw new Error(${JSON.stringify(`[vite dev] Error loading external "${id}".`)}) })`, deps: [], - dynamicDeps: [] + dynamicDeps: [], } } @@ -101,7 +101,7 @@ async function transformRequestRecursive (opts: TransformOptions, id: string, pa id, code: res.code, deps, - parents: [parent] + parents: [parent], } as TransformChunk for (const dep of deps) { await transformRequestRecursive(opts, dep, id, chunks) @@ -216,12 +216,12 @@ async function __instantiateModule__(url, urlStack) { chunksCode, manifestCode, ssrModuleLoader, - `export default await __ssrLoadModule__(${JSON.stringify(entryURL)})` + `export default await __ssrLoadModule__(${JSON.stringify(entryURL)})`, ].join('\n\n') return { code, - ids: chunks.map(i => i.id) + ids: chunks.map(i => i.id), } } @@ -229,7 +229,7 @@ export async function initViteDevBundler (ctx: ViteBuildContext, onBuild: () => const viteServer = ctx.ssrServer! const options: TransformOptions = { viteServer, - isExternal: createIsExternal(viteServer, ctx.nuxt.options.rootDir, ctx.nuxt.options.modulesDir) + isExternal: createIsExternal(viteServer, ctx.nuxt.options.rootDir, ctx.nuxt.options.modulesDir), } // Build and watch diff --git a/packages/vite/src/manifest.ts b/packages/vite/src/manifest.ts index 171adf2dee..f5d3e7aa6a 100644 --- a/packages/vite/src/manifest.ts +++ b/packages/vite/src/manifest.ts @@ -17,14 +17,14 @@ export async function writeManifest (ctx: ViteBuildContext, css: string[] = []) file: '@vite/client', css, module: true, - resourceType: 'script' + resourceType: 'script', }, [ctx.entry]: { isEntry: true, file: ctx.entry, module: true, - resourceType: 'script' - } + resourceType: 'script', + }, } const manifestFile = resolve(clientDist, 'manifest.json') diff --git a/packages/vite/src/plugins/analyze.ts b/packages/vite/src/plugins/analyze.ts index aa71fe765d..3fa23b94b8 100644 --- a/packages/vite/src/plugins/analyze.ts +++ b/packages/vite/src/plugins/analyze.ts @@ -22,13 +22,13 @@ export function analyzePlugin (ctx: ViteBuildContext): Plugin[] { })) bundle.modules = Object.fromEntries(minifiedEntries) } - } + }, }, visualizer({ ...analyzeOptions, filename: 'filename' in analyzeOptions ? analyzeOptions.filename!.replace('{name}', 'client') : undefined, title: 'Client bundle stats', - gzipSize: true - }) + gzipSize: true, + }), ] } diff --git a/packages/vite/src/plugins/chunk-error.ts b/packages/vite/src/plugins/chunk-error.ts index 6a431b1344..4502435978 100644 --- a/packages/vite/src/plugins/chunk-error.ts +++ b/packages/vite/src/plugins/chunk-error.ts @@ -25,8 +25,8 @@ export const __vitePreload = (...args) => ___vitePreload(...args).catch(err => { code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } - } + }, } } diff --git a/packages/vite/src/plugins/composable-keys.ts b/packages/vite/src/plugins/composable-keys.ts index 4998ef17ee..c333bfea45 100644 --- a/packages/vite/src/plugins/composable-keys.ts +++ b/packages/vite/src/plugins/composable-keys.ts @@ -50,7 +50,7 @@ export const composableKeysPlugin = createUnplugin((options: ComposableKeysOptio const ast = this.parse(script, { sourceType: 'module', - ecmaVersion: 'latest' + ecmaVersion: 'latest', }) as Node // To handle variables hoisting we need a pre-pass to collect variable and function declarations with scope info. @@ -72,7 +72,7 @@ export const composableKeysPlugin = createUnplugin((options: ComposableKeysOptio scopeTracker.leaveScope() varCollector.refresh(scopeTracker.curScopeKey) } - } + }, }) scopeTracker = new ScopeTracker() @@ -124,24 +124,24 @@ export const composableKeysPlugin = createUnplugin((options: ComposableKeysOptio s.appendLeft( codeIndex + (node as any).end - 1, - (node.arguments.length && !endsWithComma ? ', ' : '') + "'$" + hash(`${relativeID}-${++count}`) + "'" + (node.arguments.length && !endsWithComma ? ', ' : '') + '\'$' + hash(`${relativeID}-${++count}`) + '\'', ) }, leave (_node) { if (_node.type === 'BlockStatement') { scopeTracker.leaveScope() } - } + }, }) if (s.hasChanged()) { return { code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } }) diff --git a/packages/vite/src/plugins/dev-ssr-css.ts b/packages/vite/src/plugins/dev-ssr-css.ts index af77e55ce2..87420efa13 100644 --- a/packages/vite/src/plugins/dev-ssr-css.ts +++ b/packages/vite/src/plugins/dev-ssr-css.ts @@ -25,6 +25,6 @@ export function devStyleSSRPlugin (options: DevStyleSSRPluginOptions): Plugin { // When dev `<style>` is injected, remove the `<link>` styles from manifest const selectors = [joinURL(options.buildAssetsURL, moduleId), joinURL(options.buildAssetsURL, '@fs', moduleId)] return code + selectors.map(selector => `\ndocument.querySelectorAll(\`link[href="${selector}"]\`).forEach(i=>i.remove())`).join('') - } + }, } } diff --git a/packages/vite/src/plugins/paths.ts b/packages/vite/src/plugins/paths.ts index 0593192eb4..1a6a1cb7bf 100644 --- a/packages/vite/src/plugins/paths.ts +++ b/packages/vite/src/plugins/paths.ts @@ -34,9 +34,9 @@ export function runtimePathsPlugin (options: RuntimePathsOptions): Plugin { code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } } - } + }, } } diff --git a/packages/vite/src/plugins/public-dirs.ts b/packages/vite/src/plugins/public-dirs.ts index fdda3b10be..116bc66610 100644 --- a/packages/vite/src/plugins/public-dirs.ts +++ b/packages/vite/src/plugins/public-dirs.ts @@ -28,7 +28,7 @@ export const VitePublicDirsPlugin = createUnplugin(() => { if (id.startsWith(PREFIX)) { return `import { publicAssetsURL } from '#internal/nuxt/paths';export default publicAssetsURL(${JSON.stringify(decodeURIComponent(id.slice(PREFIX.length)))})` } - } + }, }, resolveId: { enforce: 'post', @@ -38,7 +38,7 @@ export const VitePublicDirsPlugin = createUnplugin(() => { if (resolveFromPublicAssets(id)) { return PREFIX + encodeURIComponent(id) } - } + }, }, generateBundle (outputOptions, bundle) { for (const file in bundle) { @@ -58,7 +58,7 @@ export const VitePublicDirsPlugin = createUnplugin(() => { chunk.source = css } } - } - } + }, + }, } }) diff --git a/packages/vite/src/plugins/ssr-styles.ts b/packages/vite/src/plugins/ssr-styles.ts index 37a810290e..8fe1b99ff8 100644 --- a/packages/vite/src/plugins/ssr-styles.ts +++ b/packages/vite/src/plugins/ssr-styles.ts @@ -33,7 +33,7 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { const islands = options.components.filter(component => component.island || // .server components without a corresponding .client component will need to be rendered as an island - (component.mode === 'server' && !options.components.some(c => c.pascalName === component.pascalName && c.mode === 'client')) + (component.mode === 'server' && !options.components.some(c => c.pascalName === component.pascalName && c.mode === 'client')), ) return { @@ -52,11 +52,11 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { if (res) { return { ...res, - moduleSideEffects: false + moduleSideEffects: false, } } } - } + }, }, generateBundle (outputOptions) { if (options.mode === 'client') { return } @@ -72,7 +72,7 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { : outputOptions.assetFileNames({ type: 'asset', name: `${filename(file)}-styles.mjs`, - source: '' + source: '', }) const baseDir = dirname(base) @@ -82,8 +82,8 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { name: `${filename(file)}-styles.mjs`, source: [ ...files.map((css, i) => `import style_${i} from './${relative(baseDir, this.getFileName(css))}';`), - `export default [${files.map((_, i) => `style_${i}`).join(', ')}]` - ].join('\n') + `export default [${files.map((_, i) => `style_${i}`).join(', ')}]`, + ].join('\n'), }) } @@ -101,9 +101,9 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { [ 'const interopDefault = r => r.default || r || []', `export default ${genObjectFromRawEntries( - Object.entries(emitted).map(([key, value]) => [key, `() => import('./${this.getFileName(value)}').then(interopDefault)`]) as [string, string][] - )}` - ].join('\n') + Object.entries(emitted).map(([key, value]) => [key, `() => import('./${this.getFileName(value)}').then(interopDefault)`]) as [string, string][], + )}`, + ].join('\n'), }) }, renderChunk (_code, chunk) { @@ -162,7 +162,7 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { if (s.hasChanged()) { return { code: s.toString(), - map: s.generateMap({ hires: true }) + map: s.generateMap({ hires: true }), } } } @@ -201,7 +201,7 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { const ref = this.emitFile({ type: 'chunk', name: `${filename(id)}-styles-${++styleCtr}.mjs`, - id: file + '?inline&used' + id: file + '?inline&used', }) idRefMap[relativeToSrcDir(file)] = ref @@ -228,13 +228,13 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { const ref = this.emitFile({ type: 'chunk', name: `${filename(id)}-styles-${++styleCtr}.mjs`, - id: resolved.id + '?inline&used' + id: resolved.id + '?inline&used', }) idRefMap[relativeToSrcDir(resolved.id)] = ref cssMap[relativeId].files.push(ref) } - } + }, } } diff --git a/packages/vite/src/plugins/type-check.ts b/packages/vite/src/plugins/type-check.ts index 620b11100a..0ca1d4df85 100644 --- a/packages/vite/src/plugins/type-check.ts +++ b/packages/vite/src/plugins/type-check.ts @@ -22,8 +22,8 @@ export function typeCheckPlugin (options: { sourcemap?: boolean } = {}): Plugin return { code: s.toString(), - map: options.sourcemap ? s.generateMap({ hires: true }) : undefined + map: options.sourcemap ? s.generateMap({ hires: true }) : undefined, } - } + }, } } diff --git a/packages/vite/src/plugins/virtual.ts b/packages/vite/src/plugins/virtual.ts index e33d2c72ca..c1887a7873 100644 --- a/packages/vite/src/plugins/virtual.ts +++ b/packages/vite/src/plugins/virtual.ts @@ -40,9 +40,9 @@ export default function virtual (vfs: Record<string, string>): Plugin { if (idNoPrefix in vfs) { return { code: vfs[idNoPrefix], - map: null + map: null, } } - } + }, } } diff --git a/packages/vite/src/runtime/vite-node-shared.mjs b/packages/vite/src/runtime/vite-node-shared.mjs index 15db8bc80a..a9615ac483 100644 --- a/packages/vite/src/runtime/vite-node-shared.mjs +++ b/packages/vite/src/runtime/vite-node-shared.mjs @@ -10,5 +10,5 @@ export const viteNodeFetch = $fetch.create({ // @ts-expect-error https://github.com/node-fetch/node-fetch#custom-agent agent: viteNodeOptions.baseURL.startsWith('https://') ? new HTTPSAgent({ rejectUnauthorized: false }) - : null + : null, }) diff --git a/packages/vite/src/runtime/vite-node.mjs b/packages/vite/src/runtime/vite-node.mjs index e45e67a0c7..bc2da0c41d 100644 --- a/packages/vite/src/runtime/vite-node.mjs +++ b/packages/vite/src/runtime/vite-node.mjs @@ -15,6 +15,7 @@ let render export default async (ssrContext) => { // Workaround for stub mode // https://github.com/nuxt/framework/pull/3983 + // eslint-disable-next-line nuxt/prefer-import-meta process.server = true import.meta.server = true @@ -51,7 +52,7 @@ function createRunner () { _err = createError({ statusMessage: 'Vite Error', message, - stack + stack, }) } catch (formatError) { consola.warn('Internal nuxt error while formatting vite-node error. Please report this!', formatError) @@ -60,12 +61,12 @@ function createRunner () { throw createError({ statusMessage: 'Vite Error', message, - stack: `${message}\nat ${id}\n` + (errorData?.stack || '') + stack: `${message}\nat ${id}\n` + (errorData?.stack || ''), }) } throw _err }) - } + }, }) } @@ -91,17 +92,17 @@ function formatViteError (errorData, id) { errorCode && `[${errorCode}]`, loc, errorData.reason && `: ${errorData.reason}`, - frame && `<br><pre>${frame.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')}</pre><br>` + frame && `<br><pre>${frame.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')}</pre><br>`, ].filter(Boolean).join(' ') const stack = [ message, `at ${loc}`, - errorData.stack + errorData.stack, ].filter(Boolean).join('\n') return { message, - stack + stack, } } diff --git a/packages/vite/src/server.ts b/packages/vite/src/server.ts index d85be56628..7c998c3dbd 100644 --- a/packages/vite/src/server.ts +++ b/packages/vite/src/server.ts @@ -32,10 +32,10 @@ export async function buildServer (ctx: ViteBuildContext) { const relativeFilename = filename.replace(withTrailingSlash(withoutLeadingSlash(ctx.nuxt.options.app.buildAssetsDir)), '') return { runtime: `${helper}__buildAssetsURL(${JSON.stringify(relativeFilename)})` } } - } + }, }, css: { - devSourcemap: !!ctx.nuxt.options.sourcemap.server + devSourcemap: !!ctx.nuxt.options.sourcemap.server, }, define: { 'process.server': true, @@ -44,32 +44,32 @@ export async function buildServer (ctx: ViteBuildContext) { 'import.meta.server': true, 'import.meta.client': false, 'import.meta.browser': false, - window: 'undefined', - document: 'undefined', - navigator: 'undefined', - location: 'undefined', - XMLHttpRequest: 'undefined' + 'window': 'undefined', + 'document': 'undefined', + 'navigator': 'undefined', + 'location': 'undefined', + 'XMLHttpRequest': 'undefined', }, optimizeDeps: { - entries: ctx.nuxt.options.ssr ? [ctx.entry] : [] + entries: ctx.nuxt.options.ssr ? [ctx.entry] : [], }, resolve: { alias: { '#internal/nuxt/paths': resolve(ctx.nuxt.options.buildDir, 'paths.mjs'), - '#build/plugins': resolve(ctx.nuxt.options.buildDir, 'plugins/server') - } + '#build/plugins': resolve(ctx.nuxt.options.buildDir, 'plugins/server'), + }, }, ssr: { external: [ - '#internal/nitro', '#internal/nitro/utils' + '#internal/nitro', '#internal/nitro/utils', ], noExternal: [ ...transpile({ isServer: true, isDev: ctx.nuxt.options.dev }), '/__vue-jsx', '#app', /^nuxt(\/|$)/, - /(nuxt|nuxt3|nuxt-nightly)\/(dist|src|app)/ - ] + /(nuxt|nuxt3|nuxt-nightly)\/(dist|src|app)/, + ], }, cacheDir: resolve(ctx.nuxt.options.rootDir, 'node_modules/.cache/vite', 'server'), build: { @@ -85,22 +85,22 @@ export async function buildServer (ctx: ViteBuildContext) { entryFileNames: '[name].mjs', format: 'module', generatedCode: { - constBindings: true - } + constBindings: true, + }, }, onwarn (warning, rollupWarn) { if (warning.code && ['UNUSED_EXTERNAL_IMPORT'].includes(warning.code)) { return } rollupWarn(warning) - } - } + }, + }, }, server: { // https://github.com/vitest-dev/vitest/issues/229#issuecomment-1002685027 preTransformRequests: false, - hmr: false - } + hmr: false, + }, } satisfies vite.InlineConfig, ctx.nuxt.options.vite.$server || {})) if (!ctx.nuxt.options.dev) { @@ -111,7 +111,7 @@ export async function buildServer (ctx: ViteBuildContext) { // explicit dependencies we use in our ssr renderer - these can be inlined (if necessary) in the nitro build 'unhead', '@unhead/ssr', 'unctx', 'h3', 'devalue', '@nuxt/devalue', 'radix3', 'unstorage', 'hookable', // dependencies we might share with nitro - these can be inlined (if necessary) in the nitro build - ...nitroDependencies + ...nitroDependencies, ) } } @@ -122,7 +122,7 @@ export async function buildServer (ctx: ViteBuildContext) { serverConfig.plugins!.unshift( vuePlugin(serverConfig.vue), - viteJsxPlugin(serverConfig.vueJsx) + viteJsxPlugin(serverConfig.vueJsx), ) await ctx.nuxt.callHook('vite:configResolved', serverConfig, { isClient: false, isServer: true }) diff --git a/packages/vite/src/utils/external.ts b/packages/vite/src/utils/external.ts index 3042beda0d..f8f1320a6f 100644 --- a/packages/vite/src/utils/external.ts +++ b/packages/vite/src/utils/external.ts @@ -13,17 +13,17 @@ export function createIsExternal (viteServer: ViteDevServer, rootDir: string, mo viteServer.config.ssr.noExternal && viteServer.config.ssr.noExternal !== true ? toArray(viteServer.config.ssr.noExternal) : [] - ) + ), ], external: [ ...(viteServer.config.ssr.external as string[]) || [], - /node_modules/ + /node_modules/, ], resolve: { modules: modulesDirs, type: 'module', - extensions: ['.ts', '.js', '.json', '.vue', '.mjs', '.jsx', '.tsx', '.wasm'] - } + extensions: ['.ts', '.js', '.json', '.vue', '.mjs', '.jsx', '.tsx', '.wasm'], + }, } return (id: string) => isExternal(id, rootDir, externalOpts) diff --git a/packages/vite/src/utils/logger.ts b/packages/vite/src/utils/logger.ts index 5dc424de06..1de733dfea 100644 --- a/packages/vite/src/utils/logger.ts +++ b/packages/vite/src/utils/logger.ts @@ -11,14 +11,14 @@ let lastMsg: string | null = null export const logLevelMap: Record<NuxtOptions['logLevel'], vite.UserConfig['logLevel']> = { silent: 'silent', info: 'info', - verbose: 'info' + verbose: 'info', } const logLevelMapReverse: Record<NonNullable<vite.UserConfig['logLevel']>, number> = { silent: 0, error: 1, warn: 2, - info: 3 + info: 3, } export function createViteLogger (config: vite.InlineConfig): vite.Logger { @@ -84,7 +84,7 @@ export function createViteLogger (config: vite.InlineConfig): vite.Logger { }, hasErrorLogged (error) { return loggedErrors.has(error) - } + }, } return viteLogger diff --git a/packages/vite/src/utils/warmup.ts b/packages/vite/src/utils/warmup.ts index 85ff884bad..db84632c26 100644 --- a/packages/vite/src/utils/warmup.ts +++ b/packages/vite/src/utils/warmup.ts @@ -38,7 +38,7 @@ function isBuiltin (id: string) { export async function warmupViteServer ( server: ViteDevServer, entries: string[], - isServer: boolean + isServer: boolean, ) { const warmedUrls = new Set<String>() diff --git a/packages/vite/src/utils/wpfs.ts b/packages/vite/src/utils/wpfs.ts index 612bc250fb..5538f0bf7e 100644 --- a/packages/vite/src/utils/wpfs.ts +++ b/packages/vite/src/utils/wpfs.ts @@ -3,5 +3,5 @@ import fse from 'fs-extra' export const wpfs = { ...fse, - join + join, } as typeof fse & { join: typeof join } diff --git a/packages/vite/src/vite-node.ts b/packages/vite/src/vite-node.ts index 8662ba2ab4..8bbbe98ed0 100644 --- a/packages/vite/src/vite-node.ts +++ b/packages/vite/src/vite-node.ts @@ -66,14 +66,14 @@ export function viteNodePlugin (ctx: ViteBuildContext): VitePlugin { invalidateVirtualModules() } }) - } + }, } } export function registerViteNodeMiddleware (ctx: ViteBuildContext) { addDevServerHandler({ route: '/__nuxt_vite_node__/', - handler: createViteNodeApp(ctx).handler + handler: createViteNodeApp(ctx).handler, }) } @@ -86,14 +86,14 @@ function getManifest (ctx: ViteBuildContext) { file: '@vite/client', css, module: true, - isEntry: true + isEntry: true, }, [ctx.entry]: { file: ctx.entry, isEntry: true, module: true, - resourceType: 'script' - } + resourceType: 'script', + }, }) return manifest @@ -120,13 +120,13 @@ function createViteNodeApp (ctx: ViteBuildContext, invalidates: Set<string> = ne inline: [ /\/node_modules\/(.*\/)?(nuxt|nuxt3|nuxt-nightly)\//, /^#/, - ...transpile({ isServer: true, isDev: ctx.nuxt.options.dev }) - ] + ...transpile({ isServer: true, isDev: ctx.nuxt.options.dev }), + ], }, transformMode: { ssr: [/.*/], - web: [] - } + web: [], + }, }) const isExternal = createIsExternal(viteServer, ctx.nuxt.options.rootDir, ctx.nuxt.options.modulesDir) node.shouldExternalize = async (id: string) => { @@ -150,7 +150,7 @@ function createViteNodeApp (ctx: ViteBuildContext, invalidates: Set<string> = ne code: 'VITE_ERROR', id: moduleId, stack: '', - ...err + ...err, } throw createError({ data: errorData }) }) @@ -174,7 +174,7 @@ export async function initViteNodeServer (ctx: ViteBuildContext) { baseURL: `${ctx.nuxt.options.devServer.url}__nuxt_vite_node__`, root: ctx.nuxt.options.srcDir, entryPath: ctx.entry, - base: ctx.ssrServer!.config.base || '/_nuxt/' + base: ctx.ssrServer!.config.base || '/_nuxt/', } satisfies ViteNodeServerOptions process.env.NUXT_VITE_NODE_OPTIONS = JSON.stringify(viteNodeServerOptions) @@ -183,10 +183,10 @@ export async function initViteNodeServer (ctx: ViteBuildContext) { await fse.writeFile( resolve(ctx.nuxt.options.buildDir, 'dist/server/server.mjs'), - `export { default } from ${JSON.stringify(pathToFileURL(serverResolvedPath).href)}` + `export { default } from ${JSON.stringify(pathToFileURL(serverResolvedPath).href)}`, ) await fse.writeFile( resolve(ctx.nuxt.options.buildDir, 'dist/server/client.manifest.mjs'), - `export { default } from ${JSON.stringify(pathToFileURL(manifestResolvedPath).href)}` + `export { default } from ${JSON.stringify(pathToFileURL(manifestResolvedPath).href)}`, ) } diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts index 3953928011..a247c181cc 100644 --- a/packages/vite/src/vite.ts +++ b/packages/vite/src/vite.ts @@ -42,8 +42,8 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { ...app.middleware.map(m => dirname(m.path)), ...Object.values(app.layouts || {}).map(l => dirname(l.file)), dirname(nuxt.apps.default.rootComponent!), - dirname(nuxt.apps.default.errorComponent!) - ]) + dirname(nuxt.apps.default.errorComponent!), + ]), ].filter(d => d && existsSync(d)) for (const dir of allowDirs) { @@ -68,17 +68,17 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { '#build': nuxt.options.buildDir, 'web-streams-polyfill/ponyfill/es2018': 'unenv/runtime/mock/empty', // Cannot destructure property 'AbortController' of .. - 'abort-controller': 'unenv/runtime/mock/empty' - } + 'abort-controller': 'unenv/runtime/mock/empty', + }, }, optimizeDeps: { include: ['vue'], - exclude: ['nuxt/app'] + exclude: ['nuxt/app'], }, css: resolveCSSOptions(nuxt), define: { __NUXT_VERSION__: JSON.stringify(nuxt._version), - __NUXT_ASYNC_CONTEXT__: nuxt.options.experimental.asyncContext + __NUXT_ASYNC_CONTEXT__: nuxt.options.experimental.asyncContext, }, build: { copyPublicDir: false, @@ -91,12 +91,12 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { // https://github.com/vitejs/vite/tree/main/packages/vite/src/node/build.ts#L464-L478 assetFileNames: nuxt.options.dev ? undefined - : chunk => withoutLeadingSlash(join(nuxt.options.app.buildAssetsDir, `${sanitizeFilePath(filename(chunk.name!))}.[hash].[ext]`)) - } + : chunk => withoutLeadingSlash(join(nuxt.options.app.buildAssetsDir, `${sanitizeFilePath(filename(chunk.name!))}.[hash].[ext]`)), + }, }, watch: { - exclude: nuxt.options.ignore - } + exclude: nuxt.options.ignore, + }, }, plugins: [ // add resolver for files in public assets directories @@ -104,23 +104,23 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { composableKeysPlugin.vite({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, rootDir: nuxt.options.rootDir, - composables: nuxt.options.optimization.keyedComposables + composables: nuxt.options.optimization.keyedComposables, }), replace({ ...Object.fromEntries([';', '(', '{', '}', ' ', '\t', '\n'].map(d => [`${d}global.`, `${d}globalThis.`])), - preventAssignment: true + preventAssignment: true, }), - virtual(nuxt.vfs) + virtual(nuxt.vfs), ], server: { watch: { ignored: isIgnored }, fs: { - allow: [...new Set(allowDirs)] - } - } + allow: [...new Set(allowDirs)], + }, + }, } satisfies ViteConfig, - viteConfig - ) + viteConfig, + ), } // In build mode we explicitly override any vite options that vite is relying on @@ -150,7 +150,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { // Trigger vite to optimize dependencies imported within a layer, just as if they were imported in final project await this.resolve(source, join(nuxt.options.srcDir, 'index.html'), { skipSelf: true }).catch(() => null) } - } + }, }) } } @@ -160,8 +160,8 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { const checker = await import('vite-plugin-checker').then(r => r.default) addVitePlugin(checker({ vueTsc: { - tsconfigPath: await resolveTSConfig(ctx.nuxt.options.rootDir) - } + tsconfigPath: await resolveTSConfig(ctx.nuxt.options.rootDir), + }, }), { server: nuxt.options.ssr }) } @@ -170,7 +170,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { nuxt.hook('vite:extendConfig', (config) => { config.plugins!.push(replace({ preventAssignment: true, - ...Object.fromEntries(Object.entries(config.define!).filter(([key]) => key.startsWith('import.meta.'))) + ...Object.fromEntries(Object.entries(config.define!).filter(([key]) => key.startsWith('import.meta.'))), })) }) @@ -187,7 +187,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { components: ctx.nuxt.apps.default.components, globalCSS: ctx.nuxt.options.css, mode: isServer ? 'server' : 'client', - entry: ctx.entry + entry: ctx.entry, })) }) diff --git a/packages/vite/test/composable-keys.test.ts b/packages/vite/test/composable-keys.test.ts index 913cacb6c6..75299618e1 100644 --- a/packages/vite/test/composable-keys.test.ts +++ b/packages/vite/test/composable-keys.test.ts @@ -5,7 +5,7 @@ import { detectImportNames } from '../src/plugins/composable-keys' describe('detectImportNames', () => { const keyedComposables = { useFetch: { source: '#app', argumentLength: 2 }, - useCustomFetch: { source: 'custom-fetch', argumentLength: 2 } + useCustomFetch: { source: 'custom-fetch', argumentLength: 2 }, } it('should not include imports from nuxt', () => { expect([...detectImportNames('import { useFetch } from \'#app\'', {})]).toMatchInlineSnapshot('[]') diff --git a/packages/webpack/build.config.ts b/packages/webpack/build.config.ts index 4068746abe..95278b7548 100644 --- a/packages/webpack/build.config.ts +++ b/packages/webpack/build.config.ts @@ -3,7 +3,7 @@ import { defineBuildConfig } from 'unbuild' export default defineBuildConfig({ declaration: true, entries: [ - 'src/index' + 'src/index', ], dependencies: [ '@nuxt/kit', @@ -15,9 +15,9 @@ export default defineBuildConfig({ 'css-loader', 'file-loader', 'url-loader', - 'vue' + 'vue', ], externals: [ - '@nuxt/schema' - ] + '@nuxt/schema', + ], }) diff --git a/packages/webpack/src/configs/client.ts b/packages/webpack/src/configs/client.ts index c78c1ab28e..aeb6cb2fe3 100644 --- a/packages/webpack/src/configs/client.ts +++ b/packages/webpack/src/configs/client.ts @@ -22,7 +22,7 @@ export function client (ctx: WebpackConfigContext) { clientDevtool, clientPerformance, clientHMR, - clientNodeCompat + clientNodeCompat, ]) } @@ -46,7 +46,7 @@ function clientPerformance (ctx: WebpackConfigContext) { ctx.config.performance = { maxEntrypointSize: 1000 * 1024, hints: ctx.isDev ? false : 'warning', - ...ctx.config.performance + ...ctx.config.performance, } } @@ -59,7 +59,7 @@ function clientNodeCompat (ctx: WebpackConfigContext) { ctx.config.resolve = ctx.config.resolve || {} ctx.config.resolve.fallback = { ...env(nodeless).alias, - ...ctx.config.resolve.fallback + ...ctx.config.resolve.fallback, } // https://github.com/webpack/webpack/issues/13290#issuecomment-1188760779 @@ -81,7 +81,7 @@ function clientHMR (ctx: WebpackConfigContext) { ...clientOptions, ansiColors: JSON.stringify(clientOptions.ansiColors || {}), overlayStyles: JSON.stringify(clientOptions.overlayStyles || {}), - name: ctx.name + name: ctx.name, } const hotMiddlewareClientOptionsStr = querystring.stringify(hotMiddlewareClientOptions) @@ -89,7 +89,7 @@ function clientHMR (ctx: WebpackConfigContext) { const app = (ctx.config.entry as any).app as any app.unshift( // https://github.com/glenjamin/webpack-hot-middleware#config - `webpack-hot-middleware/client?${hotMiddlewareClientOptionsStr}` + `webpack-hot-middleware/client?${hotMiddlewareClientOptionsStr}`, ) ctx.config.plugins = ctx.config.plugins || [] @@ -113,7 +113,7 @@ function clientPlugins (ctx: WebpackConfigContext) { openAnalyzer: true, reportFilename: resolve(statsDir, `${ctx.name}.html`), statsFilename: resolve(statsDir, `${ctx.name}.json`), - ...ctx.userConfig.analyze === true ? {} : ctx.userConfig.analyze + ...ctx.userConfig.analyze === true ? {} : ctx.userConfig.analyze, })) } @@ -122,7 +122,7 @@ function clientPlugins (ctx: WebpackConfigContext) { if (!ctx.nuxt.options.ssr) { if (!ctx.nuxt.options.test && (ctx.nuxt.options.typescript.typeCheck === true || (ctx.nuxt.options.typescript.typeCheck === 'build' && !ctx.nuxt.options.dev))) { ctx.config.plugins!.push(new ForkTSCheckerWebpackPlugin({ - logger + logger, })) } } diff --git a/packages/webpack/src/configs/server.ts b/packages/webpack/src/configs/server.ts index ed403f4a44..662b53cfa4 100644 --- a/packages/webpack/src/configs/server.ts +++ b/packages/webpack/src/configs/server.ts @@ -18,7 +18,7 @@ export function server (ctx: WebpackConfigContext) { node, serverStandalone, serverPreset, - serverPlugins + serverPlugins, ]) } @@ -34,7 +34,7 @@ function serverPreset (ctx: WebpackConfigContext) { ctx.config.optimization = { splitChunks: false, - minimize: false + minimize: false, } } @@ -51,7 +51,7 @@ function serverStandalone (ctx: WebpackConfigContext) { '~', '@/', '#', - ...ctx.options.build.transpile + ...ctx.options.build.transpile, ] const external = ['#internal/nitro'] if (!ctx.nuxt.options.dev) { @@ -87,14 +87,14 @@ function serverPlugins (ctx: WebpackConfigContext) { if (ctx.userConfig.serverURLPolyfill) { ctx.config.plugins.push(new webpack.ProvidePlugin({ URL: [ctx.userConfig.serverURLPolyfill, 'URL'], - URLSearchParams: [ctx.userConfig.serverURLPolyfill, 'URLSearchParams'] + URLSearchParams: [ctx.userConfig.serverURLPolyfill, 'URLSearchParams'], })) } // Add type-checking if (!ctx.nuxt.options.test && (ctx.nuxt.options.typescript.typeCheck === true || (ctx.nuxt.options.typescript.typeCheck === 'build' && !ctx.nuxt.options.dev))) { ctx.config.plugins!.push(new ForkTSCheckerWebpackPlugin({ - logger + logger, })) } } diff --git a/packages/webpack/src/plugins/chunk.ts b/packages/webpack/src/plugins/chunk.ts index 95da5fe46c..4832aeb941 100644 --- a/packages/webpack/src/plugins/chunk.ts +++ b/packages/webpack/src/plugins/chunk.ts @@ -21,8 +21,8 @@ export class ChunkErrorPlugin { compiler.hooks.thisCompilation.tap(pluginName, compilation => compilation.mainTemplate.hooks.localVars.tap( { name: pluginName, stage: 1 }, - source => source + script - ) + source => source + script, + ), ) } } diff --git a/packages/webpack/src/plugins/dynamic-base.ts b/packages/webpack/src/plugins/dynamic-base.ts index d9effaf714..65a48bc0b8 100644 --- a/packages/webpack/src/plugins/dynamic-base.ts +++ b/packages/webpack/src/plugins/dynamic-base.ts @@ -8,7 +8,7 @@ interface DynamicBasePluginOptions { const defaults: DynamicBasePluginOptions = { globalPublicPath: '__webpack_public_path__', - sourcemap: true + sourcemap: true, } const ENTRY_RE = /import ["']#build\/css["'];/ @@ -26,8 +26,8 @@ export const DynamicBasePlugin = createUnplugin((options: DynamicBasePluginOptio code: s.toString(), map: options.sourcemap ? s.generateMap({ hires: true }) - : undefined + : undefined, } - } + }, } }) diff --git a/packages/webpack/src/plugins/vue/client.ts b/packages/webpack/src/plugins/vue/client.ts index 5c51fce6d9..761ef1c40e 100644 --- a/packages/webpack/src/plugins/vue/client.ts +++ b/packages/webpack/src/plugins/vue/client.ts @@ -17,7 +17,7 @@ interface PluginOptions { nuxt: Nuxt } -function uniq <T> (items: T[]) { +function uniq<T> (items: T[]) { return [...new Set(items)] } @@ -26,7 +26,7 @@ export default class VueSSRClientPlugin { constructor (options: PluginOptions) { this.options = Object.assign({ - filename: null + filename: null, }, options) } @@ -67,7 +67,7 @@ export default class VueSSRClientPlugin { initial: initialFiles, async: asyncFiles, modules: { /* [identifier: string]: Array<index: number> */ } as Record<string, number[]>, - assetsMapping + assetsMapping, } const { entrypoints = {}, namedChunkGroups = {} } = stats diff --git a/packages/webpack/src/plugins/vue/server.ts b/packages/webpack/src/plugins/vue/server.ts index be68768b02..1729908751 100644 --- a/packages/webpack/src/plugins/vue/server.ts +++ b/packages/webpack/src/plugins/vue/server.ts @@ -13,7 +13,7 @@ export default class VueSSRServerPlugin { constructor (options: Partial<VueSSRServerPluginOptions> = {}) { this.options = Object.assign({ - filename: null + filename: null, }, options) as VueSSRServerPluginOptions } @@ -22,7 +22,7 @@ export default class VueSSRServerPlugin { compiler.hooks.make.tap('VueSSRServerPlugin', (compilation: Compilation) => { compilation.hooks.processAssets.tapAsync({ name: 'VueSSRServerPlugin', - stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL + stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL, }, (assets: any, cb: any) => { const stats = compilation.getStats().toJson() const [entryName] = Object.keys(stats.entrypoints!) @@ -38,21 +38,21 @@ export default class VueSSRServerPlugin { if (entryAssets.length > 1) { throw new Error( 'Server-side bundle should have one single entry file. ' + - 'Avoid using CommonsChunkPlugin in the server config.' + 'Avoid using CommonsChunkPlugin in the server config.', ) } const [entry] = entryAssets if (!entry || typeof entry.name !== 'string') { throw new Error( - `Entry "${entryName}" not found. Did you specify the correct entry option?` + `Entry "${entryName}" not found. Did you specify the correct entry option?`, ) } const bundle = { entry: entry.name, files: {} as Record<string, string>, - maps: {} as Record<string, string> + maps: {} as Record<string, string>, } stats.assets!.forEach((asset: any) => { @@ -75,14 +75,14 @@ export default class VueSSRServerPlugin { assets[this.options.filename] = { source: () => src, - size: () => src.length + size: () => src.length, } const mjsSrc = 'export default ' + src assets[this.options.filename.replace('.json', '.mjs')] = { source: () => mjsSrc, map: () => null, - size: () => mjsSrc.length + size: () => mjsSrc.length, } cb() diff --git a/packages/webpack/src/plugins/vue/util.ts b/packages/webpack/src/plugins/vue/util.ts index 590d6ceec2..11470861b0 100644 --- a/packages/webpack/src/plugins/vue/util.ts +++ b/packages/webpack/src/plugins/vue/util.ts @@ -14,7 +14,7 @@ export const validate = (compiler: Compiler) => { if (!compiler.options.externals) { logger.info( 'It is recommended to externalize dependencies in the server build for ' + - 'better build performance.' + 'better build performance.', ) } } diff --git a/packages/webpack/src/presets/assets.ts b/packages/webpack/src/presets/assets.ts index 9195c05031..ed24a342a2 100644 --- a/packages/webpack/src/presets/assets.ts +++ b/packages/webpack/src/presets/assets.ts @@ -9,9 +9,9 @@ export function assets (ctx: WebpackConfigContext) { loader: 'url-loader', options: { ...ctx.userConfig.loaders.imgUrl, - name: fileName(ctx, 'img') - } - }] + name: fileName(ctx, 'img'), + }, + }], }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/i, @@ -19,9 +19,9 @@ export function assets (ctx: WebpackConfigContext) { loader: 'url-loader', options: { ...ctx.userConfig.loaders.fontUrl, - name: fileName(ctx, 'font') - } - }] + name: fileName(ctx, 'font'), + }, + }], }, { test: /\.(webm|mp4|ogv)$/i, @@ -29,9 +29,9 @@ export function assets (ctx: WebpackConfigContext) { loader: 'file-loader', options: { ...ctx.userConfig.loaders.file, - name: fileName(ctx, 'video') - } - }] - } + name: fileName(ctx, 'video'), + }, + }], + }, ) } diff --git a/packages/webpack/src/presets/base.ts b/packages/webpack/src/presets/base.ts index fca14754b8..1149e980b4 100644 --- a/packages/webpack/src/presets/base.ts +++ b/packages/webpack/src/presets/base.ts @@ -22,7 +22,7 @@ export function base (ctx: WebpackConfigContext) { baseConfig, basePlugins, baseResolve, - baseTranspile + baseTranspile, ]) } @@ -35,16 +35,16 @@ function baseConfig (ctx: WebpackConfigContext) { externals: [], optimization: { ...ctx.userConfig.optimization, - minimizer: [] + minimizer: [], }, experiments: { - ...ctx.userConfig.experiments + ...ctx.userConfig.experiments, }, mode: ctx.isDev ? 'development' : 'production', cache: getCache(ctx), output: getOutput(ctx), stats: statsMap[ctx.nuxt.options.logLevel] ?? statsMap.info, - ...ctx.config + ...ctx.config, } } @@ -71,8 +71,8 @@ function basePlugins (ctx: WebpackConfigContext) { new FriendlyErrorsWebpackPlugin({ clearConsole: false, reporter: 'consola', - logLevel: 'ERROR' // TODO - }) + logLevel: 'ERROR', // TODO + }), ) } @@ -81,7 +81,7 @@ function basePlugins (ctx: WebpackConfigContext) { const colors = { client: 'green', server: 'orange', - modern: 'blue' + modern: 'blue', } ctx.config.plugins.push(new WebpackBar({ name: ctx.name, @@ -108,9 +108,9 @@ function basePlugins (ctx: WebpackConfigContext) { }, progress ({ statesArray }) { ctx.nuxt.callHook('webpack:progress', statesArray) - } - } - } + }, + }, + }, })) } } @@ -122,7 +122,7 @@ function baseAlias (ctx: WebpackConfigContext) { '#build': ctx.options.buildDir, '#internal/nuxt/paths': resolve(ctx.nuxt.options.buildDir, 'paths.mjs'), ...ctx.options.alias, - ...ctx.alias + ...ctx.alias, } if (ctx.isClient) { ctx.alias['#internal/nitro'] = resolve(ctx.nuxt.options.buildDir, 'nitro.client.mjs') @@ -139,12 +139,12 @@ function baseResolve (ctx: WebpackConfigContext) { alias: ctx.alias, modules: webpackModulesDir, fullySpecified: false, - ...ctx.config.resolve + ...ctx.config.resolve, } ctx.config.resolveLoader = { modules: webpackModulesDir, - ...ctx.config.resolveLoader + ...ctx.config.resolveLoader, } } @@ -153,7 +153,7 @@ function baseTranspile (ctx: WebpackConfigContext) { /\.vue\.js/i, // include SFCs in node_modules /consola\/src/, /vue-demi/, - /(^|\/)nuxt\/(dist\/)?(app|[^/]+\/runtime)($|\/)/ + /(^|\/)nuxt\/(dist\/)?(app|[^/]+\/runtime)($|\/)/, ] for (let pattern of ctx.options.build.transpile) { @@ -198,7 +198,7 @@ function getOutput (ctx: WebpackConfigContext): Configuration['output'] { path: resolve(ctx.options.buildDir, 'dist', ctx.isServer ? 'server' : joinURL('client', ctx.options.app.buildAssetsDir)), filename: fileName(ctx, 'app'), chunkFilename: fileName(ctx, 'chunk'), - publicPath: joinURL(ctx.options.app.baseURL, ctx.options.app.buildAssetsDir) + publicPath: joinURL(ctx.options.app.baseURL, ctx.options.app.buildAssetsDir), } } @@ -208,7 +208,7 @@ function getWarningIgnoreFilter (ctx: WebpackConfigContext): WarningFilter { warn => warn.name === 'ModuleDependencyWarning' && warn.message.includes('export \'default\'') && warn.message.includes('nuxt_plugin_'), - ...(ctx.userConfig.warningIgnoreFilters || []) + ...(ctx.userConfig.warningIgnoreFilters || []), ] return warn => !filters.some(ignoreFilter => ignoreFilter(warn)) @@ -217,8 +217,8 @@ function getWarningIgnoreFilter (ctx: WebpackConfigContext): WarningFilter { function getEnv (ctx: WebpackConfigContext) { const _env: Record<string, string | boolean> = { 'process.env.NODE_ENV': JSON.stringify(ctx.config.mode), - __NUXT_VERSION__: JSON.stringify(ctx.nuxt._version), - __NUXT_ASYNC_CONTEXT__: ctx.options.experimental.asyncContext, + '__NUXT_VERSION__': JSON.stringify(ctx.nuxt._version), + '__NUXT_ASYNC_CONTEXT__': ctx.options.experimental.asyncContext, 'process.env.VUE_ENV': JSON.stringify(ctx.name), 'process.dev': ctx.options.dev, 'process.test': isTest, @@ -229,7 +229,7 @@ function getEnv (ctx: WebpackConfigContext) { 'import.meta.test': isTest, 'import.meta.browser': ctx.isClient, 'import.meta.client': ctx.isClient, - 'import.meta.server': ctx.isServer + 'import.meta.server': ctx.isServer, } if (ctx.userConfig.aggressiveCodeRemoval) { @@ -243,5 +243,5 @@ function getEnv (ctx: WebpackConfigContext) { const statsMap: Record<NuxtOptions['logLevel'], Configuration['stats']> = { silent: 'none', info: 'normal', - verbose: 'verbose' + verbose: 'verbose', } diff --git a/packages/webpack/src/presets/esbuild.ts b/packages/webpack/src/presets/esbuild.ts index 3df1476d16..e85926462b 100644 --- a/packages/webpack/src/presets/esbuild.ts +++ b/packages/webpack/src/presets/esbuild.ts @@ -22,13 +22,13 @@ export function esbuild (ctx: WebpackConfigContext) { return !ctx.transpile.some(module => module.test(file)) }, resolve: { - fullySpecified: false + fullySpecified: false, }, options: { target, ...ctx.nuxt.options.webpack.loaders.esbuild, - loader: 'ts' - } + loader: 'ts', + }, }, { test: /\.m?[jt]sx$/, @@ -36,8 +36,8 @@ export function esbuild (ctx: WebpackConfigContext) { options: { target, ...ctx.nuxt.options.webpack.loaders.esbuild, - loader: 'tsx' - } - } + loader: 'tsx', + }, + }, ) } diff --git a/packages/webpack/src/presets/node.ts b/packages/webpack/src/presets/node.ts index 36f53c37ac..a4629e7db0 100644 --- a/packages/webpack/src/presets/node.ts +++ b/packages/webpack/src/presets/node.ts @@ -19,17 +19,17 @@ export function node (ctx: WebpackConfigContext) { const: true, destructuring: true, dynamicImport: true, - forOf: true + forOf: true, }, library: { - type: 'module' - } + type: 'module', + }, } ctx.config.performance = { ...ctx.config.performance, hints: false, - maxEntrypointSize: Infinity, - maxAssetSize: Infinity + maxEntrypointSize: Number.POSITIVE_INFINITY, + maxAssetSize: Number.POSITIVE_INFINITY, } } diff --git a/packages/webpack/src/presets/nuxt.ts b/packages/webpack/src/presets/nuxt.ts index 6b533fe2a9..5b95f07f59 100644 --- a/packages/webpack/src/presets/nuxt.ts +++ b/packages/webpack/src/presets/nuxt.ts @@ -15,6 +15,6 @@ export function nuxt (ctx: WebpackConfigContext) { esbuild, pug, style, - vue + vue, ]) } diff --git a/packages/webpack/src/presets/pug.ts b/packages/webpack/src/presets/pug.ts index c98a612297..e1634bb0de 100644 --- a/packages/webpack/src/presets/pug.ts +++ b/packages/webpack/src/presets/pug.ts @@ -8,18 +8,18 @@ export function pug (ctx: WebpackConfigContext) { resourceQuery: /^\?vue/i, use: [{ loader: 'pug-plain-loader', - options: ctx.userConfig.loaders.pugPlain - }] + options: ctx.userConfig.loaders.pugPlain, + }], }, { use: [ 'raw-loader', { loader: 'pug-plain-loader', - options: ctx.userConfig.loaders.pugPlain - } - ] - } - ] + options: ctx.userConfig.loaders.pugPlain, + }, + ], + }, + ], }) } diff --git a/packages/webpack/src/presets/style.ts b/packages/webpack/src/presets/style.ts index 4ef1f3bce0..5c0a14ab26 100644 --- a/packages/webpack/src/presets/style.ts +++ b/packages/webpack/src/presets/style.ts @@ -8,14 +8,14 @@ export function style (ctx: WebpackConfigContext) { applyPresets(ctx, [ loaders, extractCSS, - minimizer + minimizer, ]) } function minimizer (ctx: WebpackConfigContext) { if (ctx.userConfig.optimizeCSS && Array.isArray(ctx.config.optimization!.minimizer)) { ctx.config.optimization!.minimizer.push(new CssMinimizerPlugin({ - ...ctx.userConfig.optimizeCSS + ...ctx.userConfig.optimizeCSS, })) } } @@ -26,7 +26,7 @@ function extractCSS (ctx: WebpackConfigContext) { ctx.config.plugins!.push(new MiniCssExtractPlugin({ filename: fileName(ctx, 'css'), chunkFilename: fileName(ctx, 'css'), - ...ctx.userConfig.extractCSS === true ? {} : ctx.userConfig.extractCSS + ...ctx.userConfig.extractCSS === true ? {} : ctx.userConfig.extractCSS, })) } } @@ -57,7 +57,7 @@ function loaders (ctx: WebpackConfigContext) { function createdStyleRule (lang: string, test: RegExp, processorLoader: any, ctx: WebpackConfigContext) { const styleLoaders = [ createPostcssLoadersRule(ctx), - processorLoader + processorLoader, ].filter(Boolean) ctx.userConfig.loaders.css.importLoaders = @@ -73,13 +73,13 @@ function createdStyleRule (lang: string, test: RegExp, processorLoader: any, ctx // This matches <style module> { resourceQuery: /module/, - use: cssModuleLoaders.concat(styleLoaders) + use: cssModuleLoaders.concat(styleLoaders), }, // This matches plain <style> or <style scoped> { - use: cssLoaders.concat(styleLoaders) - } - ] + use: cssLoaders.concat(styleLoaders), + }, + ], } } @@ -97,9 +97,9 @@ function createCssLoadersRule (ctx: WebpackConfigContext, cssLoaderOptions: any) return [ { - loader: MiniCssExtractPlugin.loader + loader: MiniCssExtractPlugin.loader, }, - cssLoader + cssLoader, ] } @@ -109,7 +109,7 @@ function createCssLoadersRule (ctx: WebpackConfigContext, cssLoaderOptions: any) // loader: 'vue-style-loader', // options: options.webpack.loaders.vueStyle // }, - cssLoader + cssLoader, ] } @@ -124,6 +124,6 @@ function createPostcssLoadersRule (ctx: WebpackConfigContext) { return { loader: 'postcss-loader', - options: config + options: config, } } diff --git a/packages/webpack/src/presets/vue.ts b/packages/webpack/src/presets/vue.ts index f3597aaf2f..16acd3ca07 100644 --- a/packages/webpack/src/presets/vue.ts +++ b/packages/webpack/src/presets/vue.ts @@ -12,17 +12,17 @@ export function vue (ctx: WebpackConfigContext) { ctx.config.module!.rules!.push({ test: /\.vue$/i, loader: 'vue-loader', - options: ctx.userConfig.loaders.vue + options: ctx.userConfig.loaders.vue, }) if (ctx.isClient) { ctx.config.plugins!.push(new VueSSRClientPlugin({ filename: resolve(ctx.options.buildDir, 'dist/server', `${ctx.name}.manifest.json`), - nuxt: ctx.nuxt + nuxt: ctx.nuxt, })) } else { ctx.config.plugins!.push(new VueSSRServerPlugin({ - filename: `${ctx.name}.manifest.json` + filename: `${ctx.name}.manifest.json`, })) } @@ -31,6 +31,6 @@ export function vue (ctx: WebpackConfigContext) { // TODO: Provide options to toggle ctx.config.plugins!.push(new webpack.DefinePlugin({ __VUE_OPTIONS_API__: 'true', - __VUE_PROD_DEVTOOLS__: 'false' + __VUE_PROD_DEVTOOLS__: 'false', })) } diff --git a/packages/webpack/src/utils/config.ts b/packages/webpack/src/utils/config.ts index 890e733ad4..13c9f8e82e 100644 --- a/packages/webpack/src/utils/config.ts +++ b/packages/webpack/src/utils/config.ts @@ -33,7 +33,7 @@ export function createWebpackConfigContext (nuxt: Nuxt): WebpackConfigContext { isClient: false, alias: {}, - transpile: [] + transpile: [], } } diff --git a/packages/webpack/src/utils/postcss.ts b/packages/webpack/src/utils/postcss.ts index 4ed1ffb470..da73650726 100644 --- a/packages/webpack/src/utils/postcss.ts +++ b/packages/webpack/src/utils/postcss.ts @@ -23,7 +23,7 @@ const orderPresets = { }, autoprefixerAndCssnanoLast (names: string[]) { return orderPresets.cssnanoLast(orderPresets.autoprefixerLast(names)) - } + }, } export const getPostcssConfig = (nuxt: Nuxt) => { @@ -47,18 +47,18 @@ export const getPostcssConfig = (nuxt: Nuxt) => { 'postcss-import': { resolve: createResolver({ alias: { ...nuxt.options.alias }, - modules: nuxt.options.modulesDir - }) + modules: nuxt.options.modulesDir, + }), }, /** * https://github.com/postcss/postcss-url */ - 'postcss-url': {} + 'postcss-url': {}, }, sourceMap: nuxt.options.webpack.cssSourceMap, // Array, String or Function - order: 'autoprefixerAndCssnanoLast' + order: 'autoprefixerAndCssnanoLast', }) // Keep the order of default plugins @@ -76,6 +76,6 @@ export const getPostcssConfig = (nuxt: Nuxt) => { return { sourceMap: nuxt.options.webpack.cssSourceMap, ...nuxt.options.webpack.postcss, - postcssOptions + postcssOptions, } } diff --git a/packages/webpack/src/webpack.ts b/packages/webpack/src/webpack.ts index e731d37ba3..2328a4104a 100644 --- a/packages/webpack/src/webpack.ts +++ b/packages/webpack/src/webpack.ts @@ -39,7 +39,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { for (const config of webpackConfigs) { config.plugins!.push(DynamicBasePlugin.webpack({ - sourcemap: !!nuxt.options.sourcemap[config.name as 'client' | 'server'] + 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) { @@ -48,7 +48,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { config.plugins!.push(composableKeysPlugin.webpack({ sourcemap: !!nuxt.options.sourcemap[config.name as 'client' | 'server'], rootDir: nuxt.options.rootDir, - composables: nuxt.options.optimization.keyedComposables + composables: nuxt.options.optimization.keyedComposables, })) } @@ -94,7 +94,7 @@ async function createDevMiddleware (compiler: Compiler) { publicPath: joinURL(nuxt.options.app.baseURL, nuxt.options.app.buildAssetsDir), outputFileSystem: compiler.outputFileSystem as any, stats: 'none', - ...nuxt.options.webpack.devMiddleware + ...nuxt.options.webpack.devMiddleware, }) // @ts-expect-error need better types for `pify` @@ -105,7 +105,7 @@ async function createDevMiddleware (compiler: Compiler) { log: false, heartbeat: 10000, path: joinURL(nuxt.options.app.baseURL, '__webpack_hmr', compiler.options.name!), - ...hotMiddlewareOptions + ...hotMiddlewareOptions, }) // Register devMiddleware on server diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index a4da3d7459..9e36a9d496 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -1,3 +1,3 @@ export default defineNuxtConfig({ - devtools: { enabled: true } + devtools: { enabled: true }, }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e8b2b31ea..d78be56f00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,15 +19,12 @@ importers: .: devDependencies: - '@eslint/eslintrc': - specifier: 3.0.2 - version: 3.0.2 '@eslint/js': specifier: 8.57.0 version: 8.57.0 '@nuxt/eslint-config': - specifier: 0.2.0 - version: 0.2.0(eslint@8.57.0) + specifier: 0.3.0 + version: 0.3.0(eslint@8.57.0)(typescript@5.4.3) '@nuxt/kit': specifier: workspace:* version: link:packages/kit @@ -40,6 +37,9 @@ importers: '@testing-library/vue': specifier: 8.0.3 version: 8.0.3(vue@3.4.21) + '@types/eslint__js': + specifier: ^8.42.3 + version: 8.42.3 '@types/fs-extra': specifier: 11.0.4 version: 11.0.4 @@ -70,21 +70,15 @@ importers: eslint: specifier: 8.57.0 version: 8.57.0 - eslint-config-standard: - specifier: 17.1.0 - version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0) - eslint-plugin-import: - specifier: 2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0) - eslint-plugin-jsdoc: - specifier: 48.2.2 - version: 48.2.2(eslint@8.57.0) eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 - eslint-plugin-unicorn: - specifier: 52.0.0 - version: 52.0.0(eslint@8.57.0) + eslint-plugin-perfectionist: + specifier: ^2.8.0 + version: 2.8.0(eslint@8.57.0)(typescript@5.4.3) + eslint-typegen: + specifier: ^0.2.0 + version: 0.2.0 execa: specifier: 8.0.1 version: 8.0.1 @@ -946,6 +940,15 @@ packages: resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} dev: false + /@apidevtools/json-schema-ref-parser@11.5.4: + resolution: {integrity: sha512-o2fsypTGU0WxRxbax8zQoHiIB4dyrkwYfcm8TxZ+bx9pCzcWZbQtiMqpgBvWA/nJ2TrGjK5adCLfTH8wUeU/Wg==} + engines: {node: '>= 16'} + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + dev: true + /@babel/code-frame@7.24.2: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} @@ -1925,23 +1928,6 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/eslintrc@3.0.2: - resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 10.0.1 - globals: 14.0.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/js@8.57.0: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2066,6 +2052,10 @@ packages: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + /@jsdevtools/ono@7.1.3: + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + dev: true + /@kwsites/file-exists@1.1.1: resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} dependencies: @@ -2304,19 +2294,44 @@ packages: - vue dev: false - /@nuxt/eslint-config@0.2.0(eslint@8.57.0): - resolution: {integrity: sha512-NeJX8TLcnNAjQFiDs3XhP+9CHKK8jaKsP7eUyCSrQdgY7nqWe7VJx64lwzx5FTT4cW3RHMEyH+Y0qzLGYYoa/A==} + /@nuxt/eslint-config@0.3.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-9E06BZBmJlTDw5BlI04q0gMylucleEM2gkdCgAqbQQTgICVUzF+BhK+WHtnYwNs4OjhTARcnh6fZc94eO6ND/w==} peerDependencies: - eslint: ^8.48.0 + eslint: ^8.57.0 dependencies: - '@rushstack/eslint-patch': 1.5.1 - '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) + '@eslint/js': 8.57.0 + '@nuxt/eslint-plugin': 0.3.0(eslint@8.57.0)(typescript@5.4.3) + '@rushstack/eslint-patch': 1.10.1 + '@stylistic/eslint-plugin': 1.7.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 - eslint-plugin-vue: 9.17.0(eslint@8.57.0) - typescript: 5.4.4 + eslint-config-flat-gitignore: 0.1.5 + eslint-flat-config-utils: 0.2.0 + eslint-plugin-import-x: 0.5.0(eslint@8.57.0)(typescript@5.4.3) + eslint-plugin-jsdoc: 48.2.3(eslint@8.57.0) + eslint-plugin-unicorn: 52.0.0(eslint@8.57.0) + eslint-plugin-vue: 9.24.0(eslint@8.57.0) + globals: 15.0.0 + pathe: 1.1.2 + tslib: 2.6.2 + vue-eslint-parser: 9.4.2(eslint@8.57.0) transitivePeerDependencies: - supports-color + - typescript + dev: true + + /@nuxt/eslint-plugin@0.3.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-nooV36RIIhApEb2BgZ38vlhT3jL4dgADJnjEf9sEuGQawjTEokbhUUdoa508+z11obRU1g3PRmllTHKwilDYYg==} + peerDependencies: + eslint: ^8.57.0 + dependencies: + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript dev: true /@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.91.0): @@ -2840,8 +2855,8 @@ packages: requiresBuild: true optional: true - /@rushstack/eslint-patch@1.5.1: - resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==} + /@rushstack/eslint-patch@1.10.1: + resolution: {integrity: sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg==} dev: true /@shikijs/core@1.1.2: @@ -2946,6 +2961,78 @@ packages: resolution: {integrity: sha512-UTce8mUwUW0RikMb/eseJ7ys0BRkZVFB86orHzrfW12ZmFtym5zua8joZ4L7okH2dDFHkcFjqnZ5GocWBXOFtA==} engines: {node: '>=18'} + /@stylistic/eslint-plugin-js@1.7.0(eslint@8.57.0): + resolution: {integrity: sha512-PN6On/+or63FGnhhMKSQfYcWutRlzOiYlVdLM6yN7lquoBTqUJHYnl4TA4MHwiAt46X5gRxDr1+xPZ1lOLcL+Q==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@types/eslint': 8.56.6 + acorn: 8.11.3 + escape-string-regexp: 4.0.0 + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + dev: true + + /@stylistic/eslint-plugin-jsx@1.7.0(eslint@8.57.0): + resolution: {integrity: sha512-BACdBwXakQvjYIST5N2WWhRbvhRsIxa/F59BiZol+0IH4FSmDXhie7v/yaxDIIA9CbfElzOmIA5nWNYTVXcnwQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) + '@types/eslint': 8.56.6 + eslint: 8.57.0 + estraverse: 5.3.0 + picomatch: 4.0.1 + dev: true + + /@stylistic/eslint-plugin-plus@1.7.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} + peerDependencies: + eslint: '*' + dependencies: + '@types/eslint': 8.56.6 + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin-ts@1.7.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) + '@types/eslint': 8.56.6 + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin@1.7.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) + '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@8.57.0) + '@stylistic/eslint-plugin-plus': 1.7.0(eslint@8.57.0)(typescript@5.4.3) + '@stylistic/eslint-plugin-ts': 1.7.0(eslint@8.57.0)(typescript@5.4.3) + '@types/eslint': 8.56.6 + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -3031,6 +3118,19 @@ packages: '@types/estree': 1.0.5 '@types/json-schema': 7.0.14 + /@types/eslint@8.56.6: + resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.14 + dev: true + + /@types/eslint__js@8.42.3: + resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} + dependencies: + '@types/eslint': 8.44.5 + dev: true + /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -3080,8 +3180,8 @@ packages: /@types/json-schema@7.0.14: resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/jsonfile@6.1.2: @@ -3237,112 +3337,104 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.57.0)(typescript@5.4.4): - resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/scope-manager': 7.5.0 + '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.4) - typescript: 5.4.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@6.8.0(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.3) - '@typescript-eslint/visitor-keys': 6.8.0 - debug: 4.3.4 - eslint: 8.57.0 - typescript: 5.4.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@6.8.0: - resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 - dev: true - - /@typescript-eslint/type-utils@6.8.0(eslint@8.57.0)(typescript@5.4.4): - resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.4) - '@typescript-eslint/utils': 6.8.0(eslint@8.57.0)(typescript@5.4.4) - debug: 4.3.4 - eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.4.4) - typescript: 5.4.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/types@6.8.0: - resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.4.3): - resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.6.0 ts-api-utils: 1.0.3(typescript@5.4.3) typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.4.4): - resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + /@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.5.0 + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.5.0 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + dev: true + + /@typescript-eslint/scope-manager@7.5.0: + resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/visitor-keys': 7.5.0 + dev: true + + /@typescript-eslint/type-utils@7.5.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/types@7.5.0: + resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==} + engines: {node: ^18.18.0 || >=20.0.0} + dev: true + + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -3350,20 +3442,43 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.57.0)(typescript@5.4.4): - resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} + /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.3): + resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/visitor-keys': 7.5.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3371,9 +3486,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.4) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -3381,11 +3496,38 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.8.0: - resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==} + /@typescript-eslint/utils@7.5.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.14 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.5.0 + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@7.5.0: + resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.5.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4511,66 +4653,11 @@ packages: is-array-buffer: 3.0.2 dev: true - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - dev: true - /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: true - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.4 - dev: true - - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 - dev: true - - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 - dev: true - - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 - dev: true - /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: false @@ -4741,6 +4828,7 @@ packages: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.6.0 + dev: false /bundle-name@3.0.0: resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} @@ -5601,13 +5689,6 @@ packages: path-type: 4.0.0 dev: true - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -5763,51 +5844,6 @@ packages: stackframe: 1.3.4 dev: false - /es-abstract@1.22.2: - resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.6 - call-bind: 1.0.7 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has: 1.0.4 - has-property-descriptors: 1.0.2 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.12 - is-weakref: 1.0.2 - object-inspect: 1.13.0 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.14 - dev: true - /es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -5835,30 +5871,6 @@ packages: /es-module-lexer@1.3.1: resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.4 - has: 1.0.4 - has-tostringtag: 1.0.2 - dev: true - - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.4 - dev: true - - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - /esbuild-loader@4.1.0(webpack@5.91.0): resolution: {integrity: sha512-543TtIvqbqouEMlOHg4xKoDQkmdImlwIpyAIgpUtDPvMuklU/c2k+Qt2O3VeDBgAwozxmlEbjOzV+F8CZ0g+Bw==} peerDependencies: @@ -5980,28 +5992,18 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - /eslint-compat-utils@0.1.2(eslint@8.57.0): - resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0' + /eslint-config-flat-gitignore@0.1.5: + resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} dependencies: - eslint: 8.57.0 + find-up: 7.0.0 + parse-gitignore: 2.0.0 dev: true - /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0): - resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - eslint: ^8.0.1 - eslint-plugin-import: ^2.25.2 - eslint-plugin-n: '^15.0.0 || ^16.0.0 ' - eslint-plugin-promise: ^6.0.0 + /eslint-flat-config-utils@0.2.0: + resolution: {integrity: sha512-8jLkFKKBAzWPBEjygdH/P9Y/c+K9AcuMAig9u/4/x7mtsDRHj8EdgEJHX1IEvOTAbZiWXEUoZqiKZUIx/1FWKg==} dependencies: - eslint: 8.57.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0) - eslint-plugin-n: 16.6.2(eslint@8.57.0) - eslint-plugin-promise: 6.1.1(eslint@8.57.0) + '@types/eslint': 8.56.6 + pathe: 1.1.2 dev: true /eslint-import-resolver-node@0.3.9: @@ -6014,84 +6016,28 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} + /eslint-plugin-import-x@0.5.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==} + engines: {node: '>=16'} peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + eslint: ^8.56.0 || ^9.0.0-0 dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) - debug: 3.2.7 + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + debug: 4.3.4 + doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-plugin-es-x@7.5.0(eslint@8.57.0): - resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '>=8' - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.9.1 - eslint: 8.57.0 - eslint-compat-utils: 0.1.2(eslint@8.57.0) - dev: true - - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.8.0)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.57.0)(typescript@5.4.3) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) - hasown: 2.0.0 - is-core-module: 2.13.1 + get-tsconfig: 4.7.3 is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.15.0 + minimatch: 9.0.3 + semver: 7.6.0 transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - supports-color + - typescript dev: true - /eslint-plugin-jsdoc@48.2.2(eslint@8.57.0): - resolution: {integrity: sha512-S0Gk+rpT5w/ephKCncUY7kUsix9uE4B9XI8D/fS1/26d8okE+vZsuG1IvIt4B6sJUdQqsnzi+YXfmh+HJG11CA==} + /eslint-plugin-jsdoc@48.2.3(eslint@8.57.0): + resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -6110,38 +6056,36 @@ packages: - supports-color dev: true - /eslint-plugin-n@16.6.2(eslint@8.57.0): - resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - eslint: '>=7.0.0' - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - builtins: 5.0.1 - eslint: 8.57.0 - eslint-plugin-es-x: 7.5.0(eslint@8.57.0) - get-tsconfig: 4.7.2 - globals: 13.24.0 - ignore: 5.3.1 - is-builtin-module: 3.2.1 - is-core-module: 2.13.1 - minimatch: 3.1.2 - resolve: 1.22.8 - semver: 7.6.0 - dev: true - /eslint-plugin-no-only-tests@3.1.0: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-promise@6.1.1(eslint@8.57.0): - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /eslint-plugin-perfectionist@2.8.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-XBjQ4ctU1rOzQ4bFJoUowe8XdsIIz42JqNrouFlae1TO78HjoyYBaRP8+gAHDDQCSdHY10pbChyzlJeBA6D51w==} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + astro-eslint-parser: ^0.16.0 + eslint: '>=8.0.0' + svelte: '>=3.0.0' + svelte-eslint-parser: ^0.33.0 + vue-eslint-parser: '>=9.0.0' + peerDependenciesMeta: + astro-eslint-parser: + optional: true + svelte: + optional: true + svelte-eslint-parser: + optional: true + vue-eslint-parser: + optional: true dependencies: + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 + minimatch: 9.0.3 + natural-compare-lite: 1.4.0 + transitivePeerDependencies: + - supports-color + - typescript dev: true /eslint-plugin-unicorn@52.0.0(eslint@8.57.0): @@ -6171,14 +6115,15 @@ packages: - supports-color dev: true - /eslint-plugin-vue@9.17.0(eslint@8.57.0): - resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} + /eslint-plugin-vue@9.24.0(eslint@8.57.0): + resolution: {integrity: sha512-9SkJMvF8NGMT9aQCwFc5rj8Wo1XWSMSHk36i7ZwdI614BU7sIOR28ZjuFPKp8YGymZN12BSEbiSwa7qikp+PBw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) eslint: 8.57.0 + globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 @@ -6203,15 +6148,18 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 + /eslint-typegen@0.2.0: + resolution: {integrity: sha512-zaAQemIb3RfMjxCMv+sgoXAAhrMZDlx8rZ35zaIUS7ebZHvj1QjjspQnHnZ8UA/7U00u9tI+Lv1pjX1A73HHPQ==} + dependencies: + '@types/eslint': 8.56.6 + json-schema-to-typescript-lite: 14.0.0 + ohash: 1.1.3 + dev: true + /eslint-visitor-keys@3.4.3: 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==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true - /eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6258,15 +6206,6 @@ packages: transitivePeerDependencies: - supports-color - /espree@10.0.1: - resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 4.0.0 - dev: true - /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6458,6 +6397,15 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 + /find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + dev: true + /flat-cache@3.1.1: resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} engines: {node: '>=12.0.0'} @@ -6590,16 +6538,6 @@ packages: /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - functions-have-names: 1.2.3 - dev: true - /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true @@ -6670,19 +6608,17 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - dev: true - /get-tsconfig@4.7.2: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 + /get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + /giget@1.2.1: resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} hasBin: true @@ -6778,18 +6714,11 @@ packages: dependencies: type-fest: 0.20.2 - /globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + /globals@15.0.0: + resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} engines: {node: '>=18'} dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.1 - dev: true - /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -7356,11 +7285,6 @@ packages: /is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true - /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} @@ -7459,12 +7383,6 @@ packages: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: true - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.7 - dev: true - /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: @@ -7640,6 +7558,14 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false + /json-schema-to-typescript-lite@14.0.0: + resolution: {integrity: sha512-On0b6UdEgdotLzWk37yNId2wK77P7UfxuCWDEgduoz1VLR4rPbDcQGW6zlHVgL62Bq7gERq0JMmUyAjJigxYHg==} + engines: {node: '>=20.0.0'} + dependencies: + '@apidevtools/json-schema-ref-parser': 11.5.4 + '@types/json-schema': 7.0.15 + dev: true + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -7654,6 +7580,7 @@ packages: hasBin: true dependencies: minimist: 1.2.8 + dev: false /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} @@ -7808,6 +7735,13 @@ packages: dependencies: p-locate: 5.0.0 + /locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-locate: 6.0.0 + dev: true + /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} @@ -8658,6 +8592,10 @@ packages: engines: {node: ^14 || ^16 || >=18} hasBin: true + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -9040,33 +8978,6 @@ packages: object-keys: 1.1.1 dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - dev: true - - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.4 - dev: true - - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - dev: true - /ofetch@1.3.4: resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} dependencies: @@ -9168,6 +9079,13 @@ packages: dependencies: yocto-queue: 0.1.0 + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-limit@5.0.0: resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} engines: {node: '>=18'} @@ -9188,6 +9106,13 @@ packages: dependencies: p-limit: 3.1.0 + /p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-limit: 4.0.0 + dev: true + /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -9254,6 +9179,11 @@ packages: git-config-path: 2.0.0 ini: 1.3.8 + /parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + dev: true + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -9290,6 +9220,11 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + /path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -9337,6 +9272,11 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /picomatch@4.0.1: + resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + engines: {node: '>=12'} + dev: true + /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -10371,30 +10311,12 @@ packages: dependencies: queue-microtask: 1.2.3 - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true - /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-regex: 1.1.4 - dev: true - /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} requiresBuild: true @@ -10767,31 +10689,6 @@ packages: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - dev: true - - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - dev: true - - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.2 - dev: true - /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -10821,11 +10718,6 @@ packages: dependencies: ansi-regex: 6.0.1 - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -11063,24 +10955,6 @@ packages: typescript: 5.4.3 dev: true - /ts-api-utils@1.0.3(typescript@5.4.4): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.4.4 - dev: true - - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} @@ -11158,44 +11032,6 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-typed-array: 1.1.12 - dev: true - - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.6 - call-bind: 1.0.7 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - is-typed-array: 1.1.12 - dev: true - /typescript@5.4.3: resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} @@ -11217,15 +11053,6 @@ packages: resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} dev: false - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: true - /unbuild@2.0.0(typescript@5.4.4): resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} hasBin: true diff --git a/scripts/_utils.ts b/scripts/_utils.ts index 3f0834a420..208e586b28 100644 --- a/scripts/_utils.ts +++ b/scripts/_utils.ts @@ -7,8 +7,8 @@ import { execaSync } from 'execa' import { determineSemverChange, getGitDiff, loadChangelogConfig, parseCommits } from 'changelogen' export interface Dep { - name: string, - range: string, + name: string + range: string type: string } @@ -37,7 +37,7 @@ export async function loadPackage (dir: string) { dir, data, save, - updateDeps + updateDeps, } } @@ -95,7 +95,7 @@ export async function loadWorkspace (dir: string) { save, find, rename, - setVersion + setVersion, } } @@ -122,12 +122,12 @@ export async function getContributors () { const rawCommits = await getGitDiff(latestTag) for (const commit of rawCommits) { if (emails.has(commit.author.email) || commit.author.name === 'renovate[bot]') { continue } - const { author } = await $fetch<{ author: { login: string, email: string }}>(`https://api.github.com/repos/nuxt/nuxt/commits/${commit.shortHash}`, { + const { author } = await $fetch<{ author: { login: string, email: string } }>(`https://api.github.com/repos/nuxt/nuxt/commits/${commit.shortHash}`, { headers: { 'User-Agent': 'nuxt/nuxt', - Accept: 'application/vnd.github.v3+json', - Authorization: `token ${process.env.GITHUB_TOKEN}` - } + 'Accept': 'application/vnd.github.v3+json', + 'Authorization': `token ${process.env.GITHUB_TOKEN}`, + }, }) if (!contributors.some(c => c.username === author.login)) { contributors.push({ name: commit.author.name, username: author.login }) diff --git a/scripts/bump-edge.ts b/scripts/bump-edge.ts index bc13cbcb07..1e2b51a6fb 100644 --- a/scripts/bump-edge.ts +++ b/scripts/bump-edge.ts @@ -6,7 +6,7 @@ import { determineBumpType, loadWorkspace } from './_utils' const nightlyPackages = { nitropack: 'nitropack-nightly', h3: 'h3-nightly', - nuxi: 'nuxi-nightly' + nuxi: 'nuxi-nightly', } async function main () { @@ -20,7 +20,7 @@ async function main () { for (const pkg of workspace.packages.filter(p => !p.data.private)) { const newVersion = inc(pkg.data.version, bumpType || 'patch') workspace.setVersion(pkg.data.name, `${newVersion}-${date}.${commit}`, { - updateDeps: true + updateDeps: true, }) for (const [name, nightlyName] of Object.entries(nightlyPackages)) { if (pkg.data.dependencies && name in pkg.data.dependencies) { diff --git a/scripts/update-changelog.ts b/scripts/update-changelog.ts index f544a966cc..39f15adfeb 100644 --- a/scripts/update-changelog.ts +++ b/scripts/update-changelog.ts @@ -11,7 +11,7 @@ async function main () { const config = await loadChangelogConfig(process.cwd(), {}) const commits = await getLatestCommits().then(commits => commits.filter( - c => config.types[c.type] && !(c.type === 'chore' && c.scope === 'deps' && !c.isBreaking) + c => config.types[c.type] && !(c.type === 'chore' && c.scope === 'deps' && !c.isBreaking), )) const bumpType = await determineBumpType() @@ -46,7 +46,7 @@ async function main () { .replace(`...${releaseBranch}`, `...v${newVersion}`) .replace(/### ❤️ Contributors[\s\S]*$/, ''), '### ❤️ Contributors', - contributors.map(c => `- ${c.name} (@${c.username})`).join('\n') + contributors.map(c => `- ${c.name} (@${c.username})`).join('\n'), ].join('\n') // Create a PR with release notes if none exists @@ -54,15 +54,15 @@ async function main () { return await $fetch('https://api.github.com/repos/nuxt/nuxt/pulls', { method: 'POST', headers: { - Authorization: `token ${process.env.GITHUB_TOKEN}` + Authorization: `token ${process.env.GITHUB_TOKEN}`, }, body: { title: `v${newVersion}`, head: `v${newVersion}`, base: releaseBranch, body: releaseNotes, - draft: true - } + draft: true, + }, }) } @@ -70,11 +70,11 @@ async function main () { await $fetch(`https://api.github.com/repos/nuxt/nuxt/pulls/${currentPR.number}`, { method: 'PATCH', headers: { - Authorization: `token ${process.env.GITHUB_TOKEN}` + Authorization: `token ${process.env.GITHUB_TOKEN}`, }, body: { - body: releaseNotes - } + body: releaseNotes, + }, }) } diff --git a/test/basic.test.ts b/test/basic.test.ts index 86aff1bb37..8a85eec6de 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -23,8 +23,8 @@ await setup({ nuxtConfig: { builder: isWebpack ? 'webpack' : 'vite', buildDir: process.env.NITRO_BUILD_DIR, - nitro: { output: { dir: process.env.NITRO_OUTPUT_DIR } } - } + nitro: { output: { dir: process.env.NITRO_OUTPUT_DIR } }, + }, }) describe('server api', () => { @@ -32,7 +32,7 @@ describe('server api', () => { expect(await $fetch('/api/hello')).toBe('Hello API') expect(await $fetch('/api/hey')).toEqual({ foo: 'bar', - baz: 'qux' + baz: 'qux', }) }) @@ -308,14 +308,14 @@ describe('pages', () => { '.string-stateful-should-be-hidden', '.client-script-should-be-hidden', '.string-stateful-script-should-be-hidden', - '.no-state-hidden' + '.no-state-hidden', ] const visibleSelectors = [ '.string-stateful', '.string-stateful-script', '.client-only-script', '.client-only-script-setup', - '.no-state' + '.no-state', ] // ensure directives are correctly applied @@ -429,7 +429,7 @@ describe('pages', () => { 'clientfallback-non-stateful', 'clientfallback-stateful-setup', 'clientfallback-stateful', - 'clientfallback-async-setup' + 'clientfallback-async-setup', ] const html = await $fetch('/client-fallback') // ensure failed components are not rendered server-side @@ -549,9 +549,9 @@ describe('nuxt composables', () => { 'browser-accessed-with-default-value': 'provided-by-browser', 'browser-set': 'provided-by-browser', 'browser-set-to-null': 'provided-by-browser', - 'browser-set-to-null-with-default': 'provided-by-browser' - }).map(([key, value]) => `${key}=${value}`).join('; ') - } + 'browser-set-to-null-with-default': 'provided-by-browser', + }).map(([key, value]) => `${key}=${value}`).join('; '), + }, }) const cookies = res.headers.get('set-cookie') expect(cookies).toMatchInlineSnapshot('"set-in-plugin=true; Path=/, set=set; Path=/, browser-set=set; Path=/, browser-set-to-null=; Max-Age=0; Path=/, browser-set-to-null-with-default=; Max-Age=0; Path=/, browser-object-default=%7B%22foo%22%3A%22bar%22%7D; Path=/"') @@ -646,7 +646,7 @@ describe('rich payloads', () => { 'BigInt ref:', 'Reactive: true', 'Ref: true', - 'Recursive objects: true' + 'Recursive objects: true', ]) { expect(html).toContain(test) } @@ -729,8 +729,8 @@ describe('nuxt links', () => { const page = await createPage('/big-page-1', { viewport: { width: 1000, - height: 1000 - } + height: 1000, + }, }) await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/big-page-1') @@ -753,8 +753,8 @@ describe('nuxt links', () => { const page = await createPage('/nested/foo/test', { viewport: { width: 1000, - height: 1000 - } + height: 1000, + }, }) await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nested/foo/test') @@ -922,8 +922,8 @@ describe('errors', () => { it('should render a JSON error page', async () => { const res = await fetch('/error', { headers: { - accept: 'application/json' - } + accept: 'application/json', + }, }) expect(res.status).toBe(422) expect(res.statusText).toBe('This is a custom error') @@ -933,7 +933,7 @@ describe('errors', () => { message: 'This is a custom error', statusCode: 422, statusMessage: 'This is a custom error', - url: '/error' + url: '/error', }) }) @@ -946,8 +946,8 @@ describe('errors', () => { it('should not allow accessing error route directly', async () => { const res = await fetch('/__nuxt_error', { headers: { - accept: 'application/json' - } + accept: 'application/json', + }, }) expect(res.status).toBe(404) const error = await res.json() @@ -966,8 +966,8 @@ describe('errors', () => { const res = await $fetch('/', { headers: { 'x-test-recurse-error': 'true', - accept: 'text/html' - } + 'accept': 'text/html', + }, }) expect(typeof res).toBe('string') expect(res).toContain('Hello Nuxt 3!') @@ -1024,7 +1024,7 @@ describe('composables', () => { const ids = serverHTML.match(/id="[^"]*"/g)?.map(id => id.replace(/id="([^"]*)"/, '$1')) as string[] const renderedForm = [ `<h2 id="${ids[0]}"> id: ${ids[0]}</h2><div><label for="${ids[1]}">Email</label><input id="${ids[1]}" name="email" type="email"><label for="${ids[2]}">Password</label><input id="${ids[2]}" name="password" type="password"></div>`, - `<div><label for="${ids[3]}">Email</label><input id="${ids[3]}" name="email" type="email"><label for="${ids[4]}">Password</label><input id="${ids[4]}" name="password" type="password"></div>` + `<div><label for="${ids[3]}">Email</label><input id="${ids[3]}" name="email" type="email"><label for="${ids[4]}">Password</label><input id="${ids[4]}" name="password" type="password"></div>`, ] const clientOnlyServer = '<span></span>' expect(serverHTML).toEqual(`<form>${renderedForm.join(clientOnlyServer)}</form>`) @@ -1054,8 +1054,8 @@ describe('middlewares', () => { it('should allow aborting navigation on server-side', async () => { const res = await fetch('/?abort', { headers: { - accept: 'application/json' - } + accept: 'application/json', + }, }) expect(res.status).toEqual(401) }) @@ -1323,11 +1323,11 @@ describe('nested suspense', () => { ['/suspense/sync-1/async-1/', '/suspense/sync-2/async-1/'], ['/suspense/sync-1/sync-1/', '/suspense/sync-2/async-1/'], ['/suspense/async-1/async-1/', '/suspense/async-2/async-1/'], - ['/suspense/async-1/sync-1/', '/suspense/async-2/async-1/'] + ['/suspense/async-1/sync-1/', '/suspense/async-2/async-1/'], ]).flatMap(([start, end]) => [ [start, end], [start, end + '?layout=custom'], - [start + '?layout=custom', end] + [start + '?layout=custom', end], ]) it.each(navigations)('should navigate from %s to %s with no white flash', async (start, nav) => { @@ -1363,7 +1363,7 @@ describe('nested suspense', () => { ...last.parentType === 'async' ? ['[async] running async data'] : [], // [navigation] from child `[${last.parentType}] [${last.childType}]`, - ...last.childType === 'async' ? [`[${last.parentType}] [${last.parentNum}] [async] [${last.childNum}] running async data`] : [] + ...last.childType === 'async' ? [`[${last.parentType}] [${last.parentNum}] [async] [${last.childNum}] running async data`] : [], ].sort()) await page.close() @@ -1371,7 +1371,7 @@ describe('nested suspense', () => { const outwardNavigations = [ ['/suspense/async-2/async-1/', '/suspense/async-1/'], - ['/suspense/async-2/sync-1/', '/suspense/async-1/'] + ['/suspense/async-2/sync-1/', '/suspense/async-1/'], ] it.each(outwardNavigations)('should navigate from %s to a parent %s with no white flash', async (start, nav) => { @@ -1403,7 +1403,7 @@ describe('nested suspense', () => { ...first.childType === 'async' ? [`[${first.parentType}] [${first.parentNum}] [async] [${first.childNum}] running async data`] : [], // [navigation] from parent `[${last.parentType}]`, - ...last.parentType === 'async' ? ['[async] running async data'] : [] + ...last.parentType === 'async' ? ['[async] running async data'] : [], ].sort()) await page.close() @@ -1411,7 +1411,7 @@ describe('nested suspense', () => { const inwardNavigations = [ ['/suspense/async-2/', '/suspense/async-1/async-1/'], - ['/suspense/async-2/', '/suspense/async-1/sync-1/'] + ['/suspense/async-2/', '/suspense/async-1/sync-1/'], ] it.each(inwardNavigations)('should navigate from %s to a child %s with no white flash', async (start, nav) => { @@ -1440,7 +1440,7 @@ describe('nested suspense', () => { ...last.parentType === 'async' ? ['[async] running async data'] : [], // [navigation] from child `[${last.parentType}] [${last.childType}]`, - ...last.childType === 'async' ? [`[${last.parentType}] [${last.parentNum}] [async] [${last.childNum}] running async data`] : [] + ...last.childType === 'async' ? [`[${last.parentType}] [${last.parentNum}] [async] [${last.childNum}] running async data`] : [], ].sort()) await page.close() @@ -1493,7 +1493,7 @@ describe('route provider', () => { describe('layout change not load page twice', () => { const cases = { '/with-layout': '/with-layout2', - '/internal-layout/with-layout': '/internal-layout/with-layout2' + '/internal-layout/with-layout': '/internal-layout/with-layout2', } it.each(Object.entries(cases))('should not cause run of page setup to repeat if layout changed', async (path1, path2) => { @@ -1556,7 +1556,7 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => { '{--scoped:"scoped"}', // <style lang=css> '{--shared-component:"shared-component"}', // styles in a chunk shared between pages '{--server-only-child:"server-only-child"}', // child of a server-only component - '{--server-only:"server-only"}' // server-only component not in client build + '{--server-only:"server-only"}', // server-only component not in client build // TODO: ideally both client/server components would have inlined css when used // '{--client-only:"client-only"}', // client-only component not in server build // TODO: currently functional component not associated with ssrContext (upstream bug or perf optimization?) @@ -1573,7 +1573,7 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => { it('should inline global css when accessing a page with `ssr: false` override via route rules', async () => { const globalCSS = [ '{--plugin:"plugin"}', // CSS imported ambiently in JS/TS - '{--global:"global";' // global css from nuxt.config + '{--global:"global";', // global css from nuxt.config ] const html = await $fetch('/route-rules/spa') for (const style of globalCSS) { @@ -1647,7 +1647,7 @@ describe('server components/islands', () => { await page.locator('.box').getByText('"number": 101,').waitFor() const requests = [ page.waitForResponse(response => response.url().includes('/__nuxt_island/LongAsyncComponent') && response.status() === 200), - page.waitForResponse(response => response.url().includes('/__nuxt_island/AsyncServerComponent') && response.status() === 200) + page.waitForResponse(response => response.url().includes('/__nuxt_island/AsyncServerComponent') && response.status() === 200), ] await page.locator('#update-server-components').click() await Promise.all(requests) @@ -1750,7 +1750,7 @@ describe('server components/islands', () => { expect(await readdir(join(publicDir, 'some', 'url', 'from', 'server-only', 'component')).catch(() => [])).toContain( isRenderingJson ? '_payload.json' - : '_payload.js' + : '_payload.js', ) }) }) @@ -1798,7 +1798,7 @@ describe.runIf(isDev() && (!isWindows || !isCI))('detecting invalid root nodes', () => consoleLogs .map(w => w.text).join('\n') .includes('does not have a single root node and will cause errors when navigating between routes'), - true + true, ) await page.close() @@ -1855,8 +1855,8 @@ describe.skipIf(isDev())('dynamic paths', () => { await startServer({ env: { NUXT_APP_BUILD_ASSETS_DIR: '/_other/', - NUXT_APP_BASE_URL: '/foo/' - } + NUXT_APP_BASE_URL: '/foo/', + }, }) const html = await $fetch('/foo/assets') @@ -1866,7 +1866,7 @@ describe.skipIf(isDev())('dynamic paths', () => { url.startsWith('/foo/_other/') || url === '/foo/public.svg' || // TODO: webpack does not yet support dynamic static paths - (isWebpack && url === '/public.svg') + (isWebpack && url === '/public.svg'), ).toBeTruthy() } @@ -1876,8 +1876,8 @@ describe.skipIf(isDev())('dynamic paths', () => { it('should allow setting relative baseURL', async () => { await startServer({ env: { - NUXT_APP_BASE_URL: './' - } + NUXT_APP_BASE_URL: './', + }, }) const html = await $fetch('/assets') @@ -1887,7 +1887,7 @@ describe.skipIf(isDev())('dynamic paths', () => { url.startsWith('./_nuxt/') || url === './public.svg' || // TODO: webpack does not yet support dynamic static paths - (isWebpack && url === '/public.svg') + (isWebpack && url === '/public.svg'), ).toBeTruthy() expect(url.startsWith('./_nuxt/_nuxt')).toBeFalsy() } @@ -1897,8 +1897,8 @@ describe.skipIf(isDev())('dynamic paths', () => { await startServer({ env: { NUXT_APP_BUILD_ASSETS_DIR: '/_other/', - NUXT_APP_BASE_URL: '/foo/' - } + NUXT_APP_BASE_URL: '/foo/', + }, }) const { headers } = await fetch('/foo/navigate-to/', { redirect: 'manual' }) @@ -1910,8 +1910,8 @@ describe.skipIf(isDev())('dynamic paths', () => { env: { NUXT_APP_BASE_URL: '/foo/', NUXT_APP_CDN_URL: 'https://example.com/', - NUXT_APP_BUILD_ASSETS_DIR: '/_cdn/' - } + NUXT_APP_BUILD_ASSETS_DIR: '/_cdn/', + }, }) const html = await $fetch('/foo/assets') @@ -1921,7 +1921,7 @@ describe.skipIf(isDev())('dynamic paths', () => { url.startsWith('https://example.com/_cdn/') || url === 'https://example.com/public.svg' || // TODO: webpack does not yet support dynamic static paths - (isWebpack && url === '/public.svg') + (isWebpack && url === '/public.svg'), ).toBeTruthy() } }) @@ -1938,11 +1938,11 @@ describe('app config', () => { const expectedAppConfig: Record<string, any> = { fromNuxtConfig: true, nested: { - val: 2 + val: 2, }, nuxt: {}, fromLayer: true, - userConfig: 123 + userConfig: 123, } if (isTestingAppManifest) { expectedAppConfig.nuxt.buildId = 'test' @@ -1982,8 +1982,8 @@ describe('component islands', () => { it('render async component', async () => { const result: NuxtIslandResponse = await $fetch(withQuery('/__nuxt_island/LongAsyncComponent.json', { props: JSON.stringify({ - count: 3 - }) + count: 3, + }), })) if (isDev()) { result.head.link = result.head.link.filter(l => !l.href.includes('@nuxt+ui-templates') && (l.href.startsWith('_nuxt/components/islands/') && l.href.includes('_nuxt/components/islands/LongAsyncComponent'))) @@ -2041,8 +2041,8 @@ describe('component islands', () => { it('render .server async component', async () => { const result: NuxtIslandResponse = await $fetch(withQuery('/__nuxt_island/AsyncServerComponent.json', { props: JSON.stringify({ - count: 2 - }) + count: 2, + }), })) if (isDev()) { result.head.link = result.head.link.filter(l => !l.href.includes('@nuxt+ui-templates') && (l.href.startsWith('_nuxt/components/islands/') && l.href.includes('_nuxt/components/islands/AsyncServerComponent'))) @@ -2109,8 +2109,8 @@ describe('component islands', () => { bool: false, number: 3487, str: 'something', - obj: { foo: 42, bar: false, me: 'hi' } - }) + obj: { foo: 42, bar: false, me: 'hi' }, + }), })) result.html = result.html.replace(/ data-island-uid="([^"]*)"/g, '') @@ -2192,7 +2192,7 @@ describe('component islands', () => { expect(await page.locator('.box').innerHTML()).toContain('"number": 101,') const islandRequests = [ page.waitForResponse(response => response.url().includes('/__nuxt_island/LongAsyncComponent') && response.status() === 200), - page.waitForResponse(response => response.url().includes('/__nuxt_island/AsyncServerComponent') && response.status() === 200) + page.waitForResponse(response => response.url().includes('/__nuxt_island/AsyncServerComponent') && response.status() === 200), ] await page.locator('#update-server-components').click() await Promise.all(islandRequests) @@ -2216,8 +2216,8 @@ describe('component islands', () => { it.skipIf(isDev())('should not render an error when having a baseURL', async () => { await startServer({ env: { - NUXT_APP_BASE_URL: '/foo/' - } + NUXT_APP_BASE_URL: '/foo/', + }, }) const result = await fetch('/foo/islands') @@ -2257,9 +2257,9 @@ describe.skipIf(isDev() || isWindows || !isRenderingJson)('payload rendering', ( expect(data.data).toMatchObject({ hey: { baz: 'qux', - foo: 'bar' + foo: 'bar', }, - rand_a: expect.arrayContaining([expect.anything()]) + rand_a: expect.arrayContaining([expect.anything()]), }) }) @@ -2449,7 +2449,7 @@ describe('keepalive', () => { 'keepalive-in-nuxtpage-2', 'keepalive-in-nuxtpage', 'not-keepalive', - 'keepalive-in-nuxtpage-2' + 'keepalive-in-nuxtpage-2', ] for (const slug of slugs) { @@ -2468,7 +2468,7 @@ describe('keepalive', () => { 'keepalive-in-nuxtpage: onDeactivated', 'not-keepalive: onMounted', 'keepalive-in-nuxtpage-2: onActivated', - 'not-keepalive: onUnmounted' + 'not-keepalive: onUnmounted', ]) await page.close() @@ -2509,9 +2509,9 @@ function normaliseIslandResult (result: NuxtIslandResponse) { style: result.head.style.map(s => ({ ...s, innerHTML: (s.innerHTML || '').replace(/data-v-[a-z0-9]+/, 'data-v-xxxxx').replace(/\.[a-zA-Z0-9]+\.svg/, '.svg'), - key: s.key.replace(/-[a-zA-Z0-9]+$/, '') - })) - } + key: s.key.replace(/-[a-zA-Z0-9]+$/, ''), + })), + }, } } diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 9a23fc6f83..ad73723338 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -11,7 +11,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM beforeAll(async () => { await Promise.all([ execaCommand(`pnpm nuxi build ${rootDir}`, { env: { EXTERNAL_VUE: 'false' } }), - execaCommand(`pnpm nuxi build ${rootDir}`, { env: { EXTERNAL_VUE: 'true' } }) + execaCommand(`pnpm nuxi build ${rootDir}`, { env: { EXTERNAL_VUE: 'true' } }), ]) }, 120 * 1000) @@ -72,7 +72,7 @@ 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('"529k"') + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"529k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.6k"') diff --git a/test/fixtures/basic-types/app.config.ts b/test/fixtures/basic-types/app.config.ts index 2bb6b31bd5..34dff0c5a7 100644 --- a/test/fixtures/basic-types/app.config.ts +++ b/test/fixtures/basic-types/app.config.ts @@ -1,6 +1,6 @@ export default defineAppConfig({ userConfig: 123, nested: { - val: 2 - } + val: 2, + }, }) diff --git a/test/fixtures/basic-types/components/WithTypes.vue b/test/fixtures/basic-types/components/WithTypes.vue index 0a91c03437..244c19d510 100644 --- a/test/fixtures/basic-types/components/WithTypes.vue +++ b/test/fixtures/basic-types/components/WithTypes.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> defineProps({ - aProp: Number + aProp: Number, }) defineSlots<{ fallback: { id: string } diff --git a/test/fixtures/basic-types/extends/bar/app.config.ts b/test/fixtures/basic-types/extends/bar/app.config.ts index 92e47a3736..e6007cc554 100644 --- a/test/fixtures/basic-types/extends/bar/app.config.ts +++ b/test/fixtures/basic-types/extends/bar/app.config.ts @@ -1,3 +1,3 @@ export default { - fromLayer: true + fromLayer: true, } diff --git a/test/fixtures/basic-types/extends/bar/pages/override.vue b/test/fixtures/basic-types/extends/bar/pages/override.vue index d104ece7bf..bc578faa90 100644 --- a/test/fixtures/basic-types/extends/bar/pages/override.vue +++ b/test/fixtures/basic-types/extends/bar/pages/override.vue @@ -1,7 +1,7 @@ <script setup> definePageMeta({ layout: 'override', - middleware: 'override' + middleware: 'override', }) </script> diff --git a/test/fixtures/basic-types/middleware/global.global.ts b/test/fixtures/basic-types/middleware/global.global.ts index efc4f51753..5e235c8db7 100644 --- a/test/fixtures/basic-types/middleware/global.global.ts +++ b/test/fixtures/basic-types/middleware/global.global.ts @@ -1,7 +1,7 @@ export default defineNuxtRouteMiddleware((to) => { if ('abort' in to.query) { return abortNavigation({ - statusCode: 401 + statusCode: 401, }) } }) diff --git a/test/fixtures/basic-types/modules/auto-registered/index.ts b/test/fixtures/basic-types/modules/auto-registered/index.ts index 60406e1126..85ea6b718c 100644 --- a/test/fixtures/basic-types/modules/auto-registered/index.ts +++ b/test/fixtures/basic-types/modules/auto-registered/index.ts @@ -2,14 +2,14 @@ import { addServerHandler, createResolver, defineNuxtModule } from 'nuxt/kit' export default defineNuxtModule({ meta: { - name: 'auto-registered-module' + name: 'auto-registered-module', }, setup () { const resolver = createResolver(import.meta.url) addServerHandler({ handler: resolver.resolve('./runtime/handler'), - route: '/auto-registered-module' + route: '/auto-registered-module', }) - } + }, }) diff --git a/test/fixtures/basic-types/modules/example.ts b/test/fixtures/basic-types/modules/example.ts index 94365f629f..40f744ff3e 100644 --- a/test/fixtures/basic-types/modules/example.ts +++ b/test/fixtures/basic-types/modules/example.ts @@ -3,11 +3,11 @@ import { addPlugin, createResolver, defineNuxtModule, useNuxt } from 'nuxt/kit' export default defineNuxtModule({ defaults: { enabled: true, - typeTest: (value: boolean) => typeof value === 'boolean' + typeTest: (value: boolean) => typeof value === 'boolean', }, meta: { name: 'my-module', - configKey: 'sampleModule' + configKey: 'sampleModule', }, setup () { const resolver = createResolver(import.meta.url) @@ -16,8 +16,8 @@ export default defineNuxtModule({ useNuxt().hook('app:resolve', (app) => { app.middleware.push({ name: 'unctx-test', - path: resolver.resolve('./runtime/middleware') + path: resolver.resolve('./runtime/middleware'), }) }) - } + }, }) diff --git a/test/fixtures/basic-types/modules/page-extend.ts b/test/fixtures/basic-types/modules/page-extend.ts index 1f794eeee6..72901e6595 100644 --- a/test/fixtures/basic-types/modules/page-extend.ts +++ b/test/fixtures/basic-types/modules/page-extend.ts @@ -2,7 +2,7 @@ import { createResolver, defineNuxtModule, useNuxt } from 'nuxt/kit' export default defineNuxtModule({ meta: { - name: 'page-extend' + name: 'page-extend', }, setup () { const nuxt = useNuxt() @@ -12,8 +12,8 @@ export default defineNuxtModule({ pages.push({ name: 'page-extend', path: '/page-extend', - file: resolver.resolve('./runtime/page.vue') + file: resolver.resolve('./runtime/page.vue'), }) }) - } + }, }) diff --git a/test/fixtures/basic-types/modules/runtime/page.vue b/test/fixtures/basic-types/modules/runtime/page.vue index 93d144af97..90b6b54785 100644 --- a/test/fixtures/basic-types/modules/runtime/page.vue +++ b/test/fixtures/basic-types/modules/runtime/page.vue @@ -4,7 +4,7 @@ import { setResponseHeader } from 'h3' definePageMeta({ - value: 'added in pages:extend' + value: 'added in pages:extend', }) if (import.meta.server) { diff --git a/test/fixtures/basic-types/modules/test/index.ts b/test/fixtures/basic-types/modules/test/index.ts index b3c385cda4..d604033fbb 100644 --- a/test/fixtures/basic-types/modules/test/index.ts +++ b/test/fixtures/basic-types/modules/test/index.ts @@ -2,6 +2,6 @@ import { defineNuxtModule } from 'nuxt/kit' export default defineNuxtModule({ meta: { - name: 'test' - } + name: 'test', + }, }) diff --git a/test/fixtures/basic-types/nuxt.config.ts b/test/fixtures/basic-types/nuxt.config.ts index e5b56da9ad..0a8ff268c7 100644 --- a/test/fixtures/basic-types/nuxt.config.ts +++ b/test/fixtures/basic-types/nuxt.config.ts @@ -3,16 +3,16 @@ import { addTypeTemplate } from 'nuxt/kit' export default defineNuxtConfig({ experimental: { typedPages: true, - appManifest: true + appManifest: true, }, future: { - typescriptBundlerResolution: process.env.MODULE_RESOLUTION === 'bundler' + typescriptBundlerResolution: process.env.MODULE_RESOLUTION === 'bundler', }, buildDir: process.env.NITRO_BUILD_DIR, builder: process.env.TEST_BUILDER as 'webpack' | 'vite' ?? 'vite', theme: './extends/bar', extends: [ - './extends/node_modules/foo' + './extends/node_modules/foo', ], runtimeConfig: { baseURL: '', @@ -21,25 +21,25 @@ export default defineNuxtConfig({ public: { ids: [1, 2, 3], needsFallback: undefined, - testConfig: 123 - } + testConfig: 123, + }, }, appConfig: { fromNuxtConfig: true, nested: { - val: 1 - } + val: 1, + }, }, routeRules: { '/param': { - redirect: '/param/1' - } + redirect: '/param/1', + }, }, modules: [ function () { addTypeTemplate({ filename: 'test.d.ts', - getContents: () => 'declare type Fromage = "cheese"' + getContents: () => 'declare type Fromage = "cheese"', }) }, './modules/test', @@ -50,17 +50,17 @@ export default defineNuxtConfig({ // @ts-expect-error module type defines val as boolean const b: string = val return !!b - } - } + }, + }, ], function (_options, nuxt) { nuxt.hook('pages:extend', (pages) => { pages.push({ name: 'internal-async-parent', - path: '/internal-async-parent' + path: '/internal-async-parent', }) }) - } + }, ], telemetry: false, // for testing telemetry types - it is auto-disabled in tests hooks: { @@ -71,15 +71,15 @@ export default defineNuxtConfig({ value: { $default: 'default', $schema: { - tsType: 'string | false' - } - } - } - } + tsType: 'string | false', + }, + }, + }, + }, }) }, 'prepare:types' ({ tsConfig }) { tsConfig.include = tsConfig.include!.filter(i => i !== '../../../../**/*') - } - } + }, + }, }) diff --git a/test/fixtures/basic-types/nuxt.schema.ts b/test/fixtures/basic-types/nuxt.schema.ts index 1928a89127..23ff77b8d7 100644 --- a/test/fixtures/basic-types/nuxt.schema.ts +++ b/test/fixtures/basic-types/nuxt.schema.ts @@ -4,6 +4,6 @@ export default defineNuxtSchema({ * This is an example app config defined in custom schema * @type {123 | 456} */ - userConfig: 123 - } + userConfig: 123, + }, }) diff --git a/test/fixtures/basic-types/pages/custom-name.vue b/test/fixtures/basic-types/pages/custom-name.vue index 5a233d30e2..f196c93c23 100644 --- a/test/fixtures/basic-types/pages/custom-name.vue +++ b/test/fixtures/basic-types/pages/custom-name.vue @@ -2,9 +2,9 @@ definePageMeta({ validate: () => true, middleware: [ - function () {} + function () {}, ], - name: 'some-custom-name' + name: 'some-custom-name', }) </script> diff --git a/test/fixtures/basic-types/plugins/injection.ts b/test/fixtures/basic-types/plugins/injection.ts index 70726e2ade..4310ebd998 100644 --- a/test/fixtures/basic-types/plugins/injection.ts +++ b/test/fixtures/basic-types/plugins/injection.ts @@ -1,7 +1,7 @@ export default defineNuxtPlugin(() => { return { provide: { - pluginInjection: () => '' - } + pluginInjection: () => '', + }, } }) diff --git a/test/fixtures/basic-types/server/api/hey/index.get.ts b/test/fixtures/basic-types/server/api/hey/index.get.ts index 7ae4e47bf9..e937164878 100644 --- a/test/fixtures/basic-types/server/api/hey/index.get.ts +++ b/test/fixtures/basic-types/server/api/hey/index.get.ts @@ -1,4 +1,4 @@ export default defineEventHandler(() => ({ foo: 'bar', - baz: 'qux' + baz: 'qux', })) diff --git a/test/fixtures/basic-types/server/api/hey/index.post.ts b/test/fixtures/basic-types/server/api/hey/index.post.ts index b09599aed3..f30bc979ac 100644 --- a/test/fixtures/basic-types/server/api/hey/index.post.ts +++ b/test/fixtures/basic-types/server/api/hey/index.post.ts @@ -1,3 +1,3 @@ export default defineEventHandler(() => ({ - method: 'post' as const + method: 'post' as const, })) diff --git a/test/fixtures/basic-types/server/api/union.ts b/test/fixtures/basic-types/server/api/union.ts index 9358a00ecc..3401498fc1 100644 --- a/test/fixtures/basic-types/server/api/union.ts +++ b/test/fixtures/basic-types/server/api/union.ts @@ -1,4 +1,4 @@ export default defineEventHandler(() => ({ type: 'a', - foo: 'bar' + foo: 'bar', }) as { type: 'a', foo: string } | { type: 'b', baz: string }) diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index e5dd13462d..0c450541b4 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -114,8 +114,8 @@ describe('middleware', () => { '/nonexistent': { appMiddleware: 'nonexistent' }, // @ts-expect-error ignore global middleware '/global': { appMiddleware: 'global' }, - '/named': { appMiddleware: 'named' } - } + '/named': { appMiddleware: 'named' }, + }, }) }) it('handles adding middleware', () => { @@ -139,11 +139,11 @@ describe('middleware', () => { if (0) { return createError({ statusCode: 404, - statusMessage: 'resource-type-not-found' + statusMessage: 'resource-type-not-found', }) } return true - } + }, }) }) }) @@ -257,10 +257,10 @@ describe('plugins', () => { it('dependsOn is strongly typed', () => { defineNuxtPlugin({ // @ts-expect-error invalid plugin name - dependsOn: ['something'] + dependsOn: ['something'], }) defineNuxtPlugin({ - dependsOn: ['nuxt:router'] + dependsOn: ['nuxt:router'], }) }) }) @@ -287,9 +287,9 @@ describe('runtimeConfig', () => { public: { // @ts-expect-error this should be a number testConfig: 'test', - ids: [1, 2] - } - } + ids: [1, 2], + }, + }, }) expectTypeOf(val.runtimeConfig!.public!.testConfig).toEqualTypeOf<undefined | RuntimeValue<number, 'You can override this value at runtime with NUXT_PUBLIC_TEST_CONFIG'>>() expectTypeOf(val.runtimeConfig!.privateConfig).toEqualTypeOf<undefined | RuntimeValue<string, 'You can override this value at runtime with NUXT_PRIVATE_CONFIG'>>() @@ -322,9 +322,9 @@ describe('head', () => { app: { head: { meta: [{ key: 'key', name: 'description', content: 'some description ' }], - titleTemplate: 'test %s' - } - } + titleTemplate: 'test %s', + }, + }, }) }) it('types useHead', () => { @@ -333,11 +333,11 @@ describe('head', () => { link: computed(() => []), meta: [ { key: 'key', name: 'description', content: 'some description ' }, - () => ({ key: 'key', name: 'description', content: 'some description ' }) + () => ({ key: 'key', name: 'description', content: 'some description ' }), ], titleTemplate: (titleChunk) => { return titleChunk ? `${titleChunk} - Site Title` : 'Site Title' - } + }, }) }) it('types head for defineNuxtComponent', () => { @@ -345,18 +345,18 @@ describe('head', () => { head (nuxtApp) { expectTypeOf(nuxtApp).not.toBeAny() return { - title: 'Site Title' + title: 'Site Title', } - } + }, }) defineNuxtComponent({ // @ts-expect-error wrong return type for head function head () { return { - test: true + test: true, } - } + }, }) }) }) @@ -434,7 +434,7 @@ describe('composables', () => { async transform (data) { await Promise.resolve() return data.foo - } + }, }) expectTypeOf(data).toEqualTypeOf<Ref<'bar' | null>>() }) @@ -478,10 +478,10 @@ describe('composables', () => { it('uses types compatible between useRequestHeaders and useFetch', () => { useFetch('/api/hey', { - headers: useRequestHeaders() + headers: useRequestHeaders(), }) useFetch('/api/hey', { - headers: useRequestHeaders(['test']) + headers: useRequestHeaders(['test']), }) const { test } = useRequestHeaders(['test']) expectTypeOf(test).toEqualTypeOf<string | undefined>() @@ -490,11 +490,11 @@ describe('composables', () => { it('allows passing reactive values in useFetch', () => { useFetch('/api/hey', { headers: { - key: ref('test') + key: ref('test'), }, query: { - param: computed(() => 'thing') - } + param: computed(() => 'thing'), + }, }) }) @@ -525,7 +525,7 @@ describe('app config', () => { } userConfig: 123 | 456 someThing?: { - value?: string | false, + value?: string | false } [key: string]: unknown } diff --git a/test/fixtures/basic/app.config.ts b/test/fixtures/basic/app.config.ts index 2bb6b31bd5..34dff0c5a7 100644 --- a/test/fixtures/basic/app.config.ts +++ b/test/fixtures/basic/app.config.ts @@ -1,6 +1,6 @@ export default defineAppConfig({ userConfig: 123, nested: { - val: 2 - } + val: 2, + }, }) diff --git a/test/fixtures/basic/components/BreaksServer.client.ts b/test/fixtures/basic/components/BreaksServer.client.ts index 2b70dae2c7..73596f1da0 100644 --- a/test/fixtures/basic/components/BreaksServer.client.ts +++ b/test/fixtures/basic/components/BreaksServer.client.ts @@ -2,5 +2,5 @@ window.test = true export default defineComponent({ - render: () => 'hi' + render: () => 'hi', }) diff --git a/test/fixtures/basic/components/ClientOnlyScript.client.vue b/test/fixtures/basic/components/ClientOnlyScript.client.vue index a0eba9bb74..7dad374d30 100644 --- a/test/fixtures/basic/components/ClientOnlyScript.client.vue +++ b/test/fixtures/basic/components/ClientOnlyScript.client.vue @@ -3,9 +3,9 @@ export default defineNuxtComponent({ name: 'ClientOnlyScript', props: { foo: { - type: String - } - } + type: String, + }, + }, }) </script> diff --git a/test/fixtures/basic/components/FunctionalComponent.ts b/test/fixtures/basic/components/FunctionalComponent.ts index ec660e5868..b8d04f2c30 100644 --- a/test/fixtures/basic/components/FunctionalComponent.ts +++ b/test/fixtures/basic/components/FunctionalComponent.ts @@ -1,5 +1,5 @@ import '~/assets/functional.css' export default defineComponent({ - render: () => 'hi' + render: () => 'hi', }) diff --git a/test/fixtures/basic/components/Nested/Counter.vue b/test/fixtures/basic/components/Nested/Counter.vue index a82a81a362..3eddff31a7 100644 --- a/test/fixtures/basic/components/Nested/Counter.vue +++ b/test/fixtures/basic/components/Nested/Counter.vue @@ -2,8 +2,8 @@ defineProps({ multiplier: { type: Number, - required: true - } + required: true, + }, }) </script> diff --git a/test/fixtures/basic/components/Tsx.tsx b/test/fixtures/basic/components/Tsx.tsx index f0fdb7c756..f505e22be4 100644 --- a/test/fixtures/basic/components/Tsx.tsx +++ b/test/fixtures/basic/components/Tsx.tsx @@ -1,9 +1,11 @@ export default defineComponent({ render () { - return <div> - TSX component - <custom-component>custom</custom-component> - <Counter multiplier={2} /> - </div> - } + return ( + <div> + TSX component + <custom-component>custom</custom-component> + <Counter multiplier={2} /> + </div> + ) + }, }) diff --git a/test/fixtures/basic/components/client/Binding.client.ts b/test/fixtures/basic/components/client/Binding.client.ts index afad54cb48..84412cc6d5 100644 --- a/test/fixtures/basic/components/client/Binding.client.ts +++ b/test/fixtures/basic/components/client/Binding.client.ts @@ -3,9 +3,9 @@ export default defineComponent({ methods: { getMessage () { return 'Hello world' - } + }, }, render () { return h('div', {}, this.getMessage()) - } + }, }) diff --git a/test/fixtures/basic/components/client/MultiRootNodeScript.client.vue b/test/fixtures/basic/components/client/MultiRootNodeScript.client.vue index 5176ea87ad..36ef79445f 100644 --- a/test/fixtures/basic/components/client/MultiRootNodeScript.client.vue +++ b/test/fixtures/basic/components/client/MultiRootNodeScript.client.vue @@ -20,6 +20,6 @@ export default defineNuxtComponent({ const add = () => count.value++ return { count, add } - } + }, }) </script> diff --git a/test/fixtures/basic/components/client/Script.client.vue b/test/fixtures/basic/components/client/Script.client.vue index 86767ad937..728309afa6 100644 --- a/test/fixtures/basic/components/client/Script.client.vue +++ b/test/fixtures/basic/components/client/Script.client.vue @@ -3,8 +3,8 @@ export default defineNuxtComponent({ name: 'ClientScript', props: { foo: { - type: String - } + type: String, + }, }, setup (_p, ctx) { const count = ref(0) @@ -14,9 +14,9 @@ export default defineNuxtComponent({ return { count, - add + add, } - } + }, }) </script> diff --git a/test/fixtures/basic/components/client/StringChildStateful.client.vue b/test/fixtures/basic/components/client/StringChildStateful.client.vue index 16b39a204a..216e389dae 100644 --- a/test/fixtures/basic/components/client/StringChildStateful.client.vue +++ b/test/fixtures/basic/components/client/StringChildStateful.client.vue @@ -5,7 +5,7 @@ const add = () => state.value++ defineExpose({ state, - add + add, }) </script> diff --git a/test/fixtures/basic/components/client/StringChildStatefulScript.client.vue b/test/fixtures/basic/components/client/StringChildStatefulScript.client.vue index b87df7c74d..09c136b3da 100644 --- a/test/fixtures/basic/components/client/StringChildStatefulScript.client.vue +++ b/test/fixtures/basic/components/client/StringChildStatefulScript.client.vue @@ -7,9 +7,9 @@ export default defineNuxtComponent({ ctx.expose({ add, state }) return { - state + state, } - } + }, }) </script> diff --git a/test/fixtures/basic/components/clientFallback/NonStateful.vue b/test/fixtures/basic/components/clientFallback/NonStateful.vue index 20a8fe84dd..e3a6560273 100644 --- a/test/fixtures/basic/components/clientFallback/NonStateful.vue +++ b/test/fixtures/basic/components/clientFallback/NonStateful.vue @@ -9,6 +9,6 @@ <script> export default defineNuxtComponent({ - name: 'ClientFallbackStateful' + name: 'ClientFallbackStateful', }) </script> diff --git a/test/fixtures/basic/components/clientFallback/Stateful.vue b/test/fixtures/basic/components/clientFallback/Stateful.vue index 26c40b990d..dbe35fe866 100644 --- a/test/fixtures/basic/components/clientFallback/Stateful.vue +++ b/test/fixtures/basic/components/clientFallback/Stateful.vue @@ -13,8 +13,8 @@ export default defineNuxtComponent({ setup () { const state = ref(0) return { - state + state, } - } + }, }) </script> diff --git a/test/fixtures/basic/components/islands/LongAsyncComponent.vue b/test/fixtures/basic/components/islands/LongAsyncComponent.vue index f9832d7794..e95e724082 100644 --- a/test/fixtures/basic/components/islands/LongAsyncComponent.vue +++ b/test/fixtures/basic/components/islands/LongAsyncComponent.vue @@ -44,6 +44,7 @@ <script setup lang="ts"> import { getResponseHeaders } from 'h3' + defineProps<{ count: number }>() diff --git a/test/fixtures/basic/components/islands/PureComponent.vue b/test/fixtures/basic/components/islands/PureComponent.vue index 61a3941ced..c60947f815 100644 --- a/test/fixtures/basic/components/islands/PureComponent.vue +++ b/test/fixtures/basic/components/islands/PureComponent.vue @@ -3,7 +3,7 @@ const props = defineProps({ bool: Boolean, number: Number, str: String, - obj: Object + obj: Object, }) const hasRouter = useState('hasRouter', () => !!useRouter()) diff --git a/test/fixtures/basic/composables/async-context.ts b/test/fixtures/basic/composables/async-context.ts index 0b928d1ce9..ab9e41acea 100644 --- a/test/fixtures/basic/composables/async-context.ts +++ b/test/fixtures/basic/composables/async-context.ts @@ -14,6 +14,6 @@ async function fn2 () { await delay() const app = tryUseNuxtApp() return { - hasApp: !!app + hasApp: !!app, } } diff --git a/test/fixtures/basic/error.vue b/test/fixtures/basic/error.vue index a5386a2229..55e7608eee 100644 --- a/test/fixtures/basic/error.vue +++ b/test/fixtures/basic/error.vue @@ -15,7 +15,8 @@ <script setup lang="ts"> import type { NuxtError } from '#app' + defineProps({ - error: Object as () => NuxtError + error: Object as () => NuxtError, }) </script> diff --git a/test/fixtures/basic/extends/bar/app.config.ts b/test/fixtures/basic/extends/bar/app.config.ts index 92e47a3736..e6007cc554 100644 --- a/test/fixtures/basic/extends/bar/app.config.ts +++ b/test/fixtures/basic/extends/bar/app.config.ts @@ -1,3 +1,3 @@ export default { - fromLayer: true + fromLayer: true, } diff --git a/test/fixtures/basic/extends/bar/app/router.options.ts b/test/fixtures/basic/extends/bar/app/router.options.ts index 51deb4e6e1..b8e3be960f 100644 --- a/test/fixtures/basic/extends/bar/app/router.options.ts +++ b/test/fixtures/basic/extends/bar/app/router.options.ts @@ -1,5 +1,5 @@ import type { RouterOptions } from 'nuxt/schema' export default <RouterOptions> { - linkExactActiveClass: 'bar-exact-active-class' + linkExactActiveClass: 'bar-exact-active-class', } diff --git a/test/fixtures/basic/extends/bar/nuxt.config.ts b/test/fixtures/basic/extends/bar/nuxt.config.ts index a3d7147bee..680205b4f0 100644 --- a/test/fixtures/basic/extends/bar/nuxt.config.ts +++ b/test/fixtures/basic/extends/bar/nuxt.config.ts @@ -1,3 +1,3 @@ export default defineNuxtConfig({ - modules: [undefined] + modules: [undefined], }) diff --git a/test/fixtures/basic/extends/bar/pages/override.vue b/test/fixtures/basic/extends/bar/pages/override.vue index 0892321fdb..f7d30cffcc 100644 --- a/test/fixtures/basic/extends/bar/pages/override.vue +++ b/test/fixtures/basic/extends/bar/pages/override.vue @@ -1,7 +1,7 @@ <script setup> definePageMeta({ layout: 'override', - middleware: 'override' + middleware: 'override', }) </script> diff --git a/test/fixtures/basic/layouts/custom.vue b/test/fixtures/basic/layouts/custom.vue index 1909b79aed..2b910a1771 100644 --- a/test/fixtures/basic/layouts/custom.vue +++ b/test/fixtures/basic/layouts/custom.vue @@ -23,6 +23,6 @@ function logHello () { } defineExpose({ - logHello + logHello, }) </script> diff --git a/test/fixtures/basic/layouts/custom2.vue b/test/fixtures/basic/layouts/custom2.vue index a464982780..ecf5021a75 100644 --- a/test/fixtures/basic/layouts/custom2.vue +++ b/test/fixtures/basic/layouts/custom2.vue @@ -23,6 +23,6 @@ function logFoo () { } defineExpose({ - logFoo + logFoo, }) </script> diff --git a/test/fixtures/basic/layouts/with-props.vue b/test/fixtures/basic/layouts/with-props.vue index 5f2a714f7a..3b1de9e820 100644 --- a/test/fixtures/basic/layouts/with-props.vue +++ b/test/fixtures/basic/layouts/with-props.vue @@ -7,6 +7,6 @@ <script lang="ts" setup> defineProps<{ - someProp: string; + someProp: string }>() </script> diff --git a/test/fixtures/basic/middleware/abort.global.ts b/test/fixtures/basic/middleware/abort.global.ts index d278883f76..b12eb49432 100644 --- a/test/fixtures/basic/middleware/abort.global.ts +++ b/test/fixtures/basic/middleware/abort.global.ts @@ -1,7 +1,7 @@ export default defineNuxtRouteMiddleware((to) => { if ('abort' in to.query) { return abortNavigation({ - statusCode: 401 + statusCode: 401, }) } return true diff --git a/test/fixtures/basic/modules/auto-registered/index.ts b/test/fixtures/basic/modules/auto-registered/index.ts index f0e5a5b00a..cf5c2a7b20 100644 --- a/test/fixtures/basic/modules/auto-registered/index.ts +++ b/test/fixtures/basic/modules/auto-registered/index.ts @@ -2,25 +2,25 @@ import { addServerHandler, addServerImports, addServerImportsDir, createResolver export default defineNuxtModule({ meta: { - name: 'auto-registered-module' + name: 'auto-registered-module', }, setup () { const resolver = createResolver(import.meta.url) addServerHandler({ handler: resolver.resolve('./runtime/handler'), - route: '/auto-registered-module' + route: '/auto-registered-module', }) addServerImports([{ from: resolver.resolve('./runtime/some-server-import'), name: 'serverAutoImported', - as: 'autoimportedFunction' + as: 'autoimportedFunction', }, { from: resolver.resolve('./runtime/some-server-import'), - name: 'someUtils' + name: 'someUtils', }]) addServerImportsDir(resolver.resolve('./runtime/server/utils')) - } + }, }) diff --git a/test/fixtures/basic/modules/example.ts b/test/fixtures/basic/modules/example.ts index 861b7726c5..c3a2706d0d 100644 --- a/test/fixtures/basic/modules/example.ts +++ b/test/fixtures/basic/modules/example.ts @@ -3,7 +3,7 @@ import { addPlugin, createResolver, defineNuxtModule, useNuxt } from 'nuxt/kit' export default defineNuxtModule({ meta: { name: 'my-module', - configKey: 'sampleModule' + configKey: 'sampleModule', }, setup () { const resolver = createResolver(import.meta.url) @@ -13,8 +13,8 @@ export default defineNuxtModule({ app.middleware.push({ name: 'unctx-test', path: resolver.resolve('./runtime/middleware'), - global: true + global: true, }) }) - } + }, }) diff --git a/test/fixtures/basic/modules/functional.ts b/test/fixtures/basic/modules/functional.ts index cfd7251749..032a9c70b3 100644 --- a/test/fixtures/basic/modules/functional.ts +++ b/test/fixtures/basic/modules/functional.ts @@ -4,5 +4,5 @@ export default defineNuxtModule( function (_, nuxt) { nuxt.options.optimization.treeShake.composables.server[nuxt.options.rootDir] = ['useClientOnlyComposable', 'setTitleToPink'] nuxt.options.optimization.treeShake.composables.client[nuxt.options.rootDir] = ['useServerOnlyComposable'] - } + }, ) diff --git a/test/fixtures/basic/modules/import-components/index.ts b/test/fixtures/basic/modules/import-components/index.ts index a5601c9ae2..3a665f44cc 100644 --- a/test/fixtures/basic/modules/import-components/index.ts +++ b/test/fixtures/basic/modules/import-components/index.ts @@ -2,7 +2,7 @@ import { addComponent, createResolver, defineNuxtModule } from 'nuxt/kit' export default defineNuxtModule({ meta: { - name: 'import-components' + name: 'import-components', }, setup () { const { resolve } = createResolver(import.meta.url) @@ -10,40 +10,40 @@ export default defineNuxtModule({ addComponent({ name: 'DCompClient', filePath: resolve('./runtime/components'), - mode: 'client' + mode: 'client', }) addComponent({ name: 'DCompServer', filePath: resolve('./runtime/components'), - mode: 'server' + mode: 'server', }) addComponent({ name: 'DCompAll', filePath: resolve('./runtime/components'), - mode: 'all' + mode: 'all', }) addComponent({ name: 'NCompClient', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'client' + mode: 'client', }) addComponent({ name: 'NCompServer', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'server' + mode: 'server', }) addComponent({ name: 'NCompAll', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'all' + mode: 'all', }) - } + }, }) diff --git a/test/fixtures/basic/modules/import-components/runtime/components.ts b/test/fixtures/basic/modules/import-components/runtime/components.ts index ee3c525f7e..96f456c19f 100644 --- a/test/fixtures/basic/modules/import-components/runtime/components.ts +++ b/test/fixtures/basic/modules/import-components/runtime/components.ts @@ -3,11 +3,11 @@ import { defineComponent, h } from 'vue' export default defineComponent({ name: 'DComp', props: { message: String }, - render: (props: any) => h('h1', props.message) + render: (props: any) => h('h1', props.message), }) export const NComp = defineComponent({ name: 'NComp', props: { message: String }, - render: (props: any) => h('h1', props.message) + render: (props: any) => h('h1', props.message), }) diff --git a/test/fixtures/basic/modules/lazy-import-components/index.ts b/test/fixtures/basic/modules/lazy-import-components/index.ts index f6bb471b64..d90c6c73b8 100644 --- a/test/fixtures/basic/modules/lazy-import-components/index.ts +++ b/test/fixtures/basic/modules/lazy-import-components/index.ts @@ -2,7 +2,7 @@ import { addComponent, createResolver, defineNuxtModule } from 'nuxt/kit' export default defineNuxtModule({ meta: { - name: 'lazy-import-components' + name: 'lazy-import-components', }, setup () { const { resolve } = createResolver(import.meta.url) @@ -11,21 +11,21 @@ export default defineNuxtModule({ name: 'NCompClient', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'client' + mode: 'client', }) addComponent({ name: 'NCompServer', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'server' + mode: 'server', }) addComponent({ name: 'NCompAll', export: 'NComp', filePath: resolve('./runtime/components'), - mode: 'all' + mode: 'all', }) - } + }, }) diff --git a/test/fixtures/basic/modules/lazy-import-components/runtime/components.ts b/test/fixtures/basic/modules/lazy-import-components/runtime/components.ts index 1f1938bff2..e9781e56e5 100644 --- a/test/fixtures/basic/modules/lazy-import-components/runtime/components.ts +++ b/test/fixtures/basic/modules/lazy-import-components/runtime/components.ts @@ -3,5 +3,5 @@ import { defineComponent, h } from 'vue' export const NComp = defineComponent({ name: 'NComp', props: { message: String }, - render: (props: any) => h('h1', props.message) + render: (props: any) => h('h1', props.message), }) diff --git a/test/fixtures/basic/modules/page-extend/index.ts b/test/fixtures/basic/modules/page-extend/index.ts index 62723a909d..15c18599c5 100644 --- a/test/fixtures/basic/modules/page-extend/index.ts +++ b/test/fixtures/basic/modules/page-extend/index.ts @@ -2,7 +2,7 @@ import { createResolver, defineNuxtModule, useNuxt } from 'nuxt/kit' export default defineNuxtModule({ meta: { - name: 'page-extend' + name: 'page-extend', }, setup () { const nuxt = useNuxt() @@ -12,14 +12,14 @@ export default defineNuxtModule({ pages.push({ name: 'page-extend', path: '/page-extend', - file: resolver.resolve('../runtime/page.vue') + file: resolver.resolve('../runtime/page.vue'), }, { path: '/big-page-1', - file: resolver.resolve('./pages/big-page.vue') + file: resolver.resolve('./pages/big-page.vue'), }, { path: '/big-page-2', - file: resolver.resolve('./pages/big-page.vue') + file: resolver.resolve('./pages/big-page.vue'), }) }) - } + }, }) diff --git a/test/fixtures/basic/modules/page-extend/pages/big-page.vue b/test/fixtures/basic/modules/page-extend/pages/big-page.vue index f5a6c0db62..1ea6542112 100644 --- a/test/fixtures/basic/modules/page-extend/pages/big-page.vue +++ b/test/fixtures/basic/modules/page-extend/pages/big-page.vue @@ -35,7 +35,7 @@ <script setup> definePageMeta({ - layout: false + layout: false, }) </script> diff --git a/test/fixtures/basic/modules/runtime/page.vue b/test/fixtures/basic/modules/runtime/page.vue index 93d144af97..90b6b54785 100644 --- a/test/fixtures/basic/modules/runtime/page.vue +++ b/test/fixtures/basic/modules/runtime/page.vue @@ -4,7 +4,7 @@ import { setResponseHeader } from 'h3' definePageMeta({ - value: 'added in pages:extend' + value: 'added in pages:extend', }) if (import.meta.server) { diff --git a/test/fixtures/basic/modules/subpath/module.ts b/test/fixtures/basic/modules/subpath/module.ts index c4cf35dd6e..d1f975bc92 100644 --- a/test/fixtures/basic/modules/subpath/module.ts +++ b/test/fixtures/basic/modules/subpath/module.ts @@ -1,5 +1,5 @@ import { defineNuxtModule } from 'nuxt/kit' export default defineNuxtModule({ - meta: { name: 'subpath' } + meta: { name: 'subpath' }, }) diff --git a/test/fixtures/basic/modules/test/index.ts b/test/fixtures/basic/modules/test/index.ts index b3c385cda4..d604033fbb 100644 --- a/test/fixtures/basic/modules/test/index.ts +++ b/test/fixtures/basic/modules/test/index.ts @@ -2,6 +2,6 @@ import { defineNuxtModule } from 'nuxt/kit' export default defineNuxtModule({ meta: { - name: 'test' - } + name: 'test', + }, }) diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index 61851c2373..b49b85dbad 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -22,12 +22,12 @@ export default defineNuxtConfig({ meta: [ { name: 'viewport', content: 'width=1024, initial-scale=1' }, { charset: 'utf-8' }, - { name: 'description', content: 'Nuxt Fixture' } - ] + { name: 'description', content: 'Nuxt Fixture' }, + ], }, keepalive: { - include: ['keepalive-in-config', 'not-keepalive-in-nuxtpage'] - } + include: ['keepalive-in-config', 'not-keepalive-in-nuxtpage'], + }, }, buildDir: process.env.NITRO_BUILD_DIR, builder: process.env.TEST_BUILDER as 'webpack' | 'vite' ?? 'vite', @@ -36,33 +36,33 @@ export default defineNuxtConfig({ (ctx) => { if (typeof ctx.isDev !== 'boolean') { throw new TypeError('context not passed') } return false - } - ] + }, + ], }, css: ['~/assets/global.css'], // this produces an order of `~` > `~/extends/bar` > `~/extends/node_modules/foo` theme: './extends/bar', extends: [ - './extends/node_modules/foo' + './extends/node_modules/foo', ], nitro: { publicAssets: [ { dir: '../custom-public', - baseURL: '/custom' - } + baseURL: '/custom', + }, ], esbuild: { options: { // in order to test bigint serialization - target: 'es2022' - } + target: 'es2022', + }, }, routeRules: { '/route-rules/spa': { ssr: false }, '/route-rules/middleware': { appMiddleware: 'route-rules-middleware' }, '/hydration/spa-redirection/**': { ssr: false }, - '/no-scripts': { experimentalNoScripts: true } + '/no-scripts': { experimentalNoScripts: true }, }, output: { dir: process.env.NITRO_OUTPUT_DIR }, prerender: { @@ -70,24 +70,24 @@ export default defineNuxtConfig({ '/random/a', '/random/b', '/random/c', - '/prefetch/server-components' - ] - } + '/prefetch/server-components', + ], + }, }, optimization: { keyedComposables: [ { name: 'useCustomKeyedComposable', source: '~/other-composables-folder/custom-keyed-composable', - argumentLength: 1 - } - ] + argumentLength: 1, + }, + ], }, runtimeConfig: { public: { needsFallback: undefined, - testConfig: 123 - } + testConfig: 123, + }, }, modules: [ '~/modules/subpath', @@ -105,7 +105,7 @@ export default defineNuxtConfig({ }, load (id) { if (id === 'virtual.css') { return ':root { --virtual: red }' } - } + }, })) addBuildPlugin(plugin) }, @@ -113,7 +113,7 @@ export default defineNuxtConfig({ nuxt.hook('pages:extend', (pages) => { pages.push({ path: '/manual-redirect', - redirect: '/' + redirect: '/', }) }) }, @@ -127,8 +127,8 @@ export default defineNuxtConfig({ meta: { ...page.meta, layout: undefined, - _layout: page.meta?.layout - } + _layout: page.meta?.layout, + }, }) nuxt.hook('pages:extend', (pages) => { const newPages = [] @@ -142,13 +142,13 @@ export default defineNuxtConfig({ }) }, // To test falsy module values - undefined + undefined, ], vite: { logLevel: 'silent', build: { - assetsInlineLimit: 100 // keep SVG as assets URL - } + assetsInlineLimit: 100, // keep SVG as assets URL + }, }, telemetry: false, // for testing telemetry types - it is auto-disabled in tests hooks: { @@ -156,7 +156,7 @@ export default defineNuxtConfig({ // in order to test bigint serialization we need to set target to a more modern one for (const config of configs) { const esbuildRules = config.module!.rules!.filter( - rule => typeof rule === 'object' && rule && 'loader' in rule && rule.loader === 'esbuild-loader' + rule => typeof rule === 'object' && rule && 'loader' in rule && rule.loader === 'esbuild-loader', ) for (const rule of esbuildRules) { if (typeof rule === 'object' && typeof rule.options === 'object') { @@ -169,7 +169,7 @@ export default defineNuxtConfig({ addComponent({ name: 'CustomComponent', export: 'namedExport', - filePath: '~/other-components-folder/named-export' + filePath: '~/other-components-folder/named-export', }) }, 'components:extend' (components) { @@ -198,19 +198,19 @@ export default defineNuxtConfig({ } next() }) - } + }, }) - } + }, }, vue: { compilerOptions: { isCustomElement: (tag) => { return tag === 'custom-component' - } - } + }, + }, }, features: { - inlineStyles: id => !!id && !id.includes('assets.vue') + inlineStyles: id => !!id && !id.includes('assets.vue'), }, experimental: { typedPages: true, @@ -220,18 +220,18 @@ export default defineNuxtConfig({ restoreState: true, clientNodeCompat: true, componentIslands: { - selectiveClient: 'deep' + selectiveClient: 'deep', }, treeshakeClientOnly: true, asyncContext: process.env.TEST_CONTEXT === 'async', appManifest: process.env.TEST_MANIFEST !== 'manifest-off', headNext: true, - inlineRouteRules: true + inlineRouteRules: true, }, appConfig: { fromNuxtConfig: true, nested: { - val: 1 - } - } + val: 1, + }, + }, }) diff --git a/test/fixtures/basic/other-components-folder/named-export.ts b/test/fixtures/basic/other-components-folder/named-export.ts index 96ed7ab607..d08c0bc0be 100644 --- a/test/fixtures/basic/other-components-folder/named-export.ts +++ b/test/fixtures/basic/other-components-folder/named-export.ts @@ -1,3 +1,3 @@ export const namedExport = defineComponent({ - setup: () => () => h('div', 'This is a custom component with a named export.') + setup: () => () => h('div', 'This is a custom component with a named export.'), }) diff --git a/test/fixtures/basic/pages/[...slug].vue b/test/fixtures/basic/pages/[...slug].vue index 031a5097b3..22f81cd64f 100644 --- a/test/fixtures/basic/pages/[...slug].vue +++ b/test/fixtures/basic/pages/[...slug].vue @@ -9,7 +9,7 @@ <script setup lang="ts"> definePageMeta({ middleware: ['override'], - validate: to => to.path !== '/forbidden' + validate: to => to.path !== '/forbidden', }) const route = useRoute('slug') if (route.path.includes('navigate-some-path')) { diff --git a/test/fixtures/basic/pages/async-parent.vue b/test/fixtures/basic/pages/async-parent.vue index 322b0944d9..da8c96acbd 100644 --- a/test/fixtures/basic/pages/async-parent.vue +++ b/test/fixtures/basic/pages/async-parent.vue @@ -11,6 +11,6 @@ if (import.meta.client) { console.log('isHydrating: ' + useNuxtApp().isHydrating) } definePageMeta({ - layout: 'custom' + layout: 'custom', }) </script> diff --git a/test/fixtures/basic/pages/async-parent/child.vue b/test/fixtures/basic/pages/async-parent/child.vue index 06c372f24a..a3ecf7ad9f 100644 --- a/test/fixtures/basic/pages/async-parent/child.vue +++ b/test/fixtures/basic/pages/async-parent/child.vue @@ -10,6 +10,6 @@ if (import.meta.client) { console.log('isHydrating: ' + useNuxtApp().isHydrating) } definePageMeta({ - layout: 'custom-async' + layout: 'custom-async', }) </script> diff --git a/test/fixtures/basic/pages/auth.vue b/test/fixtures/basic/pages/auth.vue index 034a251b0b..08726e7224 100644 --- a/test/fixtures/basic/pages/auth.vue +++ b/test/fixtures/basic/pages/auth.vue @@ -1,6 +1,6 @@ <script setup> definePageMeta({ - middleware: 'inject-auth' + middleware: 'inject-auth', }) </script> diff --git a/test/fixtures/basic/pages/chunk-error.vue b/test/fixtures/basic/pages/chunk-error.vue index 36407f27f5..7c9cb9da82 100644 --- a/test/fixtures/basic/pages/chunk-error.vue +++ b/test/fixtures/basic/pages/chunk-error.vue @@ -7,7 +7,7 @@ definePageMeta({ // trigger a loading error when navigated to via client-side navigation await import(/* webpackIgnore: true */ /* @vite-ignore */ `some-non-exis${''}ting-module`) } - } + }, }) const someValue = useState('val', () => 1) </script> diff --git a/test/fixtures/basic/pages/client-only-page/index.client.vue b/test/fixtures/basic/pages/client-only-page/index.client.vue index 1e91f5adc2..f4fa62a325 100644 --- a/test/fixtures/basic/pages/client-only-page/index.client.vue +++ b/test/fixtures/basic/pages/client-only-page/index.client.vue @@ -10,7 +10,7 @@ const state = useState('test', () => { return { hasAccessToWindow, - isServer: import.meta.server + isServer: import.meta.server, } }) diff --git a/test/fixtures/basic/pages/cookies.vue b/test/fixtures/basic/pages/cookies.vue index 7a0c2ffb12..d646cba627 100644 --- a/test/fixtures/basic/pages/cookies.vue +++ b/test/fixtures/basic/pages/cookies.vue @@ -14,7 +14,7 @@ useCookie('browser-set-to-null-with-default', () => 'default').value = null const objectCookie = useCookie('browser-object-default') const objectCookieSecond = useCookie('browser-object-default', { - default: () => ({ foo: 'bar' }) + default: () => ({ foo: 'bar' }), }) </script> diff --git a/test/fixtures/basic/pages/fixed-keyed-child-parent/[foo].vue b/test/fixtures/basic/pages/fixed-keyed-child-parent/[foo].vue index b925762b7a..bebfd82fb5 100644 --- a/test/fixtures/basic/pages/fixed-keyed-child-parent/[foo].vue +++ b/test/fixtures/basic/pages/fixed-keyed-child-parent/[foo].vue @@ -14,6 +14,6 @@ if (import.meta.client) { const route = useRoute() definePageMeta({ - key: 'keyed' + key: 'keyed', }) </script> diff --git a/test/fixtures/basic/pages/head-script-setup.vue b/test/fixtures/basic/pages/head-script-setup.vue index 75ab7d38d1..788c58154a 100644 --- a/test/fixtures/basic/pages/head-script-setup.vue +++ b/test/fixtures/basic/pages/head-script-setup.vue @@ -8,14 +8,14 @@ useServerSeoMeta({ ogImage: '%site.url/og-image.png', ogTitle: '%s %separator %site.name', ogType: 'website', - ogUrl: '%site.url/head-script-setup' + ogUrl: '%site.url/head-script-setup', }) useServerHead({ style: [ '/* Custom styles */', - 'h1 { color: salmon; }' - ] + 'h1 { color: salmon; }', + ], }) useHead({ @@ -25,9 +25,9 @@ useHead({ separator: () => '-', site: { url: 'https://example.com', - name: siteName - } - } + name: siteName, + }, + }, }) useHeadSafe({ @@ -35,16 +35,16 @@ useHeadSafe({ { id: 'xss-script', // @ts-expect-error not allowed - innerHTML: 'alert("xss")' - } + innerHTML: 'alert("xss")', + }, ], meta: [ { // @ts-expect-error not allowed 'http-equiv': 'refresh', - content: '0;javascript:alert(1)' - } - ] + 'content': '0;javascript:alert(1)', + }, + ], }) siteName.value = 'Nuxt Playground' diff --git a/test/fixtures/basic/pages/head.vue b/test/fixtures/basic/pages/head.vue index 55b4357f50..f3d752d42f 100644 --- a/test/fixtures/basic/pages/head.vue +++ b/test/fixtures/basic/pages/head.vue @@ -3,8 +3,8 @@ export default defineNuxtComponent({ head () { return { htmlAttrs: { - class: 'html-attrs-test' - } + class: 'html-attrs-test', + }, } }, setup () { @@ -13,19 +13,19 @@ export default defineNuxtComponent({ // title template function example titleTemplate: title => `${title} - Title Template Fn Change`, bodyAttrs: { - class: 'body-attrs-test' + class: 'body-attrs-test', }, script: [ { src: 'https://a-body-appended-script.com', - body: true - } + body: true, + }, ], - meta: [{ name: 'description', content: 'first' }] + meta: [{ name: 'description', content: 'first' }], }) useHead({ meta: [{ charset: 'utf-16' }, { name: 'description', content: computed(() => `${a.value} with an inline useHead call`) }] }) a.value = 'overriding' - } + }, }) </script> diff --git a/test/fixtures/basic/pages/hydration/layout.vue b/test/fixtures/basic/pages/hydration/layout.vue index c861545730..768f6e6b8b 100644 --- a/test/fixtures/basic/pages/hydration/layout.vue +++ b/test/fixtures/basic/pages/hydration/layout.vue @@ -1,12 +1,12 @@ <script setup lang="ts"> definePageMeta({ - layout: 'custom-async' + layout: 'custom-async', }) if (import.meta.client && !useNuxtApp().isHydrating) { throw createError({ fatal: true, - message: '`useNuxtApp().isHydrating` is false by the time we run page setup' + message: '`useNuxtApp().isHydrating` is false by the time we run page setup', }) } </script> diff --git a/test/fixtures/basic/pages/hydration/spa-redirection/start.vue b/test/fixtures/basic/pages/hydration/spa-redirection/start.vue index 854812be39..221f719834 100644 --- a/test/fixtures/basic/pages/hydration/spa-redirection/start.vue +++ b/test/fixtures/basic/pages/hydration/spa-redirection/start.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> definePageMeta({ - middleware: () => '/hydration/spa-redirection/end' + middleware: () => '/hydration/spa-redirection/end', }) </script> diff --git a/test/fixtures/basic/pages/index.vue b/test/fixtures/basic/pages/index.vue index 04d618f955..a2390d9fb6 100644 --- a/test/fixtures/basic/pages/index.vue +++ b/test/fixtures/basic/pages/index.vue @@ -112,12 +112,12 @@ definePageMeta({ alias: '/some-alias', other: ref('test'), imported: importedValue, - something: importedRE.test('an imported regex') + something: importedRE.test('an imported regex'), }) // reset title template example useHead({ - titleTemplate: '' + titleTemplate: '', }) const foo = useFoo() diff --git a/test/fixtures/basic/pages/instance/error.vue b/test/fixtures/basic/pages/instance/error.vue index 34bb64704b..b55e11fe54 100644 --- a/test/fixtures/basic/pages/instance/error.vue +++ b/test/fixtures/basic/pages/instance/error.vue @@ -2,7 +2,7 @@ export default defineComponent({ data () { throw new Error('💀') - } + }, }) </script> diff --git a/test/fixtures/basic/pages/internal-layout.vue b/test/fixtures/basic/pages/internal-layout.vue index b4eb990739..ca9958a983 100644 --- a/test/fixtures/basic/pages/internal-layout.vue +++ b/test/fixtures/basic/pages/internal-layout.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> definePageMeta({ - layout: false + layout: false, }) const route = useRoute() diff --git a/test/fixtures/basic/pages/invalid-root/fine.vue b/test/fixtures/basic/pages/invalid-root/fine.vue index cff0f320d4..8a9341c99e 100644 --- a/test/fixtures/basic/pages/invalid-root/fine.vue +++ b/test/fixtures/basic/pages/invalid-root/fine.vue @@ -7,6 +7,6 @@ <script setup> definePageMeta({ - pageTransition: false + pageTransition: false, }) </script> diff --git a/test/fixtures/basic/pages/islands.vue b/test/fixtures/basic/pages/islands.vue index ab335a9d3b..9aa315fffb 100644 --- a/test/fixtures/basic/pages/islands.vue +++ b/test/fixtures/basic/pages/islands.vue @@ -3,7 +3,7 @@ const islandProps = ref({ bool: true, number: 100, str: 'helo world', - obj: { json: 'works' } + obj: { json: 'works' }, }) const showIslandSlot = ref(false) diff --git a/test/fixtures/basic/pages/keyed-child-parent/[foo].vue b/test/fixtures/basic/pages/keyed-child-parent/[foo].vue index 08641443f9..bccd296ee5 100644 --- a/test/fixtures/basic/pages/keyed-child-parent/[foo].vue +++ b/test/fixtures/basic/pages/keyed-child-parent/[foo].vue @@ -14,6 +14,6 @@ if (import.meta.client) { const route = useRoute() definePageMeta({ - key: r => 'keyed-' + r.params.foo + key: r => 'keyed-' + r.params.foo, }) </script> diff --git a/test/fixtures/basic/pages/keyed-composables/index.vue b/test/fixtures/basic/pages/keyed-composables/index.vue index 96a4ef6c9b..82ca7edb44 100644 --- a/test/fixtures/basic/pages/keyed-composables/index.vue +++ b/test/fixtures/basic/pages/keyed-composables/index.vue @@ -34,7 +34,7 @@ const useLocalFetch = () => useFetch('/api/counter', { console.error('running client-side transform') } return data.count - } + }, }) const { data: useFetchTest1 } = await useLocalFetch() const { data: useFetchTest2 } = await useLocalFetch() diff --git a/test/fixtures/basic/pages/keyed-composables/local.vue b/test/fixtures/basic/pages/keyed-composables/local.vue index 31fdc04af9..021bab3f22 100644 --- a/test/fixtures/basic/pages/keyed-composables/local.vue +++ b/test/fixtures/basic/pages/keyed-composables/local.vue @@ -24,10 +24,10 @@ function localScopedComposables () { function complex () { const [useState] = [_assert] const { a: useAsyncData } = { - a: _assert + a: _assert, } const [_, { b: useLazyAsyncData }] = [null, { - b: _assert + b: _assert, }] return [useState(), useAsyncData(), useLazyAsyncData()] diff --git a/test/fixtures/basic/pages/layout-switch/start.vue b/test/fixtures/basic/pages/layout-switch/start.vue index aba0d17e5f..4dc0939ac2 100644 --- a/test/fixtures/basic/pages/layout-switch/start.vue +++ b/test/fixtures/basic/pages/layout-switch/start.vue @@ -8,6 +8,6 @@ <script setup lang="ts"> definePageMeta({ - layout: 'custom-async' + layout: 'custom-async', }) </script> diff --git a/test/fixtures/basic/pages/layouts/with-props.vue b/test/fixtures/basic/pages/layouts/with-props.vue index 8d079d91c7..d93aa9df4e 100644 --- a/test/fixtures/basic/pages/layouts/with-props.vue +++ b/test/fixtures/basic/pages/layouts/with-props.vue @@ -1,6 +1,6 @@ <script setup> definePageMeta({ - layoutTransition: false + layoutTransition: false, }) </script> diff --git a/test/fixtures/basic/pages/legacy-async-data-fail.vue b/test/fixtures/basic/pages/legacy-async-data-fail.vue index 072c4ae000..ef8a546a81 100644 --- a/test/fixtures/basic/pages/legacy-async-data-fail.vue +++ b/test/fixtures/basic/pages/legacy-async-data-fail.vue @@ -8,6 +8,6 @@ export default defineNuxtComponent({ asyncData () { throw new Error('OH NNNNNNOOOOOOOOOOO') - } + }, }) </script> diff --git a/test/fixtures/basic/pages/legacy/async-data.vue b/test/fixtures/basic/pages/legacy/async-data.vue index 5b3ccdbcf3..068a69e7d1 100644 --- a/test/fixtures/basic/pages/legacy/async-data.vue +++ b/test/fixtures/basic/pages/legacy/async-data.vue @@ -15,8 +15,8 @@ export default defineNuxtComponent({ async asyncData () { await nextTick() return { - hello: await $fetch('/api/hello') + hello: await $fetch('/api/hello'), } - } + }, }) </script> diff --git a/test/fixtures/basic/pages/legacy/async-data/index.vue b/test/fixtures/basic/pages/legacy/async-data/index.vue index 06acfd70f0..416298d999 100644 --- a/test/fixtures/basic/pages/legacy/async-data/index.vue +++ b/test/fixtures/basic/pages/legacy/async-data/index.vue @@ -9,8 +9,8 @@ export default defineNuxtComponent({ asyncData () { return { - fooParent: 'fooParent' + fooParent: 'fooParent', } - } + }, }) </script> diff --git a/test/fixtures/basic/pages/legacy/async-data/index/index.vue b/test/fixtures/basic/pages/legacy/async-data/index/index.vue index 3458ec88db..c5dd4ced85 100644 --- a/test/fixtures/basic/pages/legacy/async-data/index/index.vue +++ b/test/fixtures/basic/pages/legacy/async-data/index/index.vue @@ -6,8 +6,8 @@ export default defineNuxtComponent({ asyncData () { return { - fooChild: 'fooChild' + fooChild: 'fooChild', } - } + }, }) </script> diff --git a/test/fixtures/basic/pages/middleware-abort-non-fatal.vue b/test/fixtures/basic/pages/middleware-abort-non-fatal.vue index 65031af979..17f931cf8b 100644 --- a/test/fixtures/basic/pages/middleware-abort-non-fatal.vue +++ b/test/fixtures/basic/pages/middleware-abort-non-fatal.vue @@ -9,7 +9,7 @@ definePageMeta({ middleware: [ (to) => { return abortNavigation(to.query.error ? new Error(to.query.error.toString()) : undefined) - } - ] + }, + ], }) </script> diff --git a/test/fixtures/basic/pages/middleware-abort.vue b/test/fixtures/basic/pages/middleware-abort.vue index b374cc3813..bd3879cad0 100644 --- a/test/fixtures/basic/pages/middleware-abort.vue +++ b/test/fixtures/basic/pages/middleware-abort.vue @@ -3,9 +3,9 @@ definePageMeta({ middleware: () => { if (import.meta.server || useNuxtApp().isHydrating) { return } return abortNavigation({ - fatal: true + fatal: true, }) - } + }, }) const router = useRouter() onNuxtReady(() => router.push({ path: '/middleware-abort', force: true })) diff --git a/test/fixtures/basic/pages/navigate-to-error.vue b/test/fixtures/basic/pages/navigate-to-error.vue index 8e1bb86fbe..ce6dd3d31a 100644 --- a/test/fixtures/basic/pages/navigate-to-error.vue +++ b/test/fixtures/basic/pages/navigate-to-error.vue @@ -5,7 +5,7 @@ <script setup> definePageMeta({ alias: ['/setup-should-not-run'], - middleware: to => to.path === '/navigate-to-error' ? navigateTo('/setup-should-not-run') : undefined + middleware: to => to.path === '/navigate-to-error' ? navigateTo('/setup-should-not-run') : undefined, }) if (import.meta.client) { console.log('running setup') diff --git a/test/fixtures/basic/pages/navigate-to-forbidden.vue b/test/fixtures/basic/pages/navigate-to-forbidden.vue index 479116242b..9d12cc7d19 100644 --- a/test/fixtures/basic/pages/navigate-to-forbidden.vue +++ b/test/fixtures/basic/pages/navigate-to-forbidden.vue @@ -13,6 +13,6 @@ <script setup lang="ts"> definePageMeta({ middleware: ['override'], - validate: to => to.path !== '/forbidden' + validate: to => to.path !== '/forbidden', }) </script> diff --git a/test/fixtures/basic/pages/navigate-to-redirect.vue b/test/fixtures/basic/pages/navigate-to-redirect.vue index 5d6da52c93..36745a646a 100644 --- a/test/fixtures/basic/pages/navigate-to-redirect.vue +++ b/test/fixtures/basic/pages/navigate-to-redirect.vue @@ -7,7 +7,7 @@ definePageMeta({ middleware: async () => { await new Promise(resolve => setTimeout(resolve, 1)) return navigateTo({ path: '/' }, { redirectCode: 307 }) - } + }, }) if (import.meta.client) { console.log('running setup') diff --git a/test/fixtures/basic/pages/no-auth.vue b/test/fixtures/basic/pages/no-auth.vue index 2165120170..f954403c63 100644 --- a/test/fixtures/basic/pages/no-auth.vue +++ b/test/fixtures/basic/pages/no-auth.vue @@ -1,6 +1,6 @@ <script setup> definePageMeta({ - title: "l'equipe" + title: 'l\'equipe', // middleware: 'inject-auth' }) </script> diff --git a/test/fixtures/basic/pages/nuxt-link/trailing-slash.vue b/test/fixtures/basic/pages/nuxt-link/trailing-slash.vue index 1b063cde42..d867e5a2ac 100644 --- a/test/fixtures/basic/pages/nuxt-link/trailing-slash.vue +++ b/test/fixtures/basic/pages/nuxt-link/trailing-slash.vue @@ -1,9 +1,9 @@ <script setup lang="ts"> const LinkWithTrailingSlash = defineNuxtLink({ - trailingSlash: 'append' + trailingSlash: 'append', }) const LinkWithoutTrailingSlash = defineNuxtLink({ - trailingSlash: 'remove' + trailingSlash: 'remove', }) const links = [ '/', @@ -13,7 +13,7 @@ const links = [ '/nuxt-link/trailing-slash/?test=true&thing=other/thing#thing-other', { name: 'nuxt-link-trailing-slash' }, { query: { 'with-state': 'true' }, state: { foo: 'bar' } }, - { query: { 'without-state': 'true' } } + { query: { 'without-state': 'true' } }, ] as const const route = useRoute() diff --git a/test/fixtures/basic/pages/preview/with-custom-enable.vue b/test/fixtures/basic/pages/preview/with-custom-enable.vue index 2c1246657b..711457eb7c 100644 --- a/test/fixtures/basic/pages/preview/with-custom-enable.vue +++ b/test/fixtures/basic/pages/preview/with-custom-enable.vue @@ -4,7 +4,7 @@ const route = useRoute() const { enabled } = usePreviewMode({ shouldEnable: () => { return !!route.query.customPreview - } + }, }) </script> diff --git a/test/fixtures/basic/pages/preview/with-custom-state.vue b/test/fixtures/basic/pages/preview/with-custom-state.vue index cba330fdb5..1d5a72e8c8 100644 --- a/test/fixtures/basic/pages/preview/with-custom-state.vue +++ b/test/fixtures/basic/pages/preview/with-custom-state.vue @@ -4,7 +4,7 @@ const data1 = ref('data1') const { enabled, state } = usePreviewMode({ getState: () => { return { data1, data2: 'data2' } - } + }, }) onMounted(() => { diff --git a/test/fixtures/basic/pages/preview/with-use-fetch.vue b/test/fixtures/basic/pages/preview/with-use-fetch.vue index e033433db3..c0b2a2aae4 100644 --- a/test/fixtures/basic/pages/preview/with-use-fetch.vue +++ b/test/fixtures/basic/pages/preview/with-use-fetch.vue @@ -3,8 +3,8 @@ const { enabled, state } = usePreviewMode() const { data } = await useFetch('/api/preview', { query: { - apiKey: state.token || undefined - } + apiKey: state.token || undefined, + }, }) </script> diff --git a/test/fixtures/basic/pages/redirect.vue b/test/fixtures/basic/pages/redirect.vue index 3ef5f992d4..da7826f5a5 100644 --- a/test/fixtures/basic/pages/redirect.vue +++ b/test/fixtures/basic/pages/redirect.vue @@ -1,6 +1,6 @@ <script setup> definePageMeta({ - redirect: () => '/' + redirect: () => '/', }) </script> diff --git a/test/fixtures/basic/pages/route-rules/inline.vue b/test/fixtures/basic/pages/route-rules/inline.vue index e681b0f98b..52a5dda9d2 100644 --- a/test/fixtures/basic/pages/route-rules/inline.vue +++ b/test/fixtures/basic/pages/route-rules/inline.vue @@ -1,8 +1,8 @@ <script setup lang="ts"> defineRouteRules({ headers: { - 'x-extend': 'added in routeRules' - } + 'x-extend': 'added in routeRules', + }, }) </script> diff --git a/test/fixtures/basic/pages/suspense.vue b/test/fixtures/basic/pages/suspense.vue index 7271d904c9..b85db2eaa2 100644 --- a/test/fixtures/basic/pages/suspense.vue +++ b/test/fixtures/basic/pages/suspense.vue @@ -13,7 +13,7 @@ definePageMeta({ to.meta.layout = to.query.layout } } - } + }, }) </script> diff --git a/test/fixtures/basic/pages/vueuse-head.vue b/test/fixtures/basic/pages/vueuse-head.vue index 232bc37806..38fb5a20f6 100644 --- a/test/fixtures/basic/pages/vueuse-head.vue +++ b/test/fixtures/basic/pages/vueuse-head.vue @@ -1,7 +1,7 @@ <script lang="ts" setup> function useLegacyUseHead () { useHead({ - titleTemplate: '%s - VueUse head polyfill test' + titleTemplate: '%s - VueUse head polyfill test', }) } function useLegacyVueUseHead () { @@ -9,7 +9,7 @@ function useLegacyVueUseHead () { const vm = getCurrentInstance() const head = vm?.appContext.provides.usehead head.addHeadObjs({ - title: 'using provides usehead and updateDOM' + title: 'using provides usehead and updateDOM', }) head.updateDOM() } diff --git a/test/fixtures/basic/pages/with-computed-layout.vue b/test/fixtures/basic/pages/with-computed-layout.vue index 49382a05cd..2e256bb392 100644 --- a/test/fixtures/basic/pages/with-computed-layout.vue +++ b/test/fixtures/basic/pages/with-computed-layout.vue @@ -1,6 +1,6 @@ <script setup> definePageMeta({ - layout: computed(() => 'custom') + layout: computed(() => 'custom'), }) </script> diff --git a/test/fixtures/basic/pages/with-dynamic-layout.vue b/test/fixtures/basic/pages/with-dynamic-layout.vue index 6e2d589548..7938ad7c52 100644 --- a/test/fixtures/basic/pages/with-dynamic-layout.vue +++ b/test/fixtures/basic/pages/with-dynamic-layout.vue @@ -1,6 +1,6 @@ <script setup> definePageMeta({ - middleware: 'sets-layout' + middleware: 'sets-layout', }) </script> diff --git a/test/fixtures/basic/pages/with-layout.vue b/test/fixtures/basic/pages/with-layout.vue index ae503163f2..88a2e90112 100644 --- a/test/fixtures/basic/pages/with-layout.vue +++ b/test/fixtures/basic/pages/with-layout.vue @@ -1,6 +1,6 @@ <script setup> definePageMeta({ - layout: 'custom' + layout: 'custom', }) </script> diff --git a/test/fixtures/basic/pages/with-layout2.vue b/test/fixtures/basic/pages/with-layout2.vue index 41f30069ff..e28c35e914 100644 --- a/test/fixtures/basic/pages/with-layout2.vue +++ b/test/fixtures/basic/pages/with-layout2.vue @@ -1,6 +1,6 @@ <script setup> definePageMeta({ - layout: 'custom2' + layout: 'custom2', }) if (import.meta.client) { diff --git a/test/fixtures/basic/pages/wrapper-expose/layout.vue b/test/fixtures/basic/pages/wrapper-expose/layout.vue index 0ecbe66e01..3e99583cbe 100644 --- a/test/fixtures/basic/pages/wrapper-expose/layout.vue +++ b/test/fixtures/basic/pages/wrapper-expose/layout.vue @@ -27,7 +27,7 @@ const layout = ref() const currentLayout = useState('current-layout', () => 'custom') definePageMeta({ - layout: 'custom' + layout: 'custom', }) function logFoo () { diff --git a/test/fixtures/basic/pages/wrapper-expose/page/another.vue b/test/fixtures/basic/pages/wrapper-expose/page/another.vue index 3de3bba087..e39e5ce946 100644 --- a/test/fixtures/basic/pages/wrapper-expose/page/another.vue +++ b/test/fixtures/basic/pages/wrapper-expose/page/another.vue @@ -18,6 +18,6 @@ function hello () { } defineExpose({ - hello + hello, }) </script> diff --git a/test/fixtures/basic/pages/wrapper-expose/page/index.vue b/test/fixtures/basic/pages/wrapper-expose/page/index.vue index ed220c7370..532bcf0031 100644 --- a/test/fixtures/basic/pages/wrapper-expose/page/index.vue +++ b/test/fixtures/basic/pages/wrapper-expose/page/index.vue @@ -16,6 +16,6 @@ function foo () { } defineExpose({ - foo + foo, }) </script> diff --git a/test/fixtures/basic/plugins/add-route.ts b/test/fixtures/basic/plugins/add-route.ts index cdf5d47c98..41acc8d182 100644 --- a/test/fixtures/basic/plugins/add-route.ts +++ b/test/fixtures/basic/plugins/add-route.ts @@ -10,7 +10,7 @@ export default defineNuxtPlugin((_nuxtApp) => { router.addRoute({ path: to.path, name: to.path, - component: () => import('~/pages/index.vue') + component: () => import('~/pages/index.vue'), }) return to.path diff --git a/test/fixtures/basic/plugins/async-plugin.ts b/test/fixtures/basic/plugins/async-plugin.ts index e6ac65b7f9..ae3916ab20 100644 --- a/test/fixtures/basic/plugins/async-plugin.ts +++ b/test/fixtures/basic/plugins/async-plugin.ts @@ -9,9 +9,9 @@ export default defineNuxtPlugin({ provide: { asyncPlugin: () => config1 && config1 === config2 ? 'Async plugin works! ' + config1.public.testConfig + (data.value?.baz ? 'useFetch works!' : 'useFetch does not work') - : 'Async plugin failed!' - } + : 'Async plugin failed!', + }, } }, - parallel: true + parallel: true, }) diff --git a/test/fixtures/basic/plugins/context-error.ts b/test/fixtures/basic/plugins/context-error.ts index 99ca1e5a10..d2fba3e086 100644 --- a/test/fixtures/basic/plugins/context-error.ts +++ b/test/fixtures/basic/plugins/context-error.ts @@ -3,7 +3,7 @@ export default defineNuxtPlugin(() => { const vueApp = getCurrentInstance() return { provide: { - wasVueAppInstanceWronglyPreserved: !!vueApp - } + wasVueAppInstanceWronglyPreserved: !!vueApp, + }, } }) diff --git a/test/fixtures/basic/plugins/custom-type-assertion.client.ts b/test/fixtures/basic/plugins/custom-type-assertion.client.ts index 1aeb11c650..3b9135428b 100644 --- a/test/fixtures/basic/plugins/custom-type-assertion.client.ts +++ b/test/fixtures/basic/plugins/custom-type-assertion.client.ts @@ -1,7 +1,7 @@ export default defineNuxtPlugin((nuxtApp) => { if (nuxtApp.payload.serverRendered && nuxtApp.payload.blinkable !== '<revivified-blink>' && document.querySelector('#__NUXT_DATA__')) { throw createError({ - message: 'Custom type in Nuxt payload was not revived correctly' + message: 'Custom type in Nuxt payload was not revived correctly', }) } }) diff --git a/test/fixtures/basic/plugins/dependsOnPlugin.ts b/test/fixtures/basic/plugins/dependsOnPlugin.ts index 2f9b0ebde6..2f190b7584 100644 --- a/test/fixtures/basic/plugins/dependsOnPlugin.ts +++ b/test/fixtures/basic/plugins/dependsOnPlugin.ts @@ -8,5 +8,5 @@ export default defineNuxtPlugin({ } await new Promise(resolve => setTimeout(resolve, 100)) }, - parallel: true + parallel: true, }) diff --git a/test/fixtures/basic/plugins/my-plugin.ts b/test/fixtures/basic/plugins/my-plugin.ts index 627d9db911..d4537defc9 100644 --- a/test/fixtures/basic/plugins/my-plugin.ts +++ b/test/fixtures/basic/plugins/my-plugin.ts @@ -1,12 +1,12 @@ export default defineNuxtPlugin(() => { useHead({ - titleTemplate: '%s - Fixture' + titleTemplate: '%s - Fixture', }) const path = useRoute()?.path return { provide: { myPlugin: () => 'Injected by my-plugin', - path: () => path - } + path: () => path, + }, } }) diff --git a/test/fixtures/basic/plugins/register.ts b/test/fixtures/basic/plugins/register.ts index fb73ae9eee..d8cf47b332 100644 --- a/test/fixtures/basic/plugins/register.ts +++ b/test/fixtures/basic/plugins/register.ts @@ -5,7 +5,7 @@ const Spin = defineComponent({ return () => { return h('div', slots.default?.()) } - } + }, }) export default defineNuxtPlugin((nuxtApp) => { diff --git a/test/fixtures/basic/plugins/server-only.server.ts b/test/fixtures/basic/plugins/server-only.server.ts index 46e045b86f..feaa6e212a 100644 --- a/test/fixtures/basic/plugins/server-only.server.ts +++ b/test/fixtures/basic/plugins/server-only.server.ts @@ -9,6 +9,6 @@ export default defineNuxtPlugin({ } }, env: { - islands: false - } + islands: false, + }, }) diff --git a/test/fixtures/basic/server/api/app-config.ts b/test/fixtures/basic/server/api/app-config.ts index 8b4c1ff97e..b58057d1db 100644 --- a/test/fixtures/basic/server/api/app-config.ts +++ b/test/fixtures/basic/server/api/app-config.ts @@ -1,6 +1,6 @@ export default defineEventHandler(() => { const appConfig = useAppConfig() return { - appConfig + appConfig, } }) diff --git a/test/fixtures/basic/server/api/auto-imports.ts b/test/fixtures/basic/server/api/auto-imports.ts index 58ec0f85d0..efb188df1b 100644 --- a/test/fixtures/basic/server/api/auto-imports.ts +++ b/test/fixtures/basic/server/api/auto-imports.ts @@ -2,6 +2,6 @@ export default defineEventHandler(() => { return { thisIs: autoimportedFunction(), autoImported: someUtils, - fromServerDir: testUtils + fromServerDir: testUtils, } }) diff --git a/test/fixtures/basic/server/api/hey/index.get.ts b/test/fixtures/basic/server/api/hey/index.get.ts index 7ae4e47bf9..e937164878 100644 --- a/test/fixtures/basic/server/api/hey/index.get.ts +++ b/test/fixtures/basic/server/api/hey/index.get.ts @@ -1,4 +1,4 @@ export default defineEventHandler(() => ({ foo: 'bar', - baz: 'qux' + baz: 'qux', })) diff --git a/test/fixtures/basic/server/api/hey/index.post.ts b/test/fixtures/basic/server/api/hey/index.post.ts index b09599aed3..f30bc979ac 100644 --- a/test/fixtures/basic/server/api/hey/index.post.ts +++ b/test/fixtures/basic/server/api/hey/index.post.ts @@ -1,3 +1,3 @@ export default defineEventHandler(() => ({ - method: 'post' as const + method: 'post' as const, })) diff --git a/test/fixtures/basic/server/api/preview.ts b/test/fixtures/basic/server/api/preview.ts index 3b228c4c96..2813ef2276 100644 --- a/test/fixtures/basic/server/api/preview.ts +++ b/test/fixtures/basic/server/api/preview.ts @@ -3,6 +3,6 @@ const apiKey = 'hehe' export default defineEventHandler((event) => { return { - hehe: getQuery(event)[apiKeyName] === apiKey + hehe: getQuery(event)[apiKeyName] === apiKey, } }) diff --git a/test/fixtures/basic/server/api/union.ts b/test/fixtures/basic/server/api/union.ts index 9358a00ecc..3401498fc1 100644 --- a/test/fixtures/basic/server/api/union.ts +++ b/test/fixtures/basic/server/api/union.ts @@ -1,4 +1,4 @@ export default defineEventHandler(() => ({ type: 'a', - foo: 'bar' + foo: 'bar', }) as { type: 'a', foo: string } | { type: 'b', baz: string }) diff --git a/test/fixtures/minimal-types/nuxt.config.ts b/test/fixtures/minimal-types/nuxt.config.ts index e84230df58..df9525e993 100644 --- a/test/fixtures/minimal-types/nuxt.config.ts +++ b/test/fixtures/minimal-types/nuxt.config.ts @@ -1,3 +1,3 @@ export default defineNuxtConfig({ - experimental: { appManifest: true } + experimental: { appManifest: true }, }) diff --git a/test/fixtures/minimal-types/types.ts b/test/fixtures/minimal-types/types.ts index 53232a4e76..60cedb19d7 100644 --- a/test/fixtures/minimal-types/types.ts +++ b/test/fixtures/minimal-types/types.ts @@ -17,13 +17,13 @@ describe('auto-imports', () => { defineNuxtConfig({ modules: [], // @ts-expect-error Should show error on unknown properties - unknownProp: '' + unknownProp: '', }) defineNuxtConfig({ routeRules: { // Should accept any string - '/named': { appMiddleware: 'named' } - } + '/named': { appMiddleware: 'named' }, + }, }) }) it('core composables', () => { @@ -31,7 +31,7 @@ describe('auto-imports', () => { useHead({ script: [], // @ts-expect-error Should show error on unknown properties - unknown: [] + unknown: [], }) }) }) diff --git a/test/fixtures/minimal/app.vue b/test/fixtures/minimal/app.vue index 4f08f076f6..bf036e5974 100644 --- a/test/fixtures/minimal/app.vue +++ b/test/fixtures/minimal/app.vue @@ -7,7 +7,7 @@ defineExpose({ componentNames }) // @ts-expect-error this is not usable outside a pages directory definePageMeta({ // this should be fully tree-shaken out - title: 'jet common fruit chose bright planning exercise herself position wealth stiff known prepare listen leader eleven found boat dollar eye come author won thought pony biggest feel organized die vast class ask cost ball wrong chicken origin model little properly dangerous dull corner jar mighty solution pilot city locate guide gradually affect curve about snake single silly against fireplace money another involved origin sport where thin stop question go stretch although arrow rush mixture fallen power pay fifteen layers play slightly heavy built needed sing sentence diagram quarter yesterday list faster been having construction curious shoe' + title: 'jet common fruit chose bright planning exercise herself position wealth stiff known prepare listen leader eleven found boat dollar eye come author won thought pony biggest feel organized die vast class ask cost ball wrong chicken origin model little properly dangerous dull corner jar mighty solution pilot city locate guide gradually affect curve about snake single silly against fireplace money another involved origin sport where thin stop question go stretch although arrow rush mixture fallen power pay fifteen layers play slightly heavy built needed sing sentence diagram quarter yesterday list faster been having construction curious shoe', }) </script> diff --git a/test/fixtures/minimal/nuxt.config.ts b/test/fixtures/minimal/nuxt.config.ts index 9f9bac810f..317311d645 100644 --- a/test/fixtures/minimal/nuxt.config.ts +++ b/test/fixtures/minimal/nuxt.config.ts @@ -5,7 +5,7 @@ const testWithInlineVue = process.env.EXTERNAL_VUE === 'false' export default defineNuxtConfig({ pages: false, experimental: { - externalVue: !testWithInlineVue + externalVue: !testWithInlineVue, }, $production: { vite: { @@ -14,16 +14,16 @@ export default defineNuxtConfig({ rollupOptions: { output: { chunkFileNames: '_nuxt/[name].js', - entryFileNames: '_nuxt/[name].js' - } - } - } - } - } + entryFileNames: '_nuxt/[name].js', + }, + }, + }, + }, + }, }, buildDir: testWithInlineVue ? '.nuxt-inline' : '.nuxt', nitro: { - output: { dir: fileURLToPath(new URL(testWithInlineVue ? './.output-inline' : './.output', import.meta.url)) } + output: { dir: fileURLToPath(new URL(testWithInlineVue ? './.output-inline' : './.output', import.meta.url)) }, }, - sourcemap: false + sourcemap: false, }) diff --git a/test/fixtures/remote-provider/index.ts b/test/fixtures/remote-provider/index.ts index d62201723c..e3b45150d0 100644 --- a/test/fixtures/remote-provider/index.ts +++ b/test/fixtures/remote-provider/index.ts @@ -1,4 +1,5 @@ import http from 'node:http' + export function createSimpleRemoteIslandProvider (port = 3001) { const server = http.createServer((req, res) => { const response = { @@ -6,8 +7,8 @@ export function createSimpleRemoteIslandProvider (port = 3001) { state: {}, head: { link: [], - style: [] - } + style: [], + }, } res.statusCode = 200 res.setHeader('Content-Type', 'application/json') diff --git a/test/fixtures/runtime-compiler/components/Helloworld.vue b/test/fixtures/runtime-compiler/components/Helloworld.vue index f25b73707c..cf5e32d855 100644 --- a/test/fixtures/runtime-compiler/components/Helloworld.vue +++ b/test/fixtures/runtime-compiler/components/Helloworld.vue @@ -1,5 +1,5 @@ <script> export default defineNuxtComponent({ - template: '<div>hello, Helloworld.vue here ! </div>' + template: '<div>hello, Helloworld.vue here ! </div>', }) </script> diff --git a/test/fixtures/runtime-compiler/components/Name.ts b/test/fixtures/runtime-compiler/components/Name.ts index 54b23cd97e..0ff7f438e5 100644 --- a/test/fixtures/runtime-compiler/components/Name.ts +++ b/test/fixtures/runtime-compiler/components/Name.ts @@ -7,9 +7,9 @@ export default defineNuxtComponent({ render () { return h({ props: ['name'], - template: this.template + template: this.template, }, { - name: this.name + name: this.name, }) - } + }, }) diff --git a/test/fixtures/runtime-compiler/components/ShowTemplate.vue b/test/fixtures/runtime-compiler/components/ShowTemplate.vue index 777c8ae5eb..814f4fbc32 100644 --- a/test/fixtures/runtime-compiler/components/ShowTemplate.vue +++ b/test/fixtures/runtime-compiler/components/ShowTemplate.vue @@ -10,12 +10,12 @@ export default defineNuxtComponent({ props: { template: { required: true, - type: String + type: String, }, name: { type: String, - default: () => '(missing name prop)' - } + default: () => '(missing name prop)', + }, }, setup (props) { const showIt = h({ @@ -24,14 +24,14 @@ export default defineNuxtComponent({ name: { type: String, - default: () => '(missing name prop)' - } - } + default: () => '(missing name prop)', + }, + }, }) return { - showIt + showIt, } - } + }, }) </script> diff --git a/test/fixtures/runtime-compiler/nuxt.config.ts b/test/fixtures/runtime-compiler/nuxt.config.ts index b6151acf98..9617ba123e 100644 --- a/test/fixtures/runtime-compiler/nuxt.config.ts +++ b/test/fixtures/runtime-compiler/nuxt.config.ts @@ -1,10 +1,10 @@ // https://nuxt.com/docs/api/nuxt-config export default defineNuxtConfig({ experimental: { - externalVue: false + externalVue: false, }, vue: { - runtimeCompiler: true + runtimeCompiler: true, }, - builder: process.env.TEST_BUILDER as 'webpack' | 'vite' ?? 'vite' + builder: process.env.TEST_BUILDER as 'webpack' | 'vite' ?? 'vite', }) diff --git a/test/fixtures/runtime-compiler/pages/index.vue b/test/fixtures/runtime-compiler/pages/index.vue index 3c5374e66f..0d9e1f5bfb 100644 --- a/test/fixtures/runtime-compiler/pages/index.vue +++ b/test/fixtures/runtime-compiler/pages/index.vue @@ -1,6 +1,7 @@ <script setup lang="ts"> import type { Component } from 'vue' import Helloworld from '../components/Helloworld.vue' + const count = ref(0) const compTemplate = computed(() => ` @@ -9,37 +10,36 @@ const compTemplate = computed(() => ` <div>This component template is in a computed refreshed on count</div> count: <span class="count">${count.value}</span>. I dont recommend you to do this for performance issue, prefer passing props for mutable data. -</div>` +</div>`, ) const ComponentDefinedInSetup = computed(() => h({ - template: compTemplate.value + template: compTemplate.value, }) as Component) const { data, pending } = await useAsyncData('templates', async () => { const [interactiveComponent, templateString] = await Promise.all([ $fetch('/api/full-component'), - $fetch('/api/template') + $fetch('/api/template'), ]) return { interactiveComponent, - templateString + templateString, } }, {}) const Interactive = h({ template: data.value?.interactiveComponent.template, setup (props) { - // eslint-disable-next-line no-new-func return new Function( 'ref', 'computed', 'props', - data.value?.interactiveComponent.setup ?? '' + data.value?.interactiveComponent.setup ?? '', )(ref, computed, props) }, - props: data.value?.interactiveComponent.props + props: data.value?.interactiveComponent.props, }) as Component </script> diff --git a/test/fixtures/runtime-compiler/server/api/full-component.get.ts b/test/fixtures/runtime-compiler/server/api/full-component.get.ts index 26baa9d6c7..1585f4989f 100644 --- a/test/fixtures/runtime-compiler/server/api/full-component.get.ts +++ b/test/fixtures/runtime-compiler/server/api/full-component.get.ts @@ -13,6 +13,6 @@ export default defineEventHandler(() => { return {fullName, count} `, - template: '<div>my name is {{ fullName }}, <button id="inc-interactive-count" @click="count++">click here</button> count: <span id="interactive-count">{{count}}</span>. I am defined by Interactive in the setup of App.vue. My full component definition is retrieved from the api </div>' + template: '<div>my name is {{ fullName }}, <button id="inc-interactive-count" @click="count++">click here</button> count: <span id="interactive-count">{{count}}</span>. I am defined by Interactive in the setup of App.vue. My full component definition is retrieved from the api </div>', } }) diff --git a/test/fixtures/suspense/nuxt.config.ts b/test/fixtures/suspense/nuxt.config.ts index c7e627e35e..9758731515 100644 --- a/test/fixtures/suspense/nuxt.config.ts +++ b/test/fixtures/suspense/nuxt.config.ts @@ -4,11 +4,11 @@ const testWithInlineVue = process.env.EXTERNAL_VUE === 'false' export default defineNuxtConfig({ experimental: { - externalVue: !testWithInlineVue + externalVue: !testWithInlineVue, }, buildDir: testWithInlineVue ? '.nuxt-inline' : '.nuxt', nitro: { - output: { dir: fileURLToPath(new URL(testWithInlineVue ? './.output-inline' : './.output', import.meta.url)) } + output: { dir: fileURLToPath(new URL(testWithInlineVue ? './.output-inline' : './.output', import.meta.url)) }, }, - sourcemap: false + sourcemap: false, }) diff --git a/test/hmr.test.ts b/test/hmr.test.ts index ec3e50807a..55cc3caf6d 100644 --- a/test/hmr.test.ts +++ b/test/hmr.test.ts @@ -21,8 +21,8 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) { nuxtConfig: { builder: isWebpack ? 'webpack' : 'vite', buildDir: process.env.NITRO_BUILD_DIR, - nitro: { output: { dir: process.env.NITRO_OUTPUT_DIR } } - } + nitro: { output: { dir: process.env.NITRO_OUTPUT_DIR } }, + }, }) describe('hmr', () => { @@ -48,7 +48,7 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) { await expectWithPolling( () => page.title(), - 'Basic fixture HMR' + 'Basic fixture HMR', ) // content HMR @@ -72,7 +72,7 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) { it('should detect new routes', async () => { await expectWithPolling( () => $fetch('/some-404').then(r => r.includes('catchall at some-404')).catch(() => null), - true + true, ) // write new page route @@ -81,14 +81,14 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) { await expectWithPolling( () => $fetch('/some-404').then(r => r.includes('Hello Nuxt 3')).catch(() => null), - true + true, ) }) it('should hot reload route rules', async () => { await expectWithPolling( () => fetch('/route-rules/inline').then(r => r.headers.get('x-extend') === 'added in routeRules').catch(() => null), - true + true, ) // write new page route @@ -97,7 +97,7 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) { await expectWithPolling( () => fetch('/route-rules/inline').then(r => r.headers.get('x-extend') === 'edited in dev').catch(() => null), - true + true, ) }) @@ -114,27 +114,27 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) { const triggerHmr = async () => fsp.writeFile( componentPath, (await fsp.readFile(componentPath, 'utf8')) - .replace(`ref(${hmrId++})`, `ref(${hmrId})`) + .replace(`ref(${hmrId++})`, `ref(${hmrId})`), ) // initial state await expectWithPolling( resolveHmrId, - 0 + 0, ) // first edit await triggerHmr() await expectWithPolling( resolveHmrId, - 1 + 1, ) // just in-case await triggerHmr() await expectWithPolling( resolveHmrId, - 2 + 2, ) // ensure no errors diff --git a/test/mocks/nuxt-config.ts b/test/mocks/nuxt-config.ts index b355f3658b..73f2c2dd86 100644 --- a/test/mocks/nuxt-config.ts +++ b/test/mocks/nuxt-config.ts @@ -1,3 +1,3 @@ export const nuxtLinkDefaults = { - componentName: 'NuxtLink' + componentName: 'NuxtLink', } diff --git a/test/nuxt/client.test.ts b/test/nuxt/client.test.ts index 5bd8def01b..7c9384be6f 100644 --- a/test/nuxt/client.test.ts +++ b/test/nuxt/client.test.ts @@ -9,15 +9,15 @@ const Client = defineComponent({ setup () { const attrs = useAttrs() return () => h('div', {}, toDisplayString(attrs)) - } + }, }) describe('createClient attribute inheritance', () => { it('should retrieve attributes with useAttrs()', async () => { const wrapper = await mountSuspended(createClientOnly(Client as ComponentOptions), { attrs: { - id: 'client' - } + id: 'client', + }, }) expect(wrapper.html()).toMatchInlineSnapshot(` diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index ab556a4b84..52192761bf 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -21,7 +21,7 @@ import { useLoadingIndicator } from '#app/composables/loading-indicator' registerEndpoint('/api/test', defineEventHandler(event => ({ method: event.method, - headers: Object.fromEntries(event.headers.entries()) + headers: Object.fromEntries(event.headers.entries()), }))) describe('app config', () => { @@ -37,7 +37,7 @@ describe('app config', () => { updateAppConfig({ new: 'value', // @ts-expect-error property does not exist - nuxt: { nested: 42 } + nuxt: { nested: 42 }, }) expect(appConfig).toMatchInlineSnapshot(` { @@ -83,7 +83,7 @@ describe('composables', () => { 'navigateTo', 'abortNavigation', 'setPageLayout', - 'defineNuxtComponent' + 'defineNuxtComponent', ] const skippedComposables: string[] = [ 'addRouteMiddleware', @@ -106,7 +106,7 @@ describe('composables', () => { 'useRouter', 'useSeoMeta', 'useServerSeoMeta', - 'usePreviewMode' + 'usePreviewMode', ] expect(Object.keys(composables).sort()).toEqual([...new Set([...testedComposables, ...skippedComposables])].sort()) }) @@ -315,7 +315,7 @@ describe('useFetch', () => { it('should timeout', async () => { const { status, error } = await useFetch( () => new Promise(resolve => setTimeout(resolve, 5000)), - { timeout: 1 } + { timeout: 1 }, ) await new Promise(resolve => setTimeout(resolve, 2)) expect(status.value).toBe('error') @@ -455,7 +455,7 @@ describe('useId', () => { const id = useId() vals.add(id) return () => h('div', id) - } + }, })) } expect(vals.size).toBe(100) @@ -466,7 +466,7 @@ describe('useId', () => { setup () { const id = useId() return () => h('div', id) - } + }, }) expect(mount(component).html()).not.toBe(mount(component).html()) @@ -572,7 +572,7 @@ describe('routing utilities: `navigateTo`', () => { it('navigateTo should disallow navigation to data/script URLs', () => { const urls = [ ['data:alert("hi")', 'data'], - ['\0data:alert("hi")', 'data'] + ['\0data:alert("hi")', 'data'], ] for (const [url, protocol] of urls) { expect(() => navigateTo(url, { external: true })).toThrowError(`Cannot navigate to a URL with '${protocol}:' protocol.`) @@ -592,7 +592,7 @@ describe('routing utilities: `useRoute`', () => { params: {}, path: '/', query: {}, - redirectedFrom: undefined + redirectedFrom: undefined, }) }) }) @@ -630,7 +630,7 @@ describe('routing utilities: `setPageLayout`', () => { describe('defineNuxtComponent', () => { it('should produce a Vue component', async () => { const wrapper = await mountSuspended(defineNuxtComponent({ - render: () => h('div', 'hi there') + render: () => h('div', 'hi there'), })) expect(wrapper.html()).toMatchInlineSnapshot('"<div>hi there</div>"') }) @@ -642,7 +642,7 @@ describe('useCookie', () => { it('should watch custom cookie refs', () => { const user = useCookie('userInfo', { default: () => ({ score: -1 }), - maxAge: 60 * 60 + maxAge: 60 * 60, }) const computedVal = computed(() => user.value.score) expect(computedVal.value).toBe(-1) @@ -655,7 +655,7 @@ describe('useCookie', () => { const user = useCookie('shallowUserInfo', { default: () => ({ score: -1 }), maxAge: 60 * 60, - watch: value + watch: value, }) const computedVal = computed(() => user.value.score) expect(computedVal.value).toBe(-1) diff --git a/test/nuxt/nuxt-island.test.ts b/test/nuxt/nuxt-island.test.ts index 0329468a8b..282e09c08d 100644 --- a/test/nuxt/nuxt-island.test.ts +++ b/test/nuxt/nuxt-island.test.ts @@ -11,7 +11,7 @@ vi.mock('#build/nuxt.config.mjs', async (original) => { // @ts-expect-error virtual file ...(await original()), remoteComponentIslands: true, - selectiveClient: true + selectiveClient: true, } }) @@ -19,7 +19,7 @@ vi.mock('vue', async (original) => { const vue = await original<typeof import('vue')>() return { ...vue, - h: vi.fn(vue.h) + h: vi.fn(vue.h), } }) @@ -43,15 +43,15 @@ describe('runtime server component', () => { // @ts-expect-error test setup createServerComponent('DummyName').setup!({ - lazy: false + lazy: false, }, { attrs: { 'data-v-123': '', - test: 1 + 'test': 1, }, slots: {}, emit: vi.fn(), - expose: vi.fn() + expose: vi.fn(), })() expect(h).toHaveBeenCalledOnce() @@ -72,8 +72,8 @@ describe('runtime server component', () => { const wrapper = await mountSuspended(NuxtIsland, { props: { name: 'Test', - source: 'http://localhost:3001' - } + source: 'http://localhost:3001', + }, }) expect(wrapper.html()).toMatchInlineSnapshot('"<div>hello world from another server</div>"') @@ -91,11 +91,11 @@ describe('runtime server component', () => { state: {}, head: { link: [], - style: [] + style: [], }, json () { return this - } + }, } }) vi.stubGlobal('fetch', stubFetch) @@ -123,10 +123,10 @@ describe('runtime server component', () => { props: { name: 'Error', props: { - force: true - } + force: true, + }, }, - attachTo: 'body' + attachTo: 'body', }) expect(fetch).toHaveBeenCalledOnce() @@ -145,8 +145,8 @@ describe('client components', () => { name: 'ClientComponent', setup () { return () => h('div', 'client component') - } - } + }, + }, })) const stubFetch = vi.fn(() => { @@ -156,18 +156,18 @@ describe('client components', () => { state: {}, head: { link: [], - style: [] + style: [], }, components: { [componentId]: { html: '<div>fallback</div>', props: {}, - chunk: mockPath - } + chunk: mockPath, + }, }, json () { return this - } + }, } }) @@ -177,10 +177,10 @@ describe('client components', () => { props: { name: 'NuxtClient', props: { - force: true - } + force: true, + }, }, - attachTo: 'body' + attachTo: 'body', }) expect(fetch).toHaveBeenCalledOnce() @@ -201,12 +201,12 @@ describe('client components', () => { state: {}, head: { link: [], - style: [] + style: [], }, components: {}, json () { return this - } + }, })) await wrapper.vm.$.exposed!.refresh() @@ -232,11 +232,11 @@ describe('client components', () => { state: {}, head: { link: [], - style: [] + style: [], }, json () { return this - } + }, } }) @@ -246,10 +246,10 @@ describe('client components', () => { props: { name: 'WithNestedClient', props: { - force: true - } + force: true, + }, }, - attachTo: 'body' + attachTo: 'body', }) expect(fetch).toHaveBeenCalledOnce() @@ -267,8 +267,8 @@ describe('client components', () => { name: 'ClientWithSlot', setup (_, { slots }) { return () => h('div', { class: 'client-component' }, slots.default()) - } - } + }, + }, })) const stubFetch = vi.fn(() => { @@ -278,7 +278,7 @@ describe('client components', () => { state: {}, head: { link: [], - style: [] + style: [], }, components: { [componentId]: { @@ -286,22 +286,22 @@ describe('client components', () => { props: {}, chunk: mockPath, slots: { - default: '<div>slot in client component</div>' - } - } + default: '<div>slot in client component</div>', + }, + }, }, json () { return this - } + }, } }) vi.stubGlobal('fetch', stubFetch) const wrapper = await mountSuspended(NuxtIsland, { props: { - name: 'NuxtClientWithSlot' + name: 'NuxtClientWithSlot', }, - attachTo: 'body' + attachTo: 'body', }) expect(fetch).toHaveBeenCalledOnce() expect(wrapper.html()).toMatchInlineSnapshot(` diff --git a/test/nuxt/plugin.test.ts b/test/nuxt/plugin.test.ts index f30b284a9c..8a86cde895 100644 --- a/test/nuxt/plugin.test.ts +++ b/test/nuxt/plugin.test.ts @@ -7,7 +7,7 @@ vi.mock('#app', async (original) => { ...(await original<typeof import('#app')>()), applyPlugin: vi.fn(async (_nuxtApp, plugin) => { await plugin() - }) + }), } }) @@ -20,7 +20,7 @@ function pluginFactory (name: string, dependsOn?: string[], sequence: string[], await new Promise(resolve => setTimeout(resolve, 10)) sequence.push(`end ${name}`) }, - parallel + parallel, }) } @@ -30,7 +30,7 @@ describe('plugin dependsOn', () => { const sequence: string[] = [] const plugins = [ pluginFactory('A', undefined, sequence), - pluginFactory('B', ['A'], sequence) + pluginFactory('B', ['A'], sequence), ] await applyPlugins(nuxtApp, plugins) @@ -39,7 +39,7 @@ describe('plugin dependsOn', () => { 'start A', 'end A', 'start B', - 'end B' + 'end B', ]) }) @@ -49,7 +49,7 @@ describe('plugin dependsOn', () => { const plugins = [ pluginFactory('A', undefined, sequence), pluginFactory('B', ['A'], sequence), - pluginFactory('C', ['A', 'B'], sequence) + pluginFactory('C', ['A', 'B'], sequence), ] await applyPlugins(nuxtApp, plugins) @@ -60,7 +60,7 @@ describe('plugin dependsOn', () => { 'start B', 'end B', 'start C', - 'end C' + 'end C', ]) }) @@ -77,8 +77,8 @@ describe('plugin dependsOn', () => { await new Promise(resolve => setTimeout(resolve, 5)) sequence.push('end C') }, - parallel: true - }) + parallel: true, + }), ] await applyPlugins(nuxtApp, plugins) @@ -89,7 +89,7 @@ describe('plugin dependsOn', () => { 'end C', 'end A', 'start B', - 'end B' + 'end B', ]) }) @@ -104,9 +104,9 @@ describe('plugin dependsOn', () => { sequence.push('start C') await new Promise(resolve => setTimeout(resolve, 50)) sequence.push('end C') - } + }, }), - pluginFactory('B', ['A'], sequence) + pluginFactory('B', ['A'], sequence), ] await applyPlugins(nuxtApp, plugins) @@ -117,7 +117,7 @@ describe('plugin dependsOn', () => { 'end A', 'end C', 'start B', - 'end B' + 'end B', ]) }) @@ -129,7 +129,7 @@ describe('plugin dependsOn', () => { pluginFactory('A', undefined, sequence, true), pluginFactory('E', ['B', 'C'], sequence, false), pluginFactory('B', undefined, sequence), - pluginFactory('D', ['C'], sequence, false) + pluginFactory('D', ['C'], sequence, false), ] await applyPlugins(nuxtApp, plugins) @@ -143,7 +143,7 @@ describe('plugin dependsOn', () => { 'start E', 'start D', 'end E', - 'end D' + 'end D', ]) }) @@ -155,7 +155,7 @@ describe('plugin dependsOn', () => { pluginFactory('B', ['A', 'C'], sequence), pluginFactory('C', undefined, sequence, false), pluginFactory('D', undefined, sequence, false), - pluginFactory('E', ['C'], sequence, false) + pluginFactory('E', ['C'], sequence, false), ] await applyPlugins(nuxtApp, plugins) @@ -169,7 +169,7 @@ describe('plugin dependsOn', () => { 'end B', 'end D', 'start E', - 'end E' + 'end E', ]) }) @@ -181,7 +181,7 @@ describe('plugin dependsOn', () => { pluginFactory('C', ['B', 'A'], sequence), pluginFactory('B', undefined, sequence, false), pluginFactory('E', ['D'], sequence, false), - pluginFactory('D', ['C'], sequence, false) + pluginFactory('D', ['C'], sequence, false), ] await applyPlugins(nuxtApp, plugins) @@ -195,7 +195,7 @@ describe('plugin dependsOn', () => { 'start D', 'end D', 'start E', - 'end E' + 'end E', ]) }) @@ -206,7 +206,7 @@ describe('plugin dependsOn', () => { pluginFactory('A', ['B'], sequence), pluginFactory('B', ['C'], sequence), pluginFactory('C', ['D'], sequence), - pluginFactory('D', [], sequence) + pluginFactory('D', [], sequence), ] await applyPlugins(nuxtApp, plugins) @@ -218,7 +218,7 @@ describe('plugin dependsOn', () => { 'start B', 'end B', 'start A', - 'end A' + 'end A', ]) }) @@ -231,7 +231,7 @@ describe('plugin dependsOn', () => { sequence.push('start C') sequence.push('end C') }), - pluginFactory('B', undefined, sequence, false) + pluginFactory('B', undefined, sequence, false), ] await applyPlugins(nuxtApp, plugins) @@ -241,7 +241,7 @@ describe('plugin dependsOn', () => { 'end C', 'start B', 'end A', - 'end B' + 'end B', ]) }) @@ -251,7 +251,7 @@ describe('plugin dependsOn', () => { const plugins = [ pluginFactory('A', undefined, sequence, false), pluginFactory('B', ['A', 'C'], sequence, false), - pluginFactory('C', undefined, sequence, false) + pluginFactory('C', undefined, sequence, false), ] await applyPlugins(nuxtApp, plugins) @@ -261,7 +261,7 @@ describe('plugin dependsOn', () => { 'start C', 'end C', 'start B', - 'end B' + 'end B', ]) }) @@ -270,7 +270,7 @@ describe('plugin dependsOn', () => { const sequence: string[] = [] const plugins = [ pluginFactory('B', undefined, sequence), - pluginFactory('C', ['A', 'B'], sequence) + pluginFactory('C', ['A', 'B'], sequence), ] await applyPlugins(nuxtApp, plugins) @@ -278,7 +278,7 @@ describe('plugin dependsOn', () => { 'start B', 'end B', 'start C', - 'end C' + 'end C', ]) }) }) diff --git a/test/prepare.ts b/test/prepare.ts index 845ec57c5f..83c2acac2b 100644 --- a/test/prepare.ts +++ b/test/prepare.ts @@ -7,18 +7,18 @@ async function initTesting () { const dirs = await globby('*', { onlyDirectories: true, cwd: fileURLToPath(new URL('./fixtures', import.meta.url)), - absolute: true + absolute: true, }) await Promise.all([ // clear nuxt build files ...dirs.map(dir => fs.remove(`${dir}/.nuxt`)), // clear vite cache - ...dirs.map(dir => fs.remove(`${dir}/node_modules/.cache`), { force: true }) + ...dirs.map(dir => fs.remove(`${dir}/node_modules/.cache`), { force: true }), ]) await Promise.all( - dirs.map(dir => execa('pnpm', ['nuxi', 'prepare'], { cwd: dir })) + dirs.map(dir => execa('pnpm', ['nuxi', 'prepare'], { cwd: dir })), ) } diff --git a/test/runtime-compiler.test.ts b/test/runtime-compiler.test.ts index eda102957a..3933eff3a3 100644 --- a/test/runtime-compiler.test.ts +++ b/test/runtime-compiler.test.ts @@ -3,6 +3,7 @@ import { describe, expect, it } from 'vitest' import { $fetch, setup } from '@nuxt/test-utils/e2e' import { isWindows } from 'std-env' import { expectNoClientErrors, renderPage } from './utils' + const isWebpack = process.env.TEST_BUILDER === 'webpack' await setup({ @@ -12,8 +13,8 @@ await setup({ browser: true, setupTimeout: (isWindows ? 360 : 120) * 1000, nuxtConfig: { - builder: isWebpack ? 'webpack' : 'vite' - } + builder: isWebpack ? 'webpack' : 'vite', + }, }) describe('test basic config', () => { diff --git a/test/setup-env.ts b/test/setup-env.ts index a7ef9fb607..873b2632bf 100644 --- a/test/setup-env.ts +++ b/test/setup-env.ts @@ -10,7 +10,7 @@ const _warn = console.warn.bind(console) const hiddenWarns = [ '[@vue/reactivity-transform]', '[Vue warn]: Component', - '[Vue router warn]' + '[Vue router warn]', ] console.warn = (arg0: any, ...args: any[]) => { diff --git a/test/setup-runtime.ts b/test/setup-runtime.ts index f152abe1d4..5eb2300dd1 100644 --- a/test/setup-runtime.ts +++ b/test/setup-runtime.ts @@ -4,13 +4,13 @@ import { defineEventHandler } from 'h3' import { registerEndpoint } from '@nuxt/test-utils/runtime' vi.mock('#app/compat/idle-callback', () => ({ - requestIdleCallback: (cb: Function) => cb() + requestIdleCallback: (cb: Function) => cb(), })) const timestamp = Date.now() registerEndpoint('/_nuxt/builds/latest.json', defineEventHandler(() => ({ id: 'override', - timestamp + timestamp, }))) registerEndpoint('/_nuxt/builds/meta/override.json', defineEventHandler(() => ({ id: 'override', @@ -19,10 +19,10 @@ registerEndpoint('/_nuxt/builds/meta/override.json', defineEventHandler(() => ({ static: { '/': null, '/pre': null, - '/pre/test': { redirect: true } + '/pre/test': { redirect: true }, }, wildcard: { '/pre': { prerender: true } }, - dynamic: {} + dynamic: {}, }, - prerendered: ['/specific-prerendered'] + prerendered: ['/specific-prerendered'], }))) diff --git a/test/setup.ts b/test/setup.ts index 67fb914274..2655f41fb3 100644 --- a/test/setup.ts +++ b/test/setup.ts @@ -11,7 +11,7 @@ export async function setup () { await fs.remove(tempDir) } await fs.copy(fixtureDir, tempDir, { - filter: src => !src.includes('.cache') + filter: src => !src.includes('.cache'), }) } diff --git a/test/suspense.test.ts b/test/suspense.test.ts index 70589e806e..4a1f4b635a 100644 --- a/test/suspense.test.ts +++ b/test/suspense.test.ts @@ -15,8 +15,8 @@ await setup({ nuxtConfig: { builder: isWebpack ? 'webpack' : 'vite', buildDir: process.env.NITRO_BUILD_DIR, - nitro: { output: { dir: process.env.NITRO_OUTPUT_DIR } } - } + nitro: { output: { dir: process.env.NITRO_OUTPUT_DIR } }, + }, }) describe('suspense multiple nav', () => { @@ -37,7 +37,7 @@ describe('suspense multiple nav', () => { // So we click two navigations quickly, before the first one is resolved await Promise.all([ page.locator('#btn-a').click(), - page.locator('#btn-b').click() + page.locator('#btn-b').click(), ]) expect.soft(await page.locator('#content').textContent()).toContain('Hello b') diff --git a/test/utils.ts b/test/utils.ts index fed5e0150e..09ade8db02 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -23,7 +23,7 @@ export async function renderPage (path = '/') { page.on('console', (message) => { consoleLogs.push({ type: message.type(), - text: message.text() + text: message.text(), }) }) page.on('pageerror', (err) => { @@ -45,7 +45,7 @@ export async function renderPage (path = '/') { page, pageErrors, requests, - consoleLogs + consoleLogs, } } @@ -77,7 +77,7 @@ export async function expectWithPolling ( get: () => Promise<EqualityVal> | EqualityVal, expected: EqualityVal, retries = process.env.CI ? 100 : 30, - delay = process.env.CI ? 500 : 100 + delay = process.env.CI ? 500 : 100, ) { let result: EqualityVal for (let i = retries; i >= 0; i--) { @@ -100,7 +100,7 @@ const revivers = { Ref: (data: any) => ref(data), Reactive: (data: any) => reactive(data), // test fixture reviver only - BlinkingText: () => '<revivified-blink>' + BlinkingText: () => '<revivified-blink>', } export function parsePayload (payload: string) { return parse(payload || '', revivers) @@ -111,7 +111,7 @@ export function parseData (html: string) { const _script = new Script(script) return { script: _script.runInContext(createContext({ window: {} })), - attrs: {} + attrs: {}, } } const { script, attrs } = html.match(/<script type="application\/json" id="__NUXT_DATA__"(?<attrs>[^>]+)>(?<script>.*?)<\/script>/)?.groups || {} @@ -121,6 +121,6 @@ export function parseData (html: string) { } return { script: parsePayload(script || ''), - attrs: _attrs + attrs: _attrs, } } diff --git a/vitest.config.ts b/vitest.config.ts index 2f7ce8ef35..ec08cc258d 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -10,14 +10,14 @@ export default defineConfig({ '#build/nuxt.config.mjs': resolve('./test/mocks/nuxt-config'), '#internal/nuxt/paths': resolve('./test/mocks/paths'), '#build/app.config.mjs': resolve('./test/mocks/app-config'), - '#app': resolve('./packages/nuxt/dist/app') - } + '#app': resolve('./packages/nuxt/dist/app'), + }, }, test: { globalSetup: './test/setup.ts', setupFiles: ['./test/setup-env.ts'], coverage: { - exclude: [...coverageConfigDefaults.exclude, 'packages/nuxt/src/app', 'playground', '**/test/', 'scripts', 'vitest.nuxt.config.ts'] + exclude: [...coverageConfigDefaults.exclude, 'packages/nuxt/src/app', 'playground', '**/test/', 'scripts', 'vitest.nuxt.config.ts'], }, testTimeout: isWindows ? 60000 : 10000, // Excluded plugin because it should throw an error when accidentally loaded via Nuxt @@ -25,8 +25,8 @@ export default defineConfig({ poolOptions: { threads: { maxThreads: process.env.TEST_ENV === 'dev' ? 1 : undefined, - minThreads: process.env.TEST_ENV === 'dev' ? 1 : undefined - } - } - } + minThreads: process.env.TEST_ENV === 'dev' ? 1 : undefined, + }, + }, + }, }) diff --git a/vitest.nuxt.config.ts b/vitest.nuxt.config.ts index 9a38b900cc..fec80025ca 100644 --- a/vitest.nuxt.config.ts +++ b/vitest.nuxt.config.ts @@ -4,25 +4,25 @@ export default defineVitestConfig({ test: { dir: './test/nuxt', coverage: { - include: ['packages/nuxt/src/app'] + include: ['packages/nuxt/src/app'], }, environment: 'nuxt', setupFiles: [ - './test/setup-runtime.ts' + './test/setup-runtime.ts', ], environmentOptions: { nuxt: { overrides: { experimental: { - appManifest: process.env.TEST_MANIFEST !== 'manifest-off' + appManifest: process.env.TEST_MANIFEST !== 'manifest-off', }, appConfig: { nuxt: { - buildId: 'override' - } - } - } - } - } - } + buildId: 'override', + }, + }, + }, + }, + }, + }, }) From 01cdc060f095c6db8d06b7151f1907cedff329d1 Mon Sep 17 00:00:00 2001 From: Max <maximogarciamtnez@gmail.com> Date: Fri, 5 Apr 2024 20:09:14 +0200 Subject: [PATCH 419/470] docs: update Nuxt 4 scheduled release date (#26663) --- docs/5.community/6.roadmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/5.community/6.roadmap.md b/docs/5.community/6.roadmap.md index 9d17984679..6337f81fe0 100644 --- a/docs/5.community/6.roadmap.md +++ b/docs/5.community/6.roadmap.md @@ -63,7 +63,7 @@ Each active version has its own nightly releases which are generated automatical Release | | Initial release | End Of Life | Docs ----------------------------------------|---------------------------------------------------------------------------------------------------|-----------------|--------------|------- -**4.x** (scheduled) | | 2024 Q1 | |   +**4.x** (scheduled) | | 2024 Q2 | |   **3.x** (stable) | <a href="https://npmjs.com/package/nuxt"><img alt="Nuxt latest 3.x version" src="https://flat.badgen.net/npm/v/nuxt?label="></a> | 2022-11-16 | TBA | [nuxt.com](/docs) **2.x** (maintenance) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt 2.x version" src="https://flat.badgen.net/npm/v/nuxt/2x?label="></a> | 2018-09-21 | 2024-06-30 | [v2.nuxt.com](https://v2.nuxt.com/docs) **1.x** (unsupported) | <a href="https://www.npmjs.com/package/nuxt?activeTab=versions"><img alt="Nuxt 1.x version" src="https://flat.badgen.net/npm/v/nuxt/1x?label="></a> | 2018-01-08 | 2019-09-21 |   From 6a10e9bc5eb92dd46b5934f138237b9e20a0b4d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 19:09:41 +0100 Subject: [PATCH 420/470] chore(deps): update dependency css-loader to v7 (main) (#26646) --- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 0d0d00d5cf..f7026bdf02 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -28,7 +28,7 @@ "@nuxt/friendly-errors-webpack-plugin": "^2.6.0", "@nuxt/kit": "workspace:*", "autoprefixer": "^10.4.19", - "css-loader": "^6.11.0", + "css-loader": "^7.0.0", "css-minimizer-webpack-plugin": "^6.0.0", "cssnano": "^6.1.2", "defu": "^6.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d78be56f00..a6dd682fba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -684,8 +684,8 @@ importers: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) css-loader: - specifier: ^6.11.0 - version: 6.11.0(webpack@5.91.0) + specifier: ^7.0.0 + version: 7.0.0(webpack@5.91.0) css-minimizer-webpack-plugin: specifier: ^6.0.0 version: 6.0.0(webpack@5.91.0) @@ -5300,12 +5300,12 @@ packages: postcss: 8.4.38 dev: false - /css-loader@6.11.0(webpack@5.91.0): - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} + /css-loader@7.0.0(webpack@5.91.0): + resolution: {integrity: sha512-WrO4FVoamxt5zY9CauZjoJgXRi/LZKIk+Ta7YvpSGr5r/eMYPNp5/T9ODlMe4/1rF5DYlycG1avhV4g3A/tiAw==} + engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 + webpack: ^5.27.0 peerDependenciesMeta: '@rspack/core': optional: true From 88e36f26ccf47373970e76647da29a2ed3b47a46 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:24:00 +0100 Subject: [PATCH 421/470] chore(deps): update devdependency eslint to v9 (main) (#26671) --- package.json | 2 +- pnpm-lock.yaml | 250 +++++++++++++++++++++++++++++-------------------- 2 files changed, 149 insertions(+), 103 deletions(-) diff --git a/package.json b/package.json index 9ed413920a..4564bc46dd 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "changelogen": "0.5.5", "consola": "3.2.3", "devalue": "4.3.2", - "eslint": "8.57.0", + "eslint": "9.0.0", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "^2.8.0", "eslint-typegen": "^0.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6dd682fba..1e80196b3c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,7 +24,7 @@ importers: version: 8.57.0 '@nuxt/eslint-config': specifier: 0.3.0 - version: 0.3.0(eslint@8.57.0)(typescript@5.4.3) + version: 0.3.0(eslint@9.0.0)(typescript@5.4.3) '@nuxt/kit': specifier: workspace:* version: link:packages/kit @@ -68,14 +68,14 @@ importers: specifier: 4.3.2 version: 4.3.2 eslint: - specifier: 8.57.0 - version: 8.57.0 + specifier: 9.0.0 + version: 9.0.0 eslint-plugin-no-only-tests: specifier: 3.1.0 version: 3.1.0 eslint-plugin-perfectionist: specifier: ^2.8.0 - version: 2.8.0(eslint@8.57.0)(typescript@5.4.3) + version: 2.8.0(eslint@9.0.0)(typescript@5.4.3) eslint-typegen: specifier: ^0.2.0 version: 0.2.0 @@ -648,7 +648,7 @@ importers: version: 1.4.0(@types/node@20.12.4) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.7) + version: 0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.7) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -1899,13 +1899,13 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + /@eslint-community/eslint-utils@4.4.0(eslint@9.0.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 dependencies: - eslint: 8.57.0 + eslint: 9.0.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.9.1: @@ -1927,10 +1927,32 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color + dev: true + + /@eslint/eslintrc@3.0.2: + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color /@eslint/js@8.57.0: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@eslint/js@9.0.0: + resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} /@fastify/busboy@2.0.0: resolution: {integrity: sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==} @@ -1949,11 +1971,11 @@ packages: /@floating-ui/utils@0.2.1: resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + /@humanwhocodes/config-array@0.12.3: + resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.2 + '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -1963,8 +1985,8 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} /@iconify/types@2.0.0: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -2294,41 +2316,41 @@ packages: - vue dev: false - /@nuxt/eslint-config@0.3.0(eslint@8.57.0)(typescript@5.4.3): + /@nuxt/eslint-config@0.3.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-9E06BZBmJlTDw5BlI04q0gMylucleEM2gkdCgAqbQQTgICVUzF+BhK+WHtnYwNs4OjhTARcnh6fZc94eO6ND/w==} peerDependencies: eslint: ^8.57.0 dependencies: '@eslint/js': 8.57.0 - '@nuxt/eslint-plugin': 0.3.0(eslint@8.57.0)(typescript@5.4.3) + '@nuxt/eslint-plugin': 0.3.0(eslint@9.0.0)(typescript@5.4.3) '@rushstack/eslint-patch': 1.10.1 - '@stylistic/eslint-plugin': 1.7.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.3) - eslint: 8.57.0 + '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + eslint: 9.0.0 eslint-config-flat-gitignore: 0.1.5 eslint-flat-config-utils: 0.2.0 - eslint-plugin-import-x: 0.5.0(eslint@8.57.0)(typescript@5.4.3) - eslint-plugin-jsdoc: 48.2.3(eslint@8.57.0) - eslint-plugin-unicorn: 52.0.0(eslint@8.57.0) - eslint-plugin-vue: 9.24.0(eslint@8.57.0) + eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.3) + eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) + eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) + eslint-plugin-vue: 9.24.0(eslint@9.0.0) globals: 15.0.0 pathe: 1.1.2 tslib: 2.6.2 - vue-eslint-parser: 9.4.2(eslint@8.57.0) + vue-eslint-parser: 9.4.2(eslint@9.0.0) transitivePeerDependencies: - supports-color - typescript dev: true - /@nuxt/eslint-plugin@0.3.0(eslint@8.57.0)(typescript@5.4.3): + /@nuxt/eslint-plugin@0.3.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-nooV36RIIhApEb2BgZ38vlhT3jL4dgADJnjEf9sEuGQawjTEokbhUUdoa508+z11obRU1g3PRmllTHKwilDYYg==} peerDependencies: eslint: ^8.57.0 dependencies: '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) - eslint: 8.57.0 + '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + eslint: 9.0.0 transitivePeerDependencies: - supports-color - typescript @@ -2961,7 +2983,7 @@ packages: resolution: {integrity: sha512-UTce8mUwUW0RikMb/eseJ7ys0BRkZVFB86orHzrfW12ZmFtym5zua8joZ4L7okH2dDFHkcFjqnZ5GocWBXOFtA==} engines: {node: '>=18'} - /@stylistic/eslint-plugin-js@1.7.0(eslint@8.57.0): + /@stylistic/eslint-plugin-js@1.7.0(eslint@9.0.0): resolution: {integrity: sha512-PN6On/+or63FGnhhMKSQfYcWutRlzOiYlVdLM6yN7lquoBTqUJHYnl4TA4MHwiAt46X5gRxDr1+xPZ1lOLcL+Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2970,64 +2992,64 @@ packages: '@types/eslint': 8.56.6 acorn: 8.11.3 escape-string-regexp: 4.0.0 - eslint: 8.57.0 + eslint: 9.0.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 dev: true - /@stylistic/eslint-plugin-jsx@1.7.0(eslint@8.57.0): + /@stylistic/eslint-plugin-jsx@1.7.0(eslint@9.0.0): resolution: {integrity: sha512-BACdBwXakQvjYIST5N2WWhRbvhRsIxa/F59BiZol+0IH4FSmDXhie7v/yaxDIIA9CbfElzOmIA5nWNYTVXcnwQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) + '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) '@types/eslint': 8.56.6 - eslint: 8.57.0 + eslint: 9.0.0 estraverse: 5.3.0 picomatch: 4.0.1 dev: true - /@stylistic/eslint-plugin-plus@1.7.0(eslint@8.57.0)(typescript@5.4.3): + /@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} peerDependencies: eslint: '*' dependencies: '@types/eslint': 8.56.6 - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) - eslint: 8.57.0 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.3) + eslint: 9.0.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@stylistic/eslint-plugin-ts@1.7.0(eslint@8.57.0)(typescript@5.4.3): + /@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) + '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) '@types/eslint': 8.56.6 - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) - eslint: 8.57.0 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.3) + eslint: 9.0.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@stylistic/eslint-plugin@1.7.0(eslint@8.57.0)(typescript@5.4.3): + /@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) - '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@8.57.0) - '@stylistic/eslint-plugin-plus': 1.7.0(eslint@8.57.0)(typescript@5.4.3) - '@stylistic/eslint-plugin-ts': 1.7.0(eslint@8.57.0)(typescript@5.4.3) + '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) + '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@9.0.0) + '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.3) + '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.3) '@types/eslint': 8.56.6 - eslint: 8.57.0 + eslint: 9.0.0 transitivePeerDependencies: - supports-color - typescript @@ -3337,7 +3359,7 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3349,13 +3371,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/type-utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.0.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -3366,7 +3388,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/parser@7.5.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3381,7 +3403,7 @@ packages: '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.0.0 typescript: 5.4.3 transitivePeerDependencies: - supports-color @@ -3403,7 +3425,7 @@ packages: '@typescript-eslint/visitor-keys': 7.5.0 dev: true - /@typescript-eslint/type-utils@7.5.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/type-utils@7.5.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3414,9 +3436,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.0.0 ts-api-utils: 1.0.3(typescript@5.4.3) typescript: 5.4.3 transitivePeerDependencies: @@ -3477,38 +3499,38 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) - eslint: 8.57.0 + eslint: 9.0.0 semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@7.5.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/utils@7.5.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.5.0 '@typescript-eslint/types': 7.5.0 '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) - eslint: 8.57.0 + eslint: 9.0.0 semver: 7.6.0 transitivePeerDependencies: - supports-color @@ -3541,6 +3563,7 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true /@unhead/dom@1.9.4: resolution: {integrity: sha512-nEaHOcCL0u56g4XOV5XGwRMFZ05eEINfp8nxVrPiIGLrS9BoFrZS7/6IYSkalkNRTmw8M5xqxt6BalBr594SaA==} @@ -5694,6 +5717,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 + dev: true /doctypes@1.1.0: resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} @@ -6016,16 +6040,16 @@ packages: - supports-color dev: true - /eslint-plugin-import-x@0.5.0(eslint@8.57.0)(typescript@5.4.3): + /eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==} engines: {node: '>=16'} peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 dependencies: - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) debug: 4.3.4 doctrine: 3.0.0 - eslint: 8.57.0 + eslint: 9.0.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.3 is-glob: 4.0.3 @@ -6036,7 +6060,7 @@ packages: - typescript dev: true - /eslint-plugin-jsdoc@48.2.3(eslint@8.57.0): + /eslint-plugin-jsdoc@48.2.3(eslint@9.0.0): resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} engines: {node: '>=18'} peerDependencies: @@ -6047,7 +6071,7 @@ packages: comment-parser: 1.4.1 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 8.57.0 + eslint: 9.0.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.6.0 @@ -6061,7 +6085,7 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-perfectionist@2.8.0(eslint@8.57.0)(typescript@5.4.3): + /eslint-plugin-perfectionist@2.8.0(eslint@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-XBjQ4ctU1rOzQ4bFJoUowe8XdsIIz42JqNrouFlae1TO78HjoyYBaRP8+gAHDDQCSdHY10pbChyzlJeBA6D51w==} peerDependencies: astro-eslint-parser: ^0.16.0 @@ -6079,8 +6103,8 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) - eslint: 8.57.0 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.3) + eslint: 9.0.0 minimatch: 9.0.3 natural-compare-lite: 1.4.0 transitivePeerDependencies: @@ -6088,19 +6112,19 @@ packages: - typescript dev: true - /eslint-plugin-unicorn@52.0.0(eslint@8.57.0): + /eslint-plugin-unicorn@52.0.0(eslint@9.0.0): resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.56.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.34.0 - eslint: 8.57.0 + eslint: 9.0.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -6115,20 +6139,20 @@ packages: - supports-color dev: true - /eslint-plugin-vue@9.24.0(eslint@8.57.0): + /eslint-plugin-vue@9.24.0(eslint@9.0.0): resolution: {integrity: sha512-9SkJMvF8NGMT9aQCwFc5rj8Wo1XWSMSHk36i7ZwdI614BU7sIOR28ZjuFPKp8YGymZN12BSEbiSwa7qikp+PBw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + eslint: 9.0.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 semver: 7.6.0 - vue-eslint-parser: 9.4.2(eslint@8.57.0) + vue-eslint-parser: 9.4.2(eslint@9.0.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -6147,6 +6171,14 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + dev: true + + /eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 /eslint-typegen@0.2.0: resolution: {integrity: sha512-zaAQemIb3RfMjxCMv+sgoXAAhrMZDlx8rZ35zaIUS7ebZHvj1QjjspQnHnZ8UA/7U00u9tI+Lv1pjX1A73HHPQ==} @@ -6160,41 +6192,41 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - 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==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + /eslint@9.0.0: + resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/eslintrc': 3.0.2 + '@eslint/js': 9.0.0 + '@humanwhocodes/config-array': 0.12.3 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -6206,6 +6238,14 @@ packages: transitivePeerDependencies: - supports-color + /espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 4.0.0 + /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6213,6 +6253,7 @@ packages: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 + dev: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -6356,11 +6397,11 @@ packages: escape-string-regexp: 1.0.5 dev: false - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + /file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} dependencies: - flat-cache: 3.1.1 + flat-cache: 4.0.1 /file-loader@6.2.0(webpack@5.91.0): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} @@ -6406,13 +6447,12 @@ packages: unicorn-magic: 0.1.0 dev: true - /flat-cache@3.1.1: - resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} - engines: {node: '>=12.0.0'} + /flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -6713,6 +6753,11 @@ packages: engines: {node: '>=8'} dependencies: type-fest: 0.20.2 + dev: true + + /globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} /globals@15.0.0: resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} @@ -11012,6 +11057,7 @@ packages: /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + dev: true /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} @@ -11540,7 +11586,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.7): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11576,7 +11622,7 @@ packages: chalk: 4.1.2 chokidar: 3.6.0 commander: 8.3.0 - eslint: 8.57.0 + eslint: 9.0.0 fast-glob: 3.3.2 fs-extra: 11.2.0 npm-run-path: 4.0.1 @@ -11881,14 +11927,14 @@ packages: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} dev: false - /vue-eslint-parser@9.4.2(eslint@8.57.0): + /vue-eslint-parser@9.4.2(eslint@9.0.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.0.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 From be8fd12bc9aa8f1e4d216b51eae03fc34c8d64b8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:52:02 +0100 Subject: [PATCH 422/470] chore(deps): update devdependency @eslint/js to v9 (main) (#26670) --- package.json | 2 +- pnpm-lock.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4564bc46dd..da3c83a254 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "magic-string": "^0.30.9" }, "devDependencies": { - "@eslint/js": "8.57.0", + "@eslint/js": "9.0.0", "@nuxt/eslint-config": "0.3.0", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e80196b3c..4fa347b7ba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,8 +20,8 @@ importers: .: devDependencies: '@eslint/js': - specifier: 8.57.0 - version: 8.57.0 + specifier: 9.0.0 + version: 9.0.0 '@nuxt/eslint-config': specifier: 0.3.0 version: 0.3.0(eslint@9.0.0)(typescript@5.4.3) From 6ce8d70029a26bae86c9e7d3b3337531bc24fd52 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:52:19 +0100 Subject: [PATCH 423/470] chore(deps): pin dependencies (main) (#26665) --- package.json | 6 +++--- pnpm-lock.yaml | 26 +++++++++----------------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index da3c83a254..0d1a72f777 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", - "@types/eslint__js": "^8.42.3", + "@types/eslint__js": "8.42.3", "@types/fs-extra": "11.0.4", "@types/node": "20.12.4", "@types/semver": "7.5.8", @@ -62,8 +62,8 @@ "devalue": "4.3.2", "eslint": "9.0.0", "eslint-plugin-no-only-tests": "3.1.0", - "eslint-plugin-perfectionist": "^2.8.0", - "eslint-typegen": "^0.2.0", + "eslint-plugin-perfectionist": "2.8.0", + "eslint-typegen": "0.2.0", "execa": "8.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4fa347b7ba..b56dc73fd2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,7 +38,7 @@ importers: specifier: 8.0.3 version: 8.0.3(vue@3.4.21) '@types/eslint__js': - specifier: ^8.42.3 + specifier: 8.42.3 version: 8.42.3 '@types/fs-extra': specifier: 11.0.4 @@ -74,10 +74,10 @@ importers: specifier: 3.1.0 version: 3.1.0 eslint-plugin-perfectionist: - specifier: ^2.8.0 + specifier: 2.8.0 version: 2.8.0(eslint@9.0.0)(typescript@5.4.3) eslint-typegen: - specifier: ^0.2.0 + specifier: 0.2.0 version: 0.2.0 execa: specifier: 8.0.1 @@ -3131,26 +3131,19 @@ packages: /@types/eslint-scope@3.7.6: resolution: {integrity: sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==} dependencies: - '@types/eslint': 8.44.5 + '@types/eslint': 8.56.6 '@types/estree': 1.0.5 - /@types/eslint@8.44.5: - resolution: {integrity: sha512-Ol2eio8LtD/tGM4Ga7Jb83NuFwEv3NqvssSlifXL9xuFpSyQZw0ecmm2Kux6iU0KxQmp95hlPmGCzGJ0TCFeRA==} - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.14 - /@types/eslint@8.56.6: resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==} dependencies: '@types/estree': 1.0.5 - '@types/json-schema': 7.0.14 - dev: true + '@types/json-schema': 7.0.15 /@types/eslint__js@8.42.3: resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} dependencies: - '@types/eslint': 8.44.5 + '@types/eslint': 8.56.6 dev: true /@types/estree@1.0.5: @@ -3204,7 +3197,6 @@ packages: /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} @@ -3506,7 +3498,7 @@ packages: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@types/json-schema': 7.0.14 + '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 @@ -3525,7 +3517,7 @@ packages: eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@types/json-schema': 7.0.14 + '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.5.0 '@typescript-eslint/types': 7.5.0 @@ -10382,7 +10374,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.14 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) From f2c2a5b0f75fd619b780406f4a908dfc4d8c95c9 Mon Sep 17 00:00:00 2001 From: RollingTL <16714526+RollingTL@users.noreply.github.com> Date: Sat, 6 Apr 2024 19:59:26 +0500 Subject: [PATCH 424/470] docs: remove step of installing deps in new nuxt project (#26676) --- docs/1.getting-started/2.installation.md | 27 ------------------------ 1 file changed, 27 deletions(-) diff --git a/docs/1.getting-started/2.installation.md b/docs/1.getting-started/2.installation.md index f89438e8f2..f207e002bc 100644 --- a/docs/1.getting-started/2.installation.md +++ b/docs/1.getting-started/2.installation.md @@ -63,33 +63,6 @@ Or change directory into your new project from your terminal: cd <project-name> ``` -Install the dependencies: - -::code-group - -```bash [yarn] -yarn install -``` - -```bash [npm] -npm install -``` - -```bash [pnpm] -pnpm install -``` - -```bash [bun] -bun install -``` - -:: - -::note -If you are using Yarn 2+ (Berry), add `nodeLinker: node-modules` to your `.yarnrc.yml` file. -[You can follow this issue status here](https://github.com/nuxt/nuxt/issues/22861) -:: - ## Development Server Now you'll be able to start your Nuxt app in development mode: From 7dcd9e2a2d6df0456d69af5ef9fc67908cff67b8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 16:12:41 +0100 Subject: [PATCH 425/470] chore(deps): update all non-major dependencies (main) (#26645) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- .github/workflows/ci.yml | 4 +- .github/workflows/release-pr.yml | 2 +- .github/workflows/scorecards.yml | 2 +- package.json | 12 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 402 ++++++++++++++----------------- test/basic.test.ts | 3 - test/bundle.test.ts | 2 +- 8 files changed, 187 insertions(+), 242 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 50d8afa48b..388d7993a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/init@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/analyze@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 with: category: "/language:javascript" diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 9d4d26a63e..b8d810b3f8 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Ensure action is by maintainer - uses: octokit/request-action@d69a4d4369a61d4045c56451421ff93ee5e7bea0 # v2.2.0 + uses: octokit/request-action@21d174fc38ff59af9cf4d7e07347d29df6dbaa99 # v2.3.0 id: check_role with: route: GET /repos/nuxt/nuxt/collaborators/${{ github.event.comment.user.login }} diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 0284a0f22f..7398d2c13b 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 with: sarif_file: results.sarif diff --git a/package.json b/package.json index 0d1a72f777..11d3751dce 100644 --- a/package.json +++ b/package.json @@ -45,14 +45,14 @@ }, "devDependencies": { "@eslint/js": "9.0.0", - "@nuxt/eslint-config": "0.3.0", + "@nuxt/eslint-config": "0.3.1", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", "@types/eslint__js": "8.42.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.12.4", + "@types/node": "20.12.5", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.4.0", + "happy-dom": "14.6.2", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.6", @@ -77,17 +77,17 @@ "nuxt-content-twoslash": "0.0.10", "ofetch": "1.3.4", "pathe": "1.1.2", - "playwright-core": "1.42.1", + "playwright-core": "1.43.0", "rimraf": "5.0.5", "semver": "7.6.0", "std-env": "3.7.0", - "typescript": "5.4.3", + "typescript": "5.4.4", "ufo": "1.5.3", "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", "vue-router": "4.3.0", - "vue-tsc": "2.0.7" + "vue-tsc": "2.0.10" }, "packageManager": "pnpm@8.15.6", "engines": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 2b5b85f195..0779fae23b 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -43,7 +43,7 @@ "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", "@vue/compiler-sfc": "3.4.21", - "@vue/language-core": "2.0.7", + "@vue/language-core": "2.0.10", "c12": "1.10.0", "esbuild-loader": "4.1.0", "h3": "1.11.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b56dc73fd2..89dbef611d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,14 +23,14 @@ importers: specifier: 9.0.0 version: 9.0.0 '@nuxt/eslint-config': - specifier: 0.3.0 - version: 0.3.0(eslint@9.0.0)(typescript@5.4.3) + specifier: 0.3.1 + version: 0.3.1(eslint@9.0.0)(typescript@5.4.4) '@nuxt/kit': specifier: workspace:* version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -44,8 +44,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.12.4 - version: 20.12.4 + specifier: 20.12.5 + version: 20.12.5 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -75,7 +75,7 @@ importers: version: 3.1.0 eslint-plugin-perfectionist: specifier: 2.8.0 - version: 2.8.0(eslint@9.0.0)(typescript@5.4.3) + version: 2.8.0(eslint@9.0.0)(typescript@5.4.4) eslint-typegen: specifier: 0.2.0 version: 0.2.0 @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.4.0 - version: 14.4.0 + specifier: 14.6.2 + version: 14.6.2 jiti: specifier: 1.21.0 version: 1.21.0 @@ -119,8 +119,8 @@ importers: specifier: 1.1.2 version: 1.1.2 playwright-core: - specifier: 1.42.1 - version: 1.42.1 + specifier: 1.43.0 + version: 1.43.0 rimraf: specifier: 5.0.5 version: 5.0.5 @@ -131,26 +131,26 @@ importers: specifier: 3.7.0 version: 3.7.0 typescript: - specifier: 5.4.3 - version: 5.4.3 + specifier: 5.4.4 + version: 5.4.4 ufo: specifier: 1.5.3 version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) + version: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) vue-router: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) vue-tsc: - specifier: 2.0.7 - version: 2.0.7(typescript@5.4.3) + specifier: 2.0.10 + version: 2.0.10(typescript@5.4.4) packages/kit: dependencies: @@ -229,10 +229,10 @@ importers: version: 2.0.0(typescript@5.4.4) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.4) + version: 5.2.8(@types/node@20.12.5) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) + version: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) webpack: specifier: 5.91.0 version: 5.91.0 @@ -262,7 +262,7 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.12.4 + version: 20.12.5 '@unhead/dom': specifier: ^1.9.4 version: 1.9.4 @@ -428,10 +428,10 @@ importers: version: 2.0.0(typescript@5.4.4) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.4) + version: 5.2.8(@types/node@20.12.5) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) + version: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) packages/schema: dependencies: @@ -497,8 +497,8 @@ importers: specifier: 3.4.21 version: 3.4.21 '@vue/language-core': - specifier: 2.0.7 - version: 2.0.7(typescript@5.4.4) + specifier: 2.0.10 + version: 2.0.10(typescript@5.4.4) c12: specifier: 1.10.0 version: 1.10.0 @@ -528,7 +528,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.4) + version: 5.2.8(@types/node@20.12.5) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.4) @@ -642,13 +642,13 @@ importers: version: 1.10.1 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.4) + version: 5.2.8(@types/node@20.12.5) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.4) + version: 1.4.0(@types/node@20.12.5) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.7) + version: 0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.10) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -839,7 +839,7 @@ importers: version: link:../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) test/fixtures/basic: dependencies: @@ -858,7 +858,7 @@ importers: version: 1.10.1 vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) test/fixtures/basic-types: dependencies: @@ -871,10 +871,10 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.12.4)(happy-dom@14.4.0) + version: 1.0.2(@types/node@20.12.5)(happy-dom@14.6.2) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) vue-router: specifier: latest version: 4.3.0(vue@3.4.21) @@ -886,7 +886,7 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) test/fixtures/minimal-types: dependencies: @@ -895,7 +895,7 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.3) + version: 3.4.21(typescript@5.4.4) test/fixtures/runtime-compiler: dependencies: @@ -1945,11 +1945,6 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@eslint/js@9.0.0: resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2038,7 +2033,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.4 + '@types/node': 20.12.5 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2226,7 +2221,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) dev: false /@nuxt/devtools-wizard@1.1.5: @@ -2287,7 +2282,7 @@ packages: simple-git: 3.23.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.14.0) - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.8) vite-plugin-vue-inspector: 4.0.2(vite@5.2.8) which: 3.0.1 @@ -2316,21 +2311,21 @@ packages: - vue dev: false - /@nuxt/eslint-config@0.3.0(eslint@9.0.0)(typescript@5.4.3): - resolution: {integrity: sha512-9E06BZBmJlTDw5BlI04q0gMylucleEM2gkdCgAqbQQTgICVUzF+BhK+WHtnYwNs4OjhTARcnh6fZc94eO6ND/w==} + /@nuxt/eslint-config@0.3.1(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-+dCRPXbq+/uB7cZn3HnhaVOyte1t21YHvtMj9MRa0ekAbY/G73DQztPVAnyh6yWaV1RtwvDBN6pf3o1SRRNbyg==} peerDependencies: - eslint: ^8.57.0 + eslint: ^8.57.0 || ^9.0.0 dependencies: - '@eslint/js': 8.57.0 - '@nuxt/eslint-plugin': 0.3.0(eslint@9.0.0)(typescript@5.4.3) + '@eslint/js': 9.0.0 + '@nuxt/eslint-plugin': 0.3.1(eslint@9.0.0)(typescript@5.4.4) '@rushstack/eslint-patch': 1.10.1 - '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.3) - '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.3) - '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 eslint-config-flat-gitignore: 0.1.5 - eslint-flat-config-utils: 0.2.0 - eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.3) + eslint-flat-config-utils: 0.2.1 + eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.4) eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) eslint-plugin-vue: 9.24.0(eslint@9.0.0) @@ -2343,13 +2338,13 @@ packages: - typescript dev: true - /@nuxt/eslint-plugin@0.3.0(eslint@9.0.0)(typescript@5.4.3): - resolution: {integrity: sha512-nooV36RIIhApEb2BgZ38vlhT3jL4dgADJnjEf9sEuGQawjTEokbhUUdoa508+z11obRU1g3PRmllTHKwilDYYg==} + /@nuxt/eslint-plugin@0.3.1(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-TflfVtPm2KNaa/jWCiffpiiiOJVDoS8oE2vAHdbu4BAPWmjonde4DCfrKbaEG4tUVnaOkGio3S1hkNmXllye4w==} peerDependencies: - eslint: ^8.57.0 + eslint: ^8.57.0 || ^9.0.0 dependencies: '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 transitivePeerDependencies: - supports-color @@ -2391,7 +2386,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2444,24 +2439,24 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.4.0 + happy-dom: 14.6.2 local-pkg: 0.5.0 magic-string: 0.30.9 node-fetch-native: 1.6.4 ofetch: 1.3.4 pathe: 1.1.2 perfect-debounce: 1.0.0 - playwright-core: 1.42.1 + playwright-core: 1.43.0 radix3: 1.1.2 scule: 1.3.0 std-env: 3.7.0 ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.8(@types/node@20.12.4) - vitest: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) - vue: 3.4.21(typescript@5.4.3) + vite: 5.2.8(@types/node@20.12.5) + vitest: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vue: 3.4.21(typescript@5.4.4) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2989,7 +2984,7 @@ packages: peerDependencies: eslint: '>=8.40.0' dependencies: - '@types/eslint': 8.56.6 + '@types/eslint': 8.56.7 acorn: 8.11.3 escape-string-regexp: 4.0.0 eslint: 9.0.0 @@ -3004,41 +2999,41 @@ packages: eslint: '>=8.40.0' dependencies: '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) - '@types/eslint': 8.56.6 + '@types/eslint': 8.56.7 eslint: 9.0.0 estraverse: 5.3.0 picomatch: 4.0.1 dev: true - /@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.3): + /@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} peerDependencies: eslint: '*' dependencies: - '@types/eslint': 8.56.6 - '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.3) + '@types/eslint': 8.56.7 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.3): + /@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' dependencies: '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) - '@types/eslint': 8.56.6 - '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.3) + '@types/eslint': 8.56.7 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.3): + /@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3046,9 +3041,9 @@ packages: dependencies: '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@9.0.0) - '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.3) - '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.3) - '@types/eslint': 8.56.6 + '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.4) + '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.4) + '@types/eslint': 8.56.7 eslint: 9.0.0 transitivePeerDependencies: - supports-color @@ -3082,7 +3077,7 @@ packages: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 '@vue/test-utils': 2.4.5 - vue: 3.4.21(typescript@5.4.3) + vue: 3.4.21(typescript@5.4.4) dev: true /@tootallnate/once@2.0.0: @@ -3119,7 +3114,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 dev: true /@types/debug@4.1.12: @@ -3131,11 +3126,11 @@ packages: /@types/eslint-scope@3.7.6: resolution: {integrity: sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==} dependencies: - '@types/eslint': 8.56.6 + '@types/eslint': 8.56.7 '@types/estree': 1.0.5 - /@types/eslint@8.56.6: - resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==} + /@types/eslint@8.56.7: + resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -3143,7 +3138,7 @@ packages: /@types/eslint__js@8.42.3: resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} dependencies: - '@types/eslint': 8.56.6 + '@types/eslint': 8.56.7 dev: true /@types/estree@1.0.5: @@ -3159,7 +3154,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.12.4 + '@types/node': 20.12.5 dev: true /@types/hash-sum@1.0.2: @@ -3175,7 +3170,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -3192,16 +3187,13 @@ packages: '@types/istanbul-lib-report': 3.0.2 dev: false - /@types/json-schema@7.0.14: - resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} - /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 dev: true /@types/lodash-es@4.17.12: @@ -3227,11 +3219,11 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 dev: true - /@types/node@20.12.4: - resolution: {integrity: sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==} + /@types/node@20.12.5: + resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} dependencies: undici-types: 5.26.5 @@ -3253,7 +3245,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3292,7 +3284,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 tapable: 2.2.1 webpack: 5.91.0 transitivePeerDependencies: @@ -3318,7 +3310,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3333,7 +3325,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3351,7 +3343,7 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.3): + /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3363,10 +3355,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.4) '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/type-utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/type-utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 eslint: 9.0.0 @@ -3374,13 +3366,13 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.3(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.5.0(eslint@9.0.0)(typescript@5.4.3): + /@typescript-eslint/parser@7.5.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3392,11 +3384,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.5.0 '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 eslint: 9.0.0 - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true @@ -3417,7 +3409,7 @@ packages: '@typescript-eslint/visitor-keys': 7.5.0 dev: true - /@typescript-eslint/type-utils@7.5.0(eslint@9.0.0)(typescript@5.4.3): + /@typescript-eslint/type-utils@7.5.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3427,12 +3419,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) debug: 4.3.4 eslint: 9.0.0 - ts-api-utils: 1.0.3(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.3(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true @@ -3447,7 +3439,7 @@ packages: engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.3): + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.4): resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3463,13 +3455,13 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.3(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.3): + /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4): resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3485,13 +3477,13 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.3(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.3): + /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3502,7 +3494,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) eslint: 9.0.0 semver: 7.6.0 transitivePeerDependencies: @@ -3510,7 +3502,7 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.5.0(eslint@9.0.0)(typescript@5.4.3): + /@typescript-eslint/utils@7.5.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3521,7 +3513,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.5.0 '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) eslint: 9.0.0 semver: 7.6.0 transitivePeerDependencies: @@ -3606,7 +3598,7 @@ packages: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - rollup dev: false @@ -3804,7 +3796,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - rollup dev: false @@ -3840,7 +3832,7 @@ packages: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) vue: 3.4.21(typescript@5.4.4) transitivePeerDependencies: - supports-color @@ -3852,7 +3844,7 @@ packages: vite: 5.2.8 vue: 3.4.21 dependencies: - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) vue: 3.4.21(typescript@5.4.4) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): @@ -3874,7 +3866,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.4)(happy-dom@14.4.0) + vitest: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) transitivePeerDependencies: - supports-color dev: true @@ -3962,10 +3954,10 @@ packages: '@volar/source-map': 1.11.1 dev: true - /@volar/language-core@2.1.3: - resolution: {integrity: sha512-F93KYZYqcYltG7NihfnLt/omMZOtrQtsh2+wj+cgx3xolopU+TZvmwlZWOjw3ObZGFj3SKBb4jJn6VSfSch6RA==} + /@volar/language-core@2.2.0-alpha.5: + resolution: {integrity: sha512-RqERQ8HXxKC/HAGpDg7oG/Yg8n3rC3KEnYE3D7lcKIblU59JEZX73IWD/L3fdjzyeSglDWjL91iOblU8MuKEoA==} dependencies: - '@volar/source-map': 2.1.3 + '@volar/source-map': 2.2.0-alpha.5 /@volar/source-map@1.11.1: resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} @@ -3973,15 +3965,15 @@ packages: muggle-string: 0.3.1 dev: true - /@volar/source-map@2.1.3: - resolution: {integrity: sha512-j+R+NG/OlDgdNMttADxNuSM9Z26StT/Bjw0NgSydI05Vihngn9zvaP/xXwfWs5qQrRzbKVFxJebS2ks5m/URuA==} + /@volar/source-map@2.2.0-alpha.5: + resolution: {integrity: sha512-Lw1LOPgt1QGaQX9HstRTlBz5x6d5mGq9ZTFMeyWVr8/5YOv3hCU0ehtMTwmCiAX/ZyNSINFI01ODePy2hwy06A==} dependencies: muggle-string: 0.4.1 - /@volar/typescript@2.1.3: - resolution: {integrity: sha512-ZZqLMih4mvu2eJAW3UCFm84OM/ojYMoA/BU/W1TctT5F2nVzNJmW4jxMWmP3wQzxCbATfTa5gLb1+BSI9NBMBg==} + /@volar/typescript@2.2.0-alpha.5: + resolution: {integrity: sha512-9UKZSDTcgvKMXz9TiU1kHmu3uMuH8+M7oZ6/CzBt8LvFda+ec/ZDcvBjQg2rU5EVn4d+YPYcqenkeHre3tO7Og==} dependencies: - '@volar/language-core': 2.1.3 + '@volar/language-core': 2.2.0-alpha.5 path-browserify: 1.0.1 /@vue-macros/common@1.10.1(rollup@4.14.0)(vue@3.4.21): @@ -4179,32 +4171,15 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.7(typescript@5.4.3): - resolution: {integrity: sha512-Vh1yZX3XmYjn9yYLkjU8DN6L0ceBtEcapqiyclHne8guG84IaTzqtvizZB1Yfxm3h6m7EIvjerLO5fvOZO6IIQ==} + /@vue/language-core@2.0.10(typescript@5.4.4): + resolution: {integrity: sha512-3ULtX6hSPJNdNChi6aJ4FfdJNs5EShBLxnwLFTqrk2N1385WOwGVlbHeS2R6W9s9lXZ0+mC2bv4VlFSyeNPNGA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 2.1.3 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - computeds: 0.0.1 - minimatch: 9.0.3 - path-browserify: 1.0.1 - typescript: 5.4.3 - vue-template-compiler: 2.7.14 - - /@vue/language-core@2.0.7(typescript@5.4.4): - resolution: {integrity: sha512-Vh1yZX3XmYjn9yYLkjU8DN6L0ceBtEcapqiyclHne8guG84IaTzqtvizZB1Yfxm3h6m7EIvjerLO5fvOZO6IIQ==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@volar/language-core': 2.1.3 + '@volar/language-core': 2.2.0-alpha.5 '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 computeds: 0.0.1 @@ -4212,7 +4187,6 @@ packages: path-browserify: 1.0.1 typescript: 5.4.4 vue-template-compiler: 2.7.14 - dev: true /@vue/reactivity@3.4.21: resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} @@ -5893,7 +5867,7 @@ packages: webpack: ^4.40.0 || ^5.0.0 dependencies: esbuild: 0.20.2 - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.3 loader-utils: 2.0.4 webpack: 5.91.0 webpack-sources: 1.4.3 @@ -6015,10 +5989,10 @@ packages: parse-gitignore: 2.0.0 dev: true - /eslint-flat-config-utils@0.2.0: - resolution: {integrity: sha512-8jLkFKKBAzWPBEjygdH/P9Y/c+K9AcuMAig9u/4/x7mtsDRHj8EdgEJHX1IEvOTAbZiWXEUoZqiKZUIx/1FWKg==} + /eslint-flat-config-utils@0.2.1: + resolution: {integrity: sha512-SKnSr4YdPD7xxynNpaad/IlJYfeDmtWvZ0UEmHEA0+eTOcZFPt1075KO87LIWN30jXGCREG2qcCqdAnRoCiAWQ==} dependencies: - '@types/eslint': 8.56.6 + '@types/eslint': 8.56.7 pathe: 1.1.2 dev: true @@ -6032,13 +6006,13 @@ packages: - supports-color dev: true - /eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.3): + /eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==} engines: {node: '>=16'} peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 dependencies: - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) debug: 4.3.4 doctrine: 3.0.0 eslint: 9.0.0 @@ -6077,7 +6051,7 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-perfectionist@2.8.0(eslint@9.0.0)(typescript@5.4.3): + /eslint-plugin-perfectionist@2.8.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-XBjQ4ctU1rOzQ4bFJoUowe8XdsIIz42JqNrouFlae1TO78HjoyYBaRP8+gAHDDQCSdHY10pbChyzlJeBA6D51w==} peerDependencies: astro-eslint-parser: ^0.16.0 @@ -6095,7 +6069,7 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.3) + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 minimatch: 9.0.3 natural-compare-lite: 1.4.0 @@ -6175,7 +6149,7 @@ packages: /eslint-typegen@0.2.0: resolution: {integrity: sha512-zaAQemIb3RfMjxCMv+sgoXAAhrMZDlx8rZ35zaIUS7ebZHvj1QjjspQnHnZ8UA/7U00u9tI+Lv1pjX1A73HHPQ==} dependencies: - '@types/eslint': 8.56.6 + '@types/eslint': 8.56.7 json-schema-to-typescript-lite: 14.0.0 ohash: 1.1.3 dev: true @@ -6640,16 +6614,10 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - /get-tsconfig@4.7.3: resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} dependencies: resolve-pkg-maps: 1.0.0 - dev: true /giget@1.2.1: resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} @@ -6830,8 +6798,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.4.0: - resolution: {integrity: sha512-H/vV0+/rGhdQeKGjvMVE4X0/pHNmymEnyGvo0nx9TYfo5DwByOqrnOpLRsepwROEkM0vi1ddw9yJW3sBzwzK1A==} + /happy-dom@14.6.2: + resolution: {integrity: sha512-yiaVI0Da/tGrBD6QwmXkJZH9RPW1/TCxqadbwkp0MgwRTTDNyBC09Ow+nppVLhbG4Ws2Z6t29Vzbbd6C0y7LCQ==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -7506,7 +7474,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.4 + '@types/node': 20.12.5 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7517,7 +7485,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7525,7 +7493,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9331,8 +9299,8 @@ packages: mlly: 1.6.1 pathe: 1.1.2 - /playwright-core@1.42.1: - resolution: {integrity: sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==} + /playwright-core@1.43.0: + resolution: {integrity: sha512-iWFjyBUH97+pUFiyTqSLd8cDMMOS0r2ZYz2qEsPjH8/bX++sbIJT35MSwKnp1r/OQBAqC5XO99xFbJ9XClhf4w==} engines: {node: '>=16'} hasBin: true dev: true @@ -10382,7 +10350,7 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.14 + '@types/json-schema': 7.0.15 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) @@ -10983,13 +10951,13 @@ packages: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: true - /ts-api-utils@1.0.3(typescript@5.4.3): + /ts-api-utils@1.0.3(typescript@5.4.4): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.3 + typescript: 5.4.4 dev: true /tslib@2.6.2: @@ -11070,11 +11038,6 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - /typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} - engines: {node: '>=14.17'} - hasBin: true - /typescript@5.4.4: resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} engines: {node: '>=14.17'} @@ -11306,7 +11269,7 @@ packages: '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - postcss - rollup @@ -11534,10 +11497,10 @@ packages: peerDependencies: vite: 5.2.8 dependencies: - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) dev: false - /vite-node@1.0.2(@types/node@20.12.4): + /vite-node@1.0.2(@types/node@20.12.5): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11546,7 +11509,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - '@types/node' - less @@ -11558,7 +11521,7 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.12.4): + /vite-node@1.4.0(@types/node@20.12.5): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11567,7 +11530,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - '@types/node' - less @@ -11578,7 +11541,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.7): + /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.10): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11622,12 +11585,12 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.4 - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.7(typescript@5.4.3) + vue-tsc: 2.0.10(typescript@5.4.4) dev: false /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.8): @@ -11650,7 +11613,7 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - rollup - supports-color @@ -11670,12 +11633,12 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.8(@types/node@20.12.4): + /vite@5.2.8(@types/node@20.12.5): resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11703,17 +11666,17 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.14.0 optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.4.0)(playwright-core@1.42.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11731,7 +11694,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.12.4)(happy-dom@14.4.0): + /vitest@1.0.2(@types/node@20.12.5)(happy-dom@14.6.2): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11756,7 +11719,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11767,7 +11730,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.4.0 + happy-dom: 14.6.2 local-pkg: 0.5.0 magic-string: 0.30.9 pathe: 1.1.2 @@ -11776,8 +11739,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.4) - vite-node: 1.0.2(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) + vite-node: 1.0.2(@types/node@20.12.5) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11789,7 +11752,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.12.4)(happy-dom@14.4.0): + /vitest@1.4.0(@types/node@20.12.5)(happy-dom@14.6.2): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11814,7 +11777,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -11824,7 +11787,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.4.0 + happy-dom: 14.6.2 local-pkg: 0.5.0 magic-string: 0.30.9 pathe: 1.1.2 @@ -11833,8 +11796,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.4) - vite-node: 1.4.0(@types/node@20.12.4) + vite: 5.2.8(@types/node@20.12.5) + vite-node: 1.4.0(@types/node@20.12.5) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11985,16 +11948,16 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.7(typescript@5.4.3): - resolution: {integrity: sha512-LYa0nInkfcDBB7y8jQ9FQ4riJTRNTdh98zK/hzt4gEpBZQmf30dPhP+odzCa+cedGz6B/guvJEd0BavZaRptjg==} + /vue-tsc@2.0.10(typescript@5.4.4): + resolution: {integrity: sha512-XD9GuUuc40fdL6VrfbFS5PehxK6exhKGEkzCbMjT01HcJVNuJxXaPFIhMEfxn581eryX7LBygAH6YYqnXQGElA==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 2.1.3 - '@vue/language-core': 2.0.7(typescript@5.4.3) + '@volar/typescript': 2.2.0-alpha.5 + '@vue/language-core': 2.0.10(typescript@5.4.4) semver: 7.6.0 - typescript: 5.4.3 + typescript: 5.4.4 /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21): resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} @@ -12007,21 +11970,6 @@ packages: vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: false - /vue@3.4.21(typescript@5.4.3): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) - '@vue/shared': 3.4.21 - typescript: 5.4.3 - /vue@3.4.21(typescript@5.4.4): resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: diff --git a/test/basic.test.ts b/test/basic.test.ts index 8a85eec6de..9e5983c4c4 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1337,7 +1337,6 @@ describe('nested suspense', () => { await page.click(`[href^="${nav}"]`) const text = await page.waitForFunction(slug => document.querySelector(`main:has(#child${slug})`)?.innerHTML, slug) - // @ts-expect-error TODO: fix upstream in playwright - types for evaluate are broken .then(r => r.evaluate(r => r)) // expect(text).toMatchInlineSnapshot() @@ -1384,7 +1383,6 @@ describe('nested suspense', () => { // wait until child selector disappears and grab HTML of parent const text = await page.waitForFunction(slug => document.querySelector(`main:not(:has(#child${slug}))`)?.innerHTML, slug) - // @ts-expect-error TODO: fix upstream in playwright - types for evaluate are broken .then(r => r.evaluate(r => r)) expect(text).toContain('Async parent: 1') @@ -1422,7 +1420,6 @@ describe('nested suspense', () => { // wait until child selector appears and grab HTML of parent const text = await page.waitForFunction(slug => document.querySelector(`main:has(#child${slug})`)?.innerHTML, slug) - // @ts-expect-error TODO: fix upstream in playwright - types for evaluate are broken .then(r => r.evaluate(r => r)) // const text = await parent.innerText() diff --git a/test/bundle.test.ts b/test/bundle.test.ts index ad73723338..aff513e1c8 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -72,7 +72,7 @@ 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(`"529k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"527k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.6k"') From bfb7eeac078be435acc713ce151ca3846a6d9f29 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Sat, 6 Apr 2024 17:15:47 +0200 Subject: [PATCH 426/470] perf(nuxt): don't add client fallback plugin if not enabled (#26666) --- packages/nuxt/src/components/module.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index 61c7686e7a..1a2b524394 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -222,10 +222,12 @@ export default defineNuxtModule<ComponentsOptions>({ getComponents, })) } - config.plugins.push(clientFallbackAutoIdPlugin.vite({ - sourcemap: !!nuxt.options.sourcemap[mode], - rootDir: nuxt.options.rootDir, - })) + if (nuxt.options.experimental.clientFallback) { + config.plugins.push(clientFallbackAutoIdPlugin.vite({ + sourcemap: !!nuxt.options.sourcemap[mode], + rootDir: nuxt.options.rootDir, + })) + } config.plugins.push(loaderPlugin.vite({ sourcemap: !!nuxt.options.sourcemap[mode], getComponents, @@ -291,10 +293,12 @@ export default defineNuxtModule<ComponentsOptions>({ getComponents, })) } - config.plugins.push(clientFallbackAutoIdPlugin.webpack({ - sourcemap: !!nuxt.options.sourcemap[mode], - rootDir: nuxt.options.rootDir, - })) + if (nuxt.options.experimental.clientFallback) { + config.plugins.push(clientFallbackAutoIdPlugin.webpack({ + sourcemap: !!nuxt.options.sourcemap[mode], + rootDir: nuxt.options.rootDir, + })) + } config.plugins.push(loaderPlugin.webpack({ sourcemap: !!nuxt.options.sourcemap[mode], getComponents, From b6cd522402587aba610999c6b1e3732dd98b6704 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 7 Apr 2024 23:05:57 +0100 Subject: [PATCH 427/470] chore(deps): update all non-major dependencies (main) (#26682) --- package.json | 6 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 368 +++++++++++++++++------------------ 3 files changed, 188 insertions(+), 188 deletions(-) diff --git a/package.json b/package.json index 11d3751dce..e5ac0f2666 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@nuxt/schema": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "rollup": "^4.14.0", + "rollup": "^4.14.1", "nuxt": "workspace:*", "vite": "5.2.8", "vue": "3.4.21", @@ -68,7 +68,7 @@ "fs-extra": "11.2.0", "globby": "14.0.1", "h3": "1.11.1", - "happy-dom": "14.6.2", + "happy-dom": "14.7.1", "jiti": "1.21.0", "markdownlint-cli": "0.39.0", "nitropack": "2.9.6", @@ -87,7 +87,7 @@ "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", "vue-router": "4.3.0", - "vue-tsc": "2.0.10" + "vue-tsc": "2.0.11" }, "packageManager": "pnpm@8.15.6", "engines": { diff --git a/packages/schema/package.json b/packages/schema/package.json index 0779fae23b..3f9b4d6bd5 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -43,7 +43,7 @@ "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", "@vue/compiler-sfc": "3.4.21", - "@vue/language-core": "2.0.10", + "@vue/language-core": "2.0.11", "c12": "1.10.0", "esbuild-loader": "4.1.0", "h3": "1.11.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 89dbef611d..6dbcce72c6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ overrides: '@nuxt/schema': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - rollup: ^4.14.0 + rollup: ^4.14.1 nuxt: workspace:* vite: 5.2.8 vue: 3.4.21 @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -92,8 +92,8 @@ importers: specifier: 1.11.1 version: 1.11.1 happy-dom: - specifier: 14.6.2 - version: 14.6.2 + specifier: 14.7.1 + version: 14.7.1 jiti: specifier: 1.21.0 version: 1.21.0 @@ -138,10 +138,10 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) + version: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.4) @@ -149,8 +149,8 @@ importers: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) vue-tsc: - specifier: 2.0.10 - version: 2.0.10(typescript@5.4.4) + specifier: 2.0.11 + version: 2.0.11(typescript@5.4.4) packages/kit: dependencies: @@ -204,7 +204,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.0) + version: 3.7.1(rollup@4.14.1) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -232,7 +232,7 @@ importers: version: 5.2.8(@types/node@20.12.5) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) + version: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) webpack: specifier: 5.91.0 version: 5.91.0 @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.5 - version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.0)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21) + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.1)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -385,13 +385,13 @@ importers: version: 1.9.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.0) + version: 3.7.1(rollup@4.14.1) unplugin: specifier: ^1.10.1 version: 1.10.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.14.0)(vue-router@4.3.0)(vue@3.4.21) + version: 0.7.0(rollup@4.14.1)(vue-router@4.3.0)(vue@3.4.21) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -431,7 +431,7 @@ importers: version: 5.2.8(@types/node@20.12.5) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) + version: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) packages/schema: dependencies: @@ -464,7 +464,7 @@ importers: version: 1.5.3 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.0) + version: 3.7.1(rollup@4.14.1) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -497,8 +497,8 @@ importers: specifier: 3.4.21 version: 3.4.21 '@vue/language-core': - specifier: 2.0.10 - version: 2.0.10(typescript@5.4.4) + specifier: 2.0.11 + version: 2.0.11(typescript@5.4.4) c12: specifier: 1.10.0 version: 1.10.0 @@ -555,7 +555,7 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.14.0) + version: 5.0.5(rollup@4.14.1) '@vitejs/plugin-vue': specifier: ^5.0.4 version: 5.0.4(vite@5.2.8)(vue@3.4.21) @@ -624,7 +624,7 @@ importers: version: 8.4.38 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.14.0) + version: 5.12.0(rollup@4.14.1) std-env: specifier: ^3.7.0 version: 3.7.0 @@ -648,7 +648,7 @@ importers: version: 1.4.0(@types/node@20.12.5) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.10) + version: 0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.11) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -871,7 +871,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.12.5)(happy-dom@14.6.2) + version: 1.0.2(@types/node@20.12.5)(happy-dom@14.7.1) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.4) @@ -2240,7 +2240,7 @@ packages: semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.0)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21): + /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.1)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21): resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} hasBin: true peerDependencies: @@ -2281,9 +2281,9 @@ packages: semver: 7.6.0 simple-git: 3.23.0 sirv: 2.0.4 - unimport: 3.7.1(rollup@4.14.0) + unimport: 3.7.1(rollup@4.14.1) vite: 5.2.8(@types/node@20.12.5) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.8) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.1)(vite@5.2.8) vite-plugin-vue-inspector: 4.0.2(vite@5.2.8) which: 3.0.1 ws: 8.16.0 @@ -2386,7 +2386,7 @@ packages: rc9: 2.1.1 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2439,7 +2439,7 @@ packages: fake-indexeddb: 5.0.2 get-port-please: 3.1.2 h3: 1.11.1 - happy-dom: 14.6.2 + happy-dom: 14.7.1 local-pkg: 0.5.0 magic-string: 0.30.9 node-fetch-native: 1.6.4 @@ -2454,8 +2454,8 @@ packages: unenv: 1.9.0 unplugin: 1.10.1 vite: 5.2.8(@types/node@20.12.5) - vitest: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vitest: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.4) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2647,101 +2647,101 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.14.0): + /@rollup/plugin-alias@5.1.0(rollup@4.14.1): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.14.0 + rollup: 4.14.1 slash: 4.0.0 - /@rollup/plugin-commonjs@25.0.7(rollup@4.14.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.14.1): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.9 - rollup: 4.14.0 + rollup: 4.14.1 - /@rollup/plugin-inject@5.0.5(rollup@4.14.0): + /@rollup/plugin-inject@5.0.5(rollup@4.14.1): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) estree-walker: 2.0.2 magic-string: 0.30.9 - rollup: 4.14.0 + rollup: 4.14.1 - /@rollup/plugin-json@6.1.0(rollup@4.14.0): + /@rollup/plugin-json@6.1.0(rollup@4.14.1): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) - rollup: 4.14.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + rollup: 4.14.1 - /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.1): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.14.0 + rollup: 4.14.1 - /@rollup/plugin-replace@5.0.5(rollup@4.14.0): + /@rollup/plugin-replace@5.0.5(rollup@4.14.1): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) magic-string: 0.30.9 - rollup: 4.14.0 + rollup: 4.14.1 - /@rollup/plugin-terser@0.4.4(rollup@4.14.0): + /@rollup/plugin-terser@0.4.4(rollup@4.14.1): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.14.0 + rollup: 4.14.1 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 @@ -2753,11 +2753,11 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@4.14.0): + /@rollup/pluginutils@5.1.0(rollup@4.14.1): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true @@ -2765,108 +2765,108 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.14.0 + rollup: 4.14.1 - /@rollup/rollup-android-arm-eabi@4.14.0: - resolution: {integrity: sha512-jwXtxYbRt1V+CdQSy6Z+uZti7JF5irRKF8hlKfEnF/xJpcNGuuiZMBvuoYM+x9sr9iWGnzrlM0+9hvQ1kgkf1w==} + /@rollup/rollup-android-arm-eabi@4.14.1: + resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.14.0: - resolution: {integrity: sha512-fI9nduZhCccjzlsA/OuAwtFGWocxA4gqXGTLvOyiF8d+8o0fZUeSztixkYjcGq1fGZY3Tkq4yRvHPFxU+jdZ9Q==} + /@rollup/rollup-android-arm64@4.14.1: + resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.14.0: - resolution: {integrity: sha512-BcnSPRM76/cD2gQC+rQNGBN6GStBs2pl/FpweW8JYuz5J/IEa0Fr4AtrPv766DB/6b2MZ/AfSIOSGw3nEIP8SA==} + /@rollup/rollup-darwin-arm64@4.14.1: + resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.14.0: - resolution: {integrity: sha512-LDyFB9GRolGN7XI6955aFeI3wCdCUszFWumWU0deHA8VpR3nWRrjG6GtGjBrQxQKFevnUTHKCfPR4IvrW3kCgQ==} + /@rollup/rollup-darwin-x64@4.14.1: + resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.0: - resolution: {integrity: sha512-ygrGVhQP47mRh0AAD0zl6QqCbNsf0eTo+vgwkY6LunBcg0f2Jv365GXlDUECIyoXp1kKwL5WW6rsO429DBY/bA==} + /@rollup/rollup-linux-arm-gnueabihf@4.14.1: + resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.0: - resolution: {integrity: sha512-x+uJ6MAYRlHGe9wi4HQjxpaKHPM3d3JjqqCkeC5gpnnI6OWovLdXTpfa8trjxPLnWKyBsSi5kne+146GAxFt4A==} + /@rollup/rollup-linux-arm64-gnu@4.14.1: + resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.14.0: - resolution: {integrity: sha512-nrRw8ZTQKg6+Lttwqo6a2VxR9tOroa2m91XbdQ2sUUzHoedXlsyvY1fN4xWdqz8PKmf4orDwejxXHjh7YBGUCA==} + /@rollup/rollup-linux-arm64-musl@4.14.1: + resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.0: - resolution: {integrity: sha512-xV0d5jDb4aFu84XKr+lcUJ9y3qpIWhttO3Qev97z8DKLXR62LC3cXT/bMZXrjLF9X+P5oSmJTzAhqwUbY96PnA==} + /@rollup/rollup-linux-powerpc64le-gnu@4.14.1: + resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==} cpu: [ppc64le] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.14.0: - resolution: {integrity: sha512-SDDhBQwZX6LPRoPYjAZWyL27LbcBo7WdBFWJi5PI9RPCzU8ijzkQn7tt8NXiXRiFMJCVpkuMkBf4OxSxVMizAw==} + /@rollup/rollup-linux-riscv64-gnu@4.14.1: + resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.0: - resolution: {integrity: sha512-RxB/qez8zIDshNJDufYlTT0ZTVut5eCpAZ3bdXDU9yTxBzui3KhbGjROK2OYTTor7alM7XBhssgoO3CZ0XD3qA==} + /@rollup/rollup-linux-s390x-gnu@4.14.1: + resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.14.0: - resolution: {integrity: sha512-C6y6z2eCNCfhZxT9u+jAM2Fup89ZjiG5pIzZIDycs1IwESviLxwkQcFRGLjnDrP+PT+v5i4YFvlcfAs+LnreXg==} + /@rollup/rollup-linux-x64-gnu@4.14.1: + resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.14.0: - resolution: {integrity: sha512-i0QwbHYfnOMYsBEyjxcwGu5SMIi9sImDVjDg087hpzXqhBSosxkE7gyIYFHgfFl4mr7RrXksIBZ4DoLoP4FhJg==} + /@rollup/rollup-linux-x64-musl@4.14.1: + resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.0: - resolution: {integrity: sha512-Fq52EYb0riNHLBTAcL0cun+rRwyZ10S9vKzhGKKgeD+XbwunszSY0rVMco5KbOsTlwovP2rTOkiII/fQ4ih/zQ==} + /@rollup/rollup-win32-arm64-msvc@4.14.1: + resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.0: - resolution: {integrity: sha512-e/PBHxPdJ00O9p5Ui43+vixSgVf4NlLsmV6QneGERJ3lnjIua/kim6PRFe3iDueT1rQcgSkYP8ZBBXa/h4iPvw==} + /@rollup/rollup-win32-ia32-msvc@4.14.1: + resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.14.0: - resolution: {integrity: sha512-aGg7iToJjdklmxlUlJh/PaPNa4PmqHfyRMLunbL3eaMO0gp656+q1zOKkpJ/CVe9CryJv6tAN1HDoR8cNGzkag==} + /@rollup/rollup-win32-x64-msvc@4.14.1: + resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==} cpu: [x64] os: [win32] requiresBuild: true @@ -3587,7 +3587,7 @@ packages: vue: 3.4.21(typescript@5.4.4) dev: false - /@unocss/astro@0.58.6(rollup@4.14.0)(vite@5.2.8): + /@unocss/astro@0.58.6(rollup@4.14.1)(vite@5.2.8): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: vite: 5.2.8 @@ -3597,19 +3597,19 @@ packages: dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.8) + '@unocss/vite': 0.58.6(rollup@4.14.1)(vite@5.2.8) vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - rollup dev: false - /@unocss/cli@0.58.6(rollup@4.14.0): + /@unocss/cli@0.58.6(rollup@4.14.1): resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/preset-uno': 0.58.6 @@ -3781,13 +3781,13 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.14.0)(vite@5.2.8): + /@unocss/vite@0.58.6(rollup@4.14.1)(vite@5.2.8): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: vite: 5.2.8 dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/inspector': 0.58.6 @@ -3866,7 +3866,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.5)(happy-dom@14.6.2) + vitest: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) transitivePeerDependencies: - supports-color dev: true @@ -3954,10 +3954,10 @@ packages: '@volar/source-map': 1.11.1 dev: true - /@volar/language-core@2.2.0-alpha.5: - resolution: {integrity: sha512-RqERQ8HXxKC/HAGpDg7oG/Yg8n3rC3KEnYE3D7lcKIblU59JEZX73IWD/L3fdjzyeSglDWjL91iOblU8MuKEoA==} + /@volar/language-core@2.2.0-alpha.6: + resolution: {integrity: sha512-GmT28LX2w4x82uuQqNN/P94VOCsZRHBbGcGe+5bFtA2hbIbH6f8tFdMfgXFtyhbft/pj6f3xl37xe+t+nomLIA==} dependencies: - '@volar/source-map': 2.2.0-alpha.5 + '@volar/source-map': 2.2.0-alpha.6 /@volar/source-map@1.11.1: resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} @@ -3965,18 +3965,18 @@ packages: muggle-string: 0.3.1 dev: true - /@volar/source-map@2.2.0-alpha.5: - resolution: {integrity: sha512-Lw1LOPgt1QGaQX9HstRTlBz5x6d5mGq9ZTFMeyWVr8/5YOv3hCU0ehtMTwmCiAX/ZyNSINFI01ODePy2hwy06A==} + /@volar/source-map@2.2.0-alpha.6: + resolution: {integrity: sha512-EztD2zoUopETY+ZCUZAGUHKgj4gOkY/2WnaOS+RSTc56xm85miSA4qOBS8Lt1Ruu5vV52WIZKHW/R9PbjkZWFA==} dependencies: muggle-string: 0.4.1 - /@volar/typescript@2.2.0-alpha.5: - resolution: {integrity: sha512-9UKZSDTcgvKMXz9TiU1kHmu3uMuH8+M7oZ6/CzBt8LvFda+ec/ZDcvBjQg2rU5EVn4d+YPYcqenkeHre3tO7Og==} + /@volar/typescript@2.2.0-alpha.6: + resolution: {integrity: sha512-wTr0jO3wVXQ9FjBbWE2iX8GgDoiHp1Nttsb+tKk5IeUUb6f1uOjyeIXuS4KfeMBpCufthRO2st2O2uatAs/UXQ==} dependencies: - '@volar/language-core': 2.2.0-alpha.5 + '@volar/language-core': 2.2.0-alpha.6 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.14.0)(vue@3.4.21): + /@vue-macros/common@1.10.1(rollup@4.14.1)(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3986,9 +3986,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.14.0) + ast-kit: 0.11.3(rollup@4.14.1) local-pkg: 0.5.0 magic-string-ast: 0.3.0 vue: 3.4.21(typescript@5.4.4) @@ -4134,7 +4134,7 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.8) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8) vue: 3.4.21(typescript@5.4.4) transitivePeerDependencies: - '@vue/composition-api' @@ -4171,15 +4171,15 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.10(typescript@5.4.4): - resolution: {integrity: sha512-3ULtX6hSPJNdNChi6aJ4FfdJNs5EShBLxnwLFTqrk2N1385WOwGVlbHeS2R6W9s9lXZ0+mC2bv4VlFSyeNPNGA==} + /@vue/language-core@2.0.11(typescript@5.4.4): + resolution: {integrity: sha512-5ivg8Vem/yckzXI3L3n0mdKBPRcHSlsGt6/dpbEx42PcH3MIHAjSAJBYvENXeWJxv2ClQc8BS2mH1Ho2U7jZig==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 2.2.0-alpha.5 + '@volar/language-core': 2.2.0-alpha.6 '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 computeds: 0.0.1 @@ -4659,34 +4659,34 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.3(rollup@4.14.0): + /ast-kit@0.11.3(rollup@4.14.1): resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-kit@0.9.5(rollup@4.14.0): + /ast-kit@0.9.5(rollup@4.14.1): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-walker-scope@0.5.0(rollup@4.14.0): + /ast-walker-scope@0.5.0(rollup@4.14.1): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - ast-kit: 0.9.5(rollup@4.14.0) + ast-kit: 0.9.5(rollup@4.14.1) transitivePeerDependencies: - rollup dev: false @@ -6798,8 +6798,8 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.6.2: - resolution: {integrity: sha512-yiaVI0Da/tGrBD6QwmXkJZH9RPW1/TCxqadbwkp0MgwRTTDNyBC09Ow+nppVLhbG4Ws2Z6t29Vzbbd6C0y7LCQ==} + /happy-dom@14.7.1: + resolution: {integrity: sha512-v60Q0evZ4clvMcrAh5/F8EdxDdfHdFrtffz/CNe10jKD+nFweZVxM91tW+UyY2L4AtpgIaXdZ7TQmiO1pfcwbg==} engines: {node: '>=16.0.0'} dependencies: entities: 4.5.0 @@ -8624,14 +8624,14 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.14.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.14.0) - '@rollup/plugin-json': 6.1.0(rollup@4.14.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.14.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.14.0) - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.1) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.14.1) + '@rollup/plugin-json': 6.1.0(rollup@4.14.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.1) + '@rollup/plugin-terser': 0.4.4(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 archiver: 7.0.1 @@ -8675,8 +8675,8 @@ packages: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.14.0 - rollup-plugin-visualizer: 5.12.0(rollup@4.14.0) + rollup: 4.14.1 + rollup-plugin-visualizer: 5.12.0(rollup@4.14.1) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 @@ -8686,7 +8686,7 @@ packages: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.14.0) + unimport: 3.7.1(rollup@4.14.1) unstorage: 1.10.2(ioredis@5.3.2) unwasm: 0.3.9 transitivePeerDependencies: @@ -10235,58 +10235,58 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.14.0)(typescript@5.4.4): + /rollup-plugin-dts@6.1.0(rollup@4.14.1)(typescript@5.4.4): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.9 - rollup: 4.14.0 + rollup: 4.14.1 typescript: 5.4.4 optionalDependencies: '@babel/code-frame': 7.24.2 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.14.0): + /rollup-plugin-visualizer@5.12.0(rollup@4.14.1): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.14.0 + rollup: ^4.14.1 peerDependenciesMeta: rollup: optional: true dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.14.0 + rollup: 4.14.1 source-map: 0.7.4 yargs: 17.7.2 - /rollup@4.14.0: - resolution: {integrity: sha512-Qe7w62TyawbDzB4yt32R0+AbIo6m1/sqO7UPzFS8Z/ksL5mrfhA0v4CavfdmFav3D+ub4QeAgsGEe84DoWe/nQ==} + /rollup@4.14.1: + resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.0 - '@rollup/rollup-android-arm64': 4.14.0 - '@rollup/rollup-darwin-arm64': 4.14.0 - '@rollup/rollup-darwin-x64': 4.14.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.0 - '@rollup/rollup-linux-arm64-gnu': 4.14.0 - '@rollup/rollup-linux-arm64-musl': 4.14.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.0 - '@rollup/rollup-linux-riscv64-gnu': 4.14.0 - '@rollup/rollup-linux-s390x-gnu': 4.14.0 - '@rollup/rollup-linux-x64-gnu': 4.14.0 - '@rollup/rollup-linux-x64-musl': 4.14.0 - '@rollup/rollup-win32-arm64-msvc': 4.14.0 - '@rollup/rollup-win32-ia32-msvc': 4.14.0 - '@rollup/rollup-win32-x64-msvc': 4.14.0 + '@rollup/rollup-android-arm-eabi': 4.14.1 + '@rollup/rollup-android-arm64': 4.14.1 + '@rollup/rollup-darwin-arm64': 4.14.1 + '@rollup/rollup-darwin-x64': 4.14.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.1 + '@rollup/rollup-linux-arm64-gnu': 4.14.1 + '@rollup/rollup-linux-arm64-musl': 4.14.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1 + '@rollup/rollup-linux-riscv64-gnu': 4.14.1 + '@rollup/rollup-linux-s390x-gnu': 4.14.1 + '@rollup/rollup-linux-x64-gnu': 4.14.1 + '@rollup/rollup-linux-x64-musl': 4.14.1 + '@rollup/rollup-win32-arm64-msvc': 4.14.1 + '@rollup/rollup-win32-ia32-msvc': 4.14.1 + '@rollup/rollup-win32-x64-msvc': 4.14.1 fsevents: 2.3.3 /run-applescript@5.0.0: @@ -11063,12 +11063,12 @@ packages: typescript: optional: true dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.14.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.0) - '@rollup/plugin-json': 6.1.0(rollup@4.14.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.14.0) - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.1) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.1) + '@rollup/plugin-json': 6.1.0(rollup@4.14.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -11083,8 +11083,8 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 4.14.0 - rollup-plugin-dts: 6.1.0(rollup@4.14.0)(typescript@5.4.4) + rollup: 4.14.1 + rollup-plugin-dts: 6.1.0(rollup@4.14.1)(typescript@5.4.4) scule: 1.3.0 typescript: 5.4.4 untyped: 1.4.2 @@ -11161,10 +11161,10 @@ packages: vfile: 6.0.1 dev: true - /unimport@3.7.1(rollup@4.14.0): + /unimport@3.7.1(rollup@4.14.1): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -11237,7 +11237,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.14.0)(vite@5.2.8): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -11249,8 +11249,8 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.14.0)(vite@5.2.8) - '@unocss/cli': 0.58.6(rollup@4.14.0) + '@unocss/astro': 0.58.6(rollup@4.14.1)(vite@5.2.8) + '@unocss/cli': 0.58.6(rollup@4.14.1) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 '@unocss/postcss': 0.58.6(postcss@8.4.38) @@ -11268,7 +11268,7 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.0)(vite@5.2.8) + '@unocss/vite': 0.58.6(rollup@4.14.1)(vite@5.2.8) vite: 5.2.8(@types/node@20.12.5) transitivePeerDependencies: - postcss @@ -11276,7 +11276,7 @@ packages: - supports-color dev: false - /unplugin-vue-router@0.7.0(rollup@4.14.0)(vue-router@4.3.0)(vue@3.4.21): + /unplugin-vue-router@0.7.0(rollup@4.14.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -11285,9 +11285,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) - '@vue-macros/common': 1.10.1(rollup@4.14.0)(vue@3.4.21) - ast-walker-scope: 0.5.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@vue-macros/common': 1.10.1(rollup@4.14.1)(vue@3.4.21) + ast-walker-scope: 0.5.0(rollup@4.14.1) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 @@ -11541,7 +11541,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.10): + /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.11): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11590,10 +11590,10 @@ packages: vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.10(typescript@5.4.4) + vue-tsc: 2.0.11(typescript@5.4.4) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.0)(vite@5.2.8): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.1)(vite@5.2.8): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -11605,7 +11605,7 @@ packages: dependencies: '@antfu/utils': 0.7.7 '@nuxt/kit': link:packages/kit - '@rollup/pluginutils': 5.1.0(rollup@4.14.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -11669,14 +11669,14 @@ packages: '@types/node': 20.12.5 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.14.0 + rollup: 4.14.1 optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.6.2)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11694,7 +11694,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.12.5)(happy-dom@14.6.2): + /vitest@1.0.2(@types/node@20.12.5)(happy-dom@14.7.1): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11730,7 +11730,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.6.2 + happy-dom: 14.7.1 local-pkg: 0.5.0 magic-string: 0.30.9 pathe: 1.1.2 @@ -11752,7 +11752,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.12.5)(happy-dom@14.6.2): + /vitest@1.4.0(@types/node@20.12.5)(happy-dom@14.7.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11787,7 +11787,7 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.6.2 + happy-dom: 14.7.1 local-pkg: 0.5.0 magic-string: 0.30.9 pathe: 1.1.2 @@ -11948,14 +11948,14 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.10(typescript@5.4.4): - resolution: {integrity: sha512-XD9GuUuc40fdL6VrfbFS5PehxK6exhKGEkzCbMjT01HcJVNuJxXaPFIhMEfxn581eryX7LBygAH6YYqnXQGElA==} + /vue-tsc@2.0.11(typescript@5.4.4): + resolution: {integrity: sha512-dl5MEU4VGZdQFGBnKfPpAfV3SQmBDWs9o4YhUPvDmwk+zmb/RprzFJK2sagR6EWazogZhXENvykd3wBXWS9kng==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 2.2.0-alpha.5 - '@vue/language-core': 2.0.10(typescript@5.4.4) + '@volar/typescript': 2.2.0-alpha.6 + '@vue/language-core': 2.0.11(typescript@5.4.4) semver: 7.6.0 typescript: 5.4.4 From 98a02744bdac854757bfacfbf108029d31a891db Mon Sep 17 00:00:00 2001 From: Han <hi@fenghan.link> Date: Tue, 9 Apr 2024 01:38:40 +0800 Subject: [PATCH 428/470] fix(nuxt): prevent `getCachedData` from shaping type of `useAsyncData` (#25946) --- packages/nuxt/src/app/composables/asyncData.ts | 4 +++- test/fixtures/basic-types/types.ts | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index d9fd2ae1d5..bbce72906a 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -36,6 +36,8 @@ export type KeyOfRes<Transform extends _Transform> = KeysOf<ReturnType<Transform export type MultiWatchSources = (WatchSource<unknown> | object)[] +export type NoInfer<T> = [T][T extends any ? 0 : never] + export interface AsyncDataOptions< ResT, DataT = ResT, @@ -61,7 +63,7 @@ export interface AsyncDataOptions< * A `null` or `undefined` return value will trigger a fetch. * Default is `key => nuxt.isHydrating ? nuxt.payload.data[key] : nuxt.static.data[key]` which only caches data when payloadExtraction is enabled. */ - getCachedData?: (key: string, nuxtApp: NuxtApp) => DataT + getCachedData?: (key: string, nuxtApp: NuxtApp) => NoInfer<DataT> /** * A function that can be used to alter handler function result after resolving. * Do not use it along with the `pick` option. diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index 0c450541b4..f20bf6d556 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -512,6 +512,20 @@ describe('composables', () => { expectTypeOf(notTypedData.value!.content).toEqualTypeOf<string[]>() expectTypeOf(notTypedData.value!.untypedKey).toEqualTypeOf<any>() }) + + it('correctly types returns when using with getCachedData', () => { + expectTypeOf(useAsyncData('test', () => Promise.resolve({ foo: 1 }), { + getCachedData: key => useNuxtApp().payload.data[key], + }).data).toEqualTypeOf<Ref<{ foo: number } | null>>() + useAsyncData('test', () => Promise.resolve({ foo: 1 }), { + // @ts-expect-error cached data should return the same as value of fetcher + getCachedData: () => ({ bar: 2 }), + }) + useAsyncData<{ foo: number }, unknown, { foo: number }>('test', () => Promise.resolve({ foo: 1 }), { + // @ts-expect-error cached data should return the same as asserted type of `useAsyncData` + getCachedData: () => ({ bar: 2 }), + }) + }) }) describe('app config', () => { From 5d071a70d3b8afdf450e62489c19ba22055480ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 20:34:15 +0100 Subject: [PATCH 429/470] chore(deps): update all non-major dependencies (main) (#26692) --- package.json | 4 ++-- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 41 +++++++++++++++++++---------------- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index e5ac0f2666..9d14e0f351 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ }, "devDependencies": { "@eslint/js": "9.0.0", - "@nuxt/eslint-config": "0.3.1", + "@nuxt/eslint-config": "0.3.2", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", @@ -63,7 +63,7 @@ "eslint": "9.0.0", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "2.8.0", - "eslint-typegen": "0.2.0", + "eslint-typegen": "0.2.1", "execa": "8.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index f7026bdf02..74fd46555c 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -28,7 +28,7 @@ "@nuxt/friendly-errors-webpack-plugin": "^2.6.0", "@nuxt/kit": "workspace:*", "autoprefixer": "^10.4.19", - "css-loader": "^7.0.0", + "css-loader": "^7.1.0", "css-minimizer-webpack-plugin": "^6.0.0", "cssnano": "^6.1.2", "defu": "^6.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6dbcce72c6..ea09194901 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,8 +23,8 @@ importers: specifier: 9.0.0 version: 9.0.0 '@nuxt/eslint-config': - specifier: 0.3.1 - version: 0.3.1(eslint@9.0.0)(typescript@5.4.4) + specifier: 0.3.2 + version: 0.3.2(eslint@9.0.0)(typescript@5.4.4) '@nuxt/kit': specifier: workspace:* version: link:packages/kit @@ -77,8 +77,8 @@ importers: specifier: 2.8.0 version: 2.8.0(eslint@9.0.0)(typescript@5.4.4) eslint-typegen: - specifier: 0.2.0 - version: 0.2.0 + specifier: 0.2.1 + version: 0.2.1(eslint@9.0.0) execa: specifier: 8.0.1 version: 8.0.1 @@ -684,8 +684,8 @@ importers: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) css-loader: - specifier: ^7.0.0 - version: 7.0.0(webpack@5.91.0) + specifier: ^7.1.0 + version: 7.1.0(webpack@5.91.0) css-minimizer-webpack-plugin: specifier: ^6.0.0 version: 6.0.0(webpack@5.91.0) @@ -2311,13 +2311,13 @@ packages: - vue dev: false - /@nuxt/eslint-config@0.3.1(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-+dCRPXbq+/uB7cZn3HnhaVOyte1t21YHvtMj9MRa0ekAbY/G73DQztPVAnyh6yWaV1RtwvDBN6pf3o1SRRNbyg==} + /@nuxt/eslint-config@0.3.2(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-yjl/bMORzxNNYPuRPyEVSHMWV/5wJdd16gZ3KF/56JUJ1Y8kMg+PrwZx5GTcau98vv+Hvo21IYqiObRYHIoF/w==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 dependencies: '@eslint/js': 9.0.0 - '@nuxt/eslint-plugin': 0.3.1(eslint@9.0.0)(typescript@5.4.4) + '@nuxt/eslint-plugin': 0.3.2(eslint@9.0.0)(typescript@5.4.4) '@rushstack/eslint-patch': 1.10.1 '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.4) '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.4) @@ -2328,7 +2328,7 @@ packages: eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.4) eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) - eslint-plugin-vue: 9.24.0(eslint@9.0.0) + eslint-plugin-vue: 9.24.1(eslint@9.0.0) globals: 15.0.0 pathe: 1.1.2 tslib: 2.6.2 @@ -2338,8 +2338,8 @@ packages: - typescript dev: true - /@nuxt/eslint-plugin@0.3.1(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-TflfVtPm2KNaa/jWCiffpiiiOJVDoS8oE2vAHdbu4BAPWmjonde4DCfrKbaEG4tUVnaOkGio3S1hkNmXllye4w==} + /@nuxt/eslint-plugin@0.3.2(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-SqPW84bcDMcEwEut0zibNrKte2kj9Idjy8xWX0PsW98zGNBG+6NHYzd0TniUWVZ2/viOJTJO0myHqMFOgfb4NA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 dependencies: @@ -5289,8 +5289,8 @@ packages: postcss: 8.4.38 dev: false - /css-loader@7.0.0(webpack@5.91.0): - resolution: {integrity: sha512-WrO4FVoamxt5zY9CauZjoJgXRi/LZKIk+Ta7YvpSGr5r/eMYPNp5/T9ODlMe4/1rF5DYlycG1avhV4g3A/tiAw==} + /css-loader@7.1.0(webpack@5.91.0): + resolution: {integrity: sha512-VFNj47MAG84MqYDdh9puJG0h98Xs7gEYaX0aeGkfjYqBLB0seOE325sVbqWwaNu3hMZwEP4bB+F4gvF+A63qMA==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -6105,11 +6105,11 @@ packages: - supports-color dev: true - /eslint-plugin-vue@9.24.0(eslint@9.0.0): - resolution: {integrity: sha512-9SkJMvF8NGMT9aQCwFc5rj8Wo1XWSMSHk36i7ZwdI614BU7sIOR28ZjuFPKp8YGymZN12BSEbiSwa7qikp+PBw==} + /eslint-plugin-vue@9.24.1(eslint@9.0.0): + resolution: {integrity: sha512-wk3SuwmS1pZdcuJlokGYEi/buDOwD6KltvhIZyOnpJ/378dcQ4zchu9PAMbbLAaydCz1iYc5AozszcOOgZIIOg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) eslint: 9.0.0 @@ -6146,10 +6146,13 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-typegen@0.2.0: - resolution: {integrity: sha512-zaAQemIb3RfMjxCMv+sgoXAAhrMZDlx8rZ35zaIUS7ebZHvj1QjjspQnHnZ8UA/7U00u9tI+Lv1pjX1A73HHPQ==} + /eslint-typegen@0.2.1(eslint@9.0.0): + resolution: {integrity: sha512-y2iFHUAkw0hWUmG3r7yuuMYChZloPChuduP7XPsirsgPo3nScV6OXzRYJe+ldw9uyBQXqE0ETHQ3cIQmlTtU5g==} + peerDependencies: + eslint: ^8.45.0 || ^9.0.0 dependencies: '@types/eslint': 8.56.7 + eslint: 9.0.0 json-schema-to-typescript-lite: 14.0.0 ohash: 1.1.3 dev: true From 5695027a03b98918360f8feab5a3246ffd8c0614 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 15:00:52 +0200 Subject: [PATCH 430/470] chore(deps): update all non-major dependencies (main) (#26695) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- pnpm-lock.yaml | 323 +++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 264 insertions(+), 63 deletions(-) diff --git a/package.json b/package.json index 9d14e0f351..8266ad2859 100644 --- a/package.json +++ b/package.json @@ -45,14 +45,14 @@ }, "devDependencies": { "@eslint/js": "9.0.0", - "@nuxt/eslint-config": "0.3.2", + "@nuxt/eslint-config": "0.3.3", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", "@types/eslint__js": "8.42.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.12.5", + "@types/node": "20.12.6", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea09194901..649f901266 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,8 +23,8 @@ importers: specifier: 9.0.0 version: 9.0.0 '@nuxt/eslint-config': - specifier: 0.3.2 - version: 0.3.2(eslint@9.0.0)(typescript@5.4.4) + specifier: 0.3.3 + version: 0.3.3(eslint@9.0.0)(typescript@5.4.4) '@nuxt/kit': specifier: workspace:* version: link:packages/kit @@ -44,8 +44,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.12.5 - version: 20.12.5 + specifier: 20.12.6 + version: 20.12.6 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -138,7 +138,7 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) + version: 1.4.0(@types/node@20.12.6)(happy-dom@14.7.1) vitest-environment-nuxt: specifier: 1.0.0 version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) @@ -229,10 +229,10 @@ importers: version: 2.0.0(typescript@5.4.4) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.5) + version: 5.2.8(@types/node@20.12.6) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) + version: 1.4.0(@types/node@20.12.6)(happy-dom@14.7.1) webpack: specifier: 5.91.0 version: 5.91.0 @@ -528,7 +528,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.5) + version: 5.2.8(@types/node@20.12.6) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.4) @@ -642,10 +642,10 @@ importers: version: 1.10.1 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.5) + version: 5.2.8(@types/node@20.12.6) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5) + version: 1.4.0(@types/node@20.12.6) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.11) @@ -871,7 +871,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.12.5)(happy-dom@14.7.1) + version: 1.0.2(@types/node@20.12.6)(happy-dom@14.7.1) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.4) @@ -1908,6 +1908,11 @@ packages: eslint: 9.0.0 eslint-visitor-keys: 3.4.3 + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint-community/regexpp@4.9.1: resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -2033,7 +2038,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.5 + '@types/node': 20.12.6 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2311,17 +2316,17 @@ packages: - vue dev: false - /@nuxt/eslint-config@0.3.2(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-yjl/bMORzxNNYPuRPyEVSHMWV/5wJdd16gZ3KF/56JUJ1Y8kMg+PrwZx5GTcau98vv+Hvo21IYqiObRYHIoF/w==} + /@nuxt/eslint-config@0.3.3(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-9ZjKtPevguVAJOYF8275ftqSqENCSvR0JJ+3+LIwNf3TOR3lC37CdxLPyanqRebnXJUva0axbmzcbnDjWUicOw==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 dependencies: '@eslint/js': 9.0.0 - '@nuxt/eslint-plugin': 0.3.2(eslint@9.0.0)(typescript@5.4.4) + '@nuxt/eslint-plugin': 0.3.3(eslint@9.0.0)(typescript@5.4.4) '@rushstack/eslint-patch': 1.10.1 '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 eslint-config-flat-gitignore: 0.1.5 eslint-flat-config-utils: 0.2.1 @@ -2338,13 +2343,13 @@ packages: - typescript dev: true - /@nuxt/eslint-plugin@0.3.2(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-SqPW84bcDMcEwEut0zibNrKte2kj9Idjy8xWX0PsW98zGNBG+6NHYzd0TniUWVZ2/viOJTJO0myHqMFOgfb4NA==} + /@nuxt/eslint-plugin@0.3.3(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-1lZB5na0o5fSLvK2FmPkMmnV9Y+cs873zCwIBtwoHvIwJBojRFSS213mgn1GoJMX3AHdAkRoZ8EWbKahCjIXyQ==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) eslint: 9.0.0 transitivePeerDependencies: - supports-color @@ -2453,8 +2458,8 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.8(@types/node@20.12.5) - vitest: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) + vite: 5.2.8(@types/node@20.12.6) + vitest: 1.4.0(@types/node@20.12.6)(happy-dom@14.7.1) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.4) vue-router: 4.3.0(vue@3.4.21) @@ -3114,7 +3119,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 dev: true /@types/debug@4.1.12: @@ -3170,7 +3175,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -3193,7 +3198,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 dev: true /@types/lodash-es@4.17.12: @@ -3219,7 +3224,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 dev: true /@types/node@20.12.5: @@ -3227,6 +3232,11 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.12.6: + resolution: {integrity: sha512-3KurE8taB8GCvZBPngVbp0lk5CKi8M9f9k1rsADh0Evdz5SzJ+Q+Hx9uHoFGsLnLnd1xmkDQr2hVhlA0Mn0lKQ==} + dependencies: + undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -3310,7 +3320,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3325,7 +3335,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3343,8 +3353,8 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} + /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -3354,26 +3364,26 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 7.5.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/type-utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.5.0 + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 eslint: 9.0.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.4) + ts-api-utils: 1.3.0(typescript@5.4.4) typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.5.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} + /@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3382,10 +3392,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 eslint: 9.0.0 typescript: 5.4.4 @@ -3409,8 +3419,16 @@ packages: '@typescript-eslint/visitor-keys': 7.5.0 dev: true - /@typescript-eslint/type-utils@7.5.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} + /@typescript-eslint/scope-manager@7.6.0: + resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 + dev: true + + /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3419,11 +3437,11 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) debug: 4.3.4 eslint: 9.0.0 - ts-api-utils: 1.0.3(typescript@5.4.4) + ts-api-utils: 1.3.0(typescript@5.4.4) typescript: 5.4.4 transitivePeerDependencies: - supports-color @@ -3439,6 +3457,11 @@ packages: engines: {node: ^18.18.0 || >=20.0.0} dev: true + /@typescript-eslint/types@7.6.0: + resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} + engines: {node: ^18.18.0 || >=20.0.0} + dev: true + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.4): resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3483,6 +3506,28 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.4): + resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.4) + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3521,6 +3566,25 @@ packages: - typescript dev: true + /@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + eslint: 9.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/visitor-keys@6.21.0: resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3537,6 +3601,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@7.6.0: + resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.6.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@typescript/vfs@1.5.0: resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} dependencies: @@ -3832,7 +3904,7 @@ packages: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.6) vue: 3.4.21(typescript@5.4.4) transitivePeerDependencies: - supports-color @@ -3866,7 +3938,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) + vitest: 1.4.0(@types/node@20.12.6)(happy-dom@14.7.1) transitivePeerDependencies: - supports-color dev: true @@ -7477,7 +7549,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.5 + '@types/node': 20.12.6 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7488,7 +7560,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7496,7 +7568,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8450,6 +8522,13 @@ packages: dependencies: brace-expansion: 2.0.1 + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -10963,6 +11042,15 @@ packages: typescript: 5.4.4 dev: true + /ts-api-utils@1.3.0(typescript@5.4.4): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.4 + dev: true + /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} @@ -11503,7 +11591,7 @@ packages: vite: 5.2.8(@types/node@20.12.5) dev: false - /vite-node@1.0.2(@types/node@20.12.5): + /vite-node@1.0.2(@types/node@20.12.6): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11512,7 +11600,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.6) transitivePeerDependencies: - '@types/node' - less @@ -11543,6 +11631,27 @@ packages: - sugarss - supports-color - terser + dev: true + + /vite-node@1.4.0(@types/node@20.12.6): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.8(@types/node@20.12.6) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.11): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} @@ -11588,7 +11697,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.4 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.6) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11676,6 +11785,41 @@ packages: optionalDependencies: fsevents: 2.3.3 + /vite@5.2.8(@types/node@20.12.6): + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.12.6 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.14.1 + optionalDependencies: + fsevents: 2.3.3 + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: @@ -11697,7 +11841,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.12.5)(happy-dom@14.7.1): + /vitest@1.0.2(@types/node@20.12.6)(happy-dom@14.7.1): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11722,7 +11866,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11742,8 +11886,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.5) - vite-node: 1.0.2(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.6) + vite-node: 1.0.2(@types/node@20.12.6) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11812,6 +11956,63 @@ packages: - terser dev: true + /vitest@1.4.0(@types/node@20.12.6)(happy-dom@14.7.1): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.12.6 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + acorn-walk: 8.3.2 + chai: 4.3.10 + debug: 4.3.4 + execa: 8.0.1 + happy-dom: 14.7.1 + local-pkg: 0.5.0 + magic-string: 0.30.9 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + tinybench: 2.5.1 + tinypool: 0.8.2 + vite: 5.2.8(@types/node@20.12.6) + vite-node: 1.4.0(@types/node@20.12.6) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /void-elements@3.1.0: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} From 0a1b72f9fdf379ab8c56a057eeff1a9b701ba1ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Tue, 9 Apr 2024 15:03:29 +0200 Subject: [PATCH 431/470] feat(nuxt): support passing options to `useRequestURL` (#26687) --- packages/nuxt/src/app/composables/url.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/composables/url.ts b/packages/nuxt/src/app/composables/url.ts index d8b6cf554f..a3eeff06e6 100644 --- a/packages/nuxt/src/app/composables/url.ts +++ b/packages/nuxt/src/app/composables/url.ts @@ -2,9 +2,9 @@ import { getRequestURL } from 'h3' import { useRequestEvent } from './ssr' /** @since 3.5.0 */ -export function useRequestURL () { +export function useRequestURL (opts?: Parameters<typeof getRequestURL>[1]) { if (import.meta.server) { - return getRequestURL(useRequestEvent()!) + return getRequestURL(useRequestEvent()!, opts) } return new URL(window.location.href) } From 36c0137b7e98186980903c3f44447d4c14fc81eb Mon Sep 17 00:00:00 2001 From: Anthony Fu <anthonyfu117@hotmail.com> Date: Tue, 9 Apr 2024 15:03:42 +0200 Subject: [PATCH 432/470] feat(nuxt): introduce `imports.scan` option (#26576) --- packages/nuxt/src/imports/module.ts | 67 ++++++++++++++++------------ packages/schema/src/types/imports.ts | 7 +++ 2 files changed, 46 insertions(+), 28 deletions(-) diff --git a/packages/nuxt/src/imports/module.ts b/packages/nuxt/src/imports/module.ts index 7ae8479399..f332a668de 100644 --- a/packages/nuxt/src/imports/module.ts +++ b/packages/nuxt/src/imports/module.ts @@ -17,6 +17,7 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ }, defaults: { autoImport: true, + scan: true, presets: defaultPresets, global: false, imports: [], @@ -51,31 +52,37 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ // composables/ dirs from all layers let composablesDirs: string[] = [] - for (const layer of nuxt.options._layers) { - composablesDirs.push(resolve(layer.config.srcDir, 'composables')) - composablesDirs.push(resolve(layer.config.srcDir, 'utils')) - for (const dir of (layer.config.imports?.dirs ?? [])) { - if (!dir) { + if (options.scan) { + for (const layer of nuxt.options._layers) { + // Layer disabled scanning for itself + if (layer.config?.imports?.scan === false) { continue } - composablesDirs.push(resolve(layer.config.srcDir, dir)) + composablesDirs.push(resolve(layer.config.srcDir, 'composables')) + composablesDirs.push(resolve(layer.config.srcDir, 'utils')) + for (const dir of (layer.config.imports?.dirs ?? [])) { + if (!dir) { + continue + } + composablesDirs.push(resolve(layer.config.srcDir, dir)) + } } + + await nuxt.callHook('imports:dirs', composablesDirs) + composablesDirs = composablesDirs.map(dir => normalize(dir)) + + // Restart nuxt when composable directories are added/removed + nuxt.hook('builder:watch', (event, relativePath) => { + if (!['addDir', 'unlinkDir'].includes(event)) { return } + + const path = resolve(nuxt.options.srcDir, relativePath) + if (composablesDirs.includes(path)) { + logger.info(`Directory \`${relativePath}/\` ${event === 'addDir' ? 'created' : 'removed'}`) + return nuxt.callHook('restart') + } + }) } - await nuxt.callHook('imports:dirs', composablesDirs) - composablesDirs = composablesDirs.map(dir => normalize(dir)) - - // Restart nuxt when composable directories are added/removed - nuxt.hook('builder:watch', (event, relativePath) => { - if (!['addDir', 'unlinkDir'].includes(event)) { return } - - const path = resolve(nuxt.options.srcDir, relativePath) - if (composablesDirs.includes(path)) { - logger.info(`Directory \`${relativePath}/\` ${event === 'addDir' ? 'created' : 'removed'}`) - return nuxt.callHook('restart') - } - }) - // Support for importing from '#imports' addTemplate({ filename: 'imports.mjs', @@ -101,14 +108,18 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ await ctx.modifyDynamicImports(async (imports) => { // Clear old imports imports.length = 0 - // Scan `composables/` - const composableImports = await scanDirExports(composablesDirs, { - fileFilter: file => !isIgnored(file), - }) - for (const i of composableImports) { - i.priority = i.priority || priorities.find(([dir]) => i.from.startsWith(dir))?.[1] + + // Scan for `composables/` and `utils/` directories + if (options.scan) { + const scannedImports = await scanDirExports(composablesDirs, { + fileFilter: file => !isIgnored(file), + }) + for (const i of scannedImports) { + i.priority = i.priority || priorities.find(([dir]) => i.from.startsWith(dir))?.[1] + } + imports.push(...scannedImports) } - imports.push(...composableImports) + // Modules extending await nuxt.callHook('imports:extend', imports) return imports @@ -127,7 +138,7 @@ export default defineNuxtModule<Partial<ImportsOptions>>({ // Watch composables/ directory nuxt.hook('builder:watch', async (_, relativePath) => { const path = resolve(nuxt.options.srcDir, relativePath) - if (composablesDirs.some(dir => dir === path || path.startsWith(dir + '/'))) { + if (options.scan && composablesDirs.some(dir => dir === path || path.startsWith(dir + '/'))) { await regenerateImports() } }) diff --git a/packages/schema/src/types/imports.ts b/packages/schema/src/types/imports.ts index 1dc9e1b393..96171ecf87 100644 --- a/packages/schema/src/types/imports.ts +++ b/packages/schema/src/types/imports.ts @@ -15,6 +15,13 @@ export interface ImportsOptions extends UnimportOptions { */ dirs?: string[] + /** + * Enabled scan for local directories for auto imports. + * When this is disabled, `dirs` options will be ignored. + * @default true + */ + scan?: boolean + /** * Assign auto imported utilities to `globalThis` instead of using built time transformation. * @default false From b25fcbda6310410ae8b6fd7101b9582ad937000c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 18:11:12 +0200 Subject: [PATCH 433/470] chore(deps): update all non-major dependencies (main) (#26702) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- pnpm-lock.yaml | 104 ++++++++----------------------------------------- 2 files changed, 18 insertions(+), 90 deletions(-) diff --git a/package.json b/package.json index 8266ad2859..268b0b161c 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ }, "devDependencies": { "@eslint/js": "9.0.0", - "@nuxt/eslint-config": "0.3.3", + "@nuxt/eslint-config": "0.3.4", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", @@ -63,7 +63,7 @@ "eslint": "9.0.0", "eslint-plugin-no-only-tests": "3.1.0", "eslint-plugin-perfectionist": "2.8.0", - "eslint-typegen": "0.2.1", + "eslint-typegen": "0.2.2", "execa": "8.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 649f901266..8062098f5c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,8 +23,8 @@ importers: specifier: 9.0.0 version: 9.0.0 '@nuxt/eslint-config': - specifier: 0.3.3 - version: 0.3.3(eslint@9.0.0)(typescript@5.4.4) + specifier: 0.3.4 + version: 0.3.4(eslint@9.0.0)(typescript@5.4.4) '@nuxt/kit': specifier: workspace:* version: link:packages/kit @@ -77,8 +77,8 @@ importers: specifier: 2.8.0 version: 2.8.0(eslint@9.0.0)(typescript@5.4.4) eslint-typegen: - specifier: 0.2.1 - version: 0.2.1(eslint@9.0.0) + specifier: 0.2.2 + version: 0.2.2(eslint@9.0.0) execa: specifier: 8.0.1 version: 8.0.1 @@ -2316,13 +2316,13 @@ packages: - vue dev: false - /@nuxt/eslint-config@0.3.3(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-9ZjKtPevguVAJOYF8275ftqSqENCSvR0JJ+3+LIwNf3TOR3lC37CdxLPyanqRebnXJUva0axbmzcbnDjWUicOw==} + /@nuxt/eslint-config@0.3.4(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-O5Tpf4znp3n/GRP/8nBiHgdecJewdsweiat0OAkbcItxiioogQJ+VgUSNOsq5EHznJkX7umLQCeEOXd1YeKgvg==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 dependencies: '@eslint/js': 9.0.0 - '@nuxt/eslint-plugin': 0.3.3(eslint@9.0.0)(typescript@5.4.4) + '@nuxt/eslint-plugin': 0.3.4(eslint@9.0.0)(typescript@5.4.4) '@rushstack/eslint-patch': 1.10.1 '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.4) '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.4) @@ -2343,8 +2343,8 @@ packages: - typescript dev: true - /@nuxt/eslint-plugin@0.3.3(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-1lZB5na0o5fSLvK2FmPkMmnV9Y+cs873zCwIBtwoHvIwJBojRFSS213mgn1GoJMX3AHdAkRoZ8EWbKahCjIXyQ==} + /@nuxt/eslint-plugin@0.3.4(eslint@9.0.0)(typescript@5.4.4): + resolution: {integrity: sha512-WqGnD7aJCS43dMlnhKfTKoJrglLz+vIFfSUmCrdRXHXnhHV/o6YGvm18VHjshZNFXVm2x3/NqYn2vPrj5AGjuA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 dependencies: @@ -3105,7 +3105,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.3 + minimatch: 9.0.4 dev: false /@types/aria-query@5.0.4: @@ -3411,14 +3411,6 @@ packages: '@typescript-eslint/visitor-keys': 6.21.0 dev: true - /@typescript-eslint/scope-manager@7.5.0: - resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==} - engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 - dev: true - /@typescript-eslint/scope-manager@7.6.0: resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} engines: {node: ^18.18.0 || >=20.0.0} @@ -3452,11 +3444,6 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/types@7.5.0: - resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==} - engines: {node: ^18.18.0 || >=20.0.0} - dev: true - /@typescript-eslint/types@7.6.0: resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -3478,29 +3465,7 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.4) - typescript: 5.4.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4): - resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.4) + ts-api-utils: 1.3.0(typescript@5.4.4) typescript: 5.4.4 transitivePeerDependencies: - supports-color @@ -3547,25 +3512,6 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.5.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - eslint: 9.0.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -3593,14 +3539,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.5.0: - resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==} - engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.5.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@7.6.0: resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -6084,14 +6022,14 @@ packages: peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 dependencies: - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) debug: 4.3.4 doctrine: 3.0.0 eslint: 9.0.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.3 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.4 semver: 7.6.0 transitivePeerDependencies: - supports-color @@ -6218,8 +6156,8 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-typegen@0.2.1(eslint@9.0.0): - resolution: {integrity: sha512-y2iFHUAkw0hWUmG3r7yuuMYChZloPChuduP7XPsirsgPo3nScV6OXzRYJe+ldw9uyBQXqE0ETHQ3cIQmlTtU5g==} + /eslint-typegen@0.2.2(eslint@9.0.0): + resolution: {integrity: sha512-hgKW5octZPdbnOvzWYjzdk3fD8P8n2c7RvmYlVF3zLFjkf2wyvAf9QRt/r8a7jYzqh6lZrVgr81XOe5jwz3z9g==} peerDependencies: eslint: ^8.45.0 || ^9.0.0 dependencies: @@ -7144,7 +7082,7 @@ packages: resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 9.0.3 + minimatch: 9.0.4 dev: false /ignore@5.3.1: @@ -8527,7 +8465,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 - dev: true /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -11033,15 +10970,6 @@ packages: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: true - /ts-api-utils@1.0.3(typescript@5.4.4): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.4.4 - dev: true - /ts-api-utils@1.3.0(typescript@5.4.4): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} From d8299b635fcbb5739af880ec3421703afa9b2a75 Mon Sep 17 00:00:00 2001 From: Taras Batenkov <taras.batenkov@gmail.com> Date: Tue, 9 Apr 2024 20:27:21 +0300 Subject: [PATCH 434/470] docs: clarify `dependsOn` works not just for parallel plugins (#26707) --- docs/2.guide/2.directory-structure/1.plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/2.guide/2.directory-structure/1.plugins.md b/docs/2.guide/2.directory-structure/1.plugins.md index 4de600585d..3753847b5b 100644 --- a/docs/2.guide/2.directory-structure/1.plugins.md +++ b/docs/2.guide/2.directory-structure/1.plugins.md @@ -117,7 +117,7 @@ export default defineNuxtPlugin({ ### Plugins With Dependencies -If a plugin needs to await a parallel plugin before it runs, you can add the plugin's name to the `dependsOn` array. +If a plugin needs to wait for another plugin before it runs, you can add the plugin's name to the `dependsOn` array. ```ts twoslash [plugins/depending-on-my-plugin.ts] export default defineNuxtPlugin({ From a7425d30a78a9fab40cd56c8b2c5e283c91bfa24 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Apr 2024 09:03:09 +0200 Subject: [PATCH 435/470] chore(deps): update all non-major dependencies (main) (#26710) --- .github/workflows/ci.yml | 2 +- package.json | 2 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 114 ++++++++++++++++++----------------- 5 files changed, 64 insertions(+), 58 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 388d7993a1..0885a8be2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -236,7 +236,7 @@ jobs: TEST_CONTEXT: ${{ matrix.context }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || runner.os == 'Windows' }} - - uses: codecov/codecov-action@7afa10ed9b269c561c2336fd862446844e0cbf71 # v4.2.0 + - uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # v4.3.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 }} diff --git a/package.json b/package.json index 268b0b161c..a304805c71 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@testing-library/vue": "8.0.3", "@types/eslint__js": "8.42.3", "@types/fs-extra": "11.0.4", - "@types/node": "20.12.6", + "@types/node": "20.12.7", "@types/semver": "7.5.8", "@vitest/coverage-v8": "1.4.0", "@vue/test-utils": "2.4.5", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 589acd95d9..6e93aac8d9 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -63,7 +63,7 @@ "@nuxt/devtools": "^1.1.5", "@nuxt/kit": "workspace:*", "@nuxt/schema": "workspace:*", - "@nuxt/telemetry": "^2.5.3", + "@nuxt/telemetry": "^2.5.4", "@nuxt/ui-templates": "^1.3.3", "@nuxt/vite-builder": "workspace:*", "@unhead/dom": "^1.9.4", diff --git a/packages/schema/package.json b/packages/schema/package.json index 3f9b4d6bd5..a42d86a060 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -34,7 +34,7 @@ "prepack": "unbuild" }, "devDependencies": { - "@nuxt/telemetry": "2.5.3", + "@nuxt/telemetry": "2.5.4", "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8062098f5c..ab68356bcd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,8 +44,8 @@ importers: specifier: 11.0.4 version: 11.0.4 '@types/node': - specifier: 20.12.6 - version: 20.12.6 + specifier: 20.12.7 + version: 20.12.7 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -138,7 +138,7 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.6)(happy-dom@14.7.1) + version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) vitest-environment-nuxt: specifier: 1.0.0 version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) @@ -229,10 +229,10 @@ importers: version: 2.0.0(typescript@5.4.4) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.6) + version: 5.2.8(@types/node@20.12.7) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.6)(happy-dom@14.7.1) + version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) webpack: specifier: 5.91.0 version: 5.91.0 @@ -252,8 +252,8 @@ importers: specifier: workspace:* version: link:../schema '@nuxt/telemetry': - specifier: ^2.5.3 - version: 2.5.3 + specifier: ^2.5.4 + version: 2.5.4 '@nuxt/ui-templates': specifier: ^1.3.3 version: 1.3.3 @@ -470,8 +470,8 @@ importers: version: 1.4.2 devDependencies: '@nuxt/telemetry': - specifier: 2.5.3 - version: 2.5.3 + specifier: 2.5.4 + version: 2.5.4 '@types/file-loader': specifier: 5.0.4 version: 5.0.4 @@ -528,7 +528,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.6) + version: 5.2.8(@types/node@20.12.7) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.4) @@ -642,10 +642,10 @@ importers: version: 1.10.1 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.6) + version: 5.2.8(@types/node@20.12.7) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.6) + version: 1.4.0(@types/node@20.12.7) vite-plugin-checker: specifier: ^0.6.4 version: 0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.11) @@ -871,7 +871,7 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.12.6)(happy-dom@14.7.1) + version: 1.0.2(@types/node@20.12.7)(happy-dom@14.7.1) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.4) @@ -2038,7 +2038,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.6 + '@types/node': 20.12.7 '@types/yargs': 17.0.28 chalk: 4.1.2 dev: false @@ -2369,8 +2369,8 @@ packages: webpack: 5.91.0 dev: false - /@nuxt/telemetry@2.5.3: - resolution: {integrity: sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==} + /@nuxt/telemetry@2.5.4: + resolution: {integrity: sha512-KH6wxzsNys69daSO0xUv0LEBAfhwwjK1M+0Cdi1/vxmifCslMIY7lN11B4eywSfscbyVPAYJvANyc7XiVPImBQ==} hasBin: true dependencies: '@nuxt/kit': link:packages/kit @@ -2380,15 +2380,15 @@ packages: defu: 6.1.4 destr: 2.0.3 dotenv: 16.4.5 - git-url-parse: 13.1.1 + git-url-parse: 14.0.0 is-docker: 3.0.0 jiti: 1.21.0 mri: 1.2.0 - nanoid: 4.0.2 + nanoid: 5.0.7 ofetch: 1.3.4 parse-git-config: 3.0.0 pathe: 1.1.2 - rc9: 2.1.1 + rc9: 2.1.2 std-env: 3.7.0 /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): @@ -2458,8 +2458,8 @@ packages: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.8(@types/node@20.12.6) - vitest: 1.4.0(@types/node@20.12.6)(happy-dom@14.7.1) + vite: 5.2.8(@types/node@20.12.7) + vitest: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.4) vue-router: 4.3.0(vue@3.4.21) @@ -3119,7 +3119,7 @@ packages: /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 dev: true /@types/debug@4.1.12: @@ -3175,7 +3175,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 /@types/istanbul-lib-coverage@2.0.5: resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} @@ -3198,7 +3198,7 @@ packages: /@types/jsonfile@6.1.2: resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 dev: true /@types/lodash-es@4.17.12: @@ -3224,7 +3224,7 @@ packages: /@types/node-sass@4.11.6: resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 dev: true /@types/node@20.12.5: @@ -3232,8 +3232,8 @@ packages: dependencies: undici-types: 5.26.5 - /@types/node@20.12.6: - resolution: {integrity: sha512-3KurE8taB8GCvZBPngVbp0lk5CKi8M9f9k1rsADh0Evdz5SzJ+Q+Hx9uHoFGsLnLnd1xmkDQr2hVhlA0Mn0lKQ==} + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 @@ -3320,7 +3320,7 @@ packages: /@types/webpack-sources@3.2.1: resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 '@types/source-list-map': 0.1.4 source-map: 0.7.4 dev: true @@ -3335,7 +3335,7 @@ packages: /@types/webpack@4.41.34: resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 '@types/tapable': 1.0.10 '@types/uglify-js': 3.17.3 '@types/webpack-sources': 3.2.1 @@ -3842,7 +3842,7 @@ packages: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.8(@types/node@20.12.6) + vite: 5.2.8(@types/node@20.12.7) vue: 3.4.21(typescript@5.4.4) transitivePeerDependencies: - supports-color @@ -3876,7 +3876,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.6)(happy-dom@14.7.1) + vitest: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) transitivePeerDependencies: - supports-color dev: true @@ -6655,8 +6655,8 @@ packages: is-ssh: 1.4.0 parse-url: 8.1.0 - /git-url-parse@13.1.1: - resolution: {integrity: sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==} + /git-url-parse@14.0.0: + resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} dependencies: git-up: 7.0.0 @@ -7487,7 +7487,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.6 + '@types/node': 20.12.7 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7498,7 +7498,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7506,7 +7506,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8611,9 +8611,9 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /nanoid@4.0.2: - resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} - engines: {node: ^14 || ^16 || >=18} + /nanoid@5.0.7: + resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + engines: {node: ^18 || >=20} hasBin: true /natural-compare-lite@1.4.0: @@ -9947,6 +9947,12 @@ packages: destr: 2.0.3 flat: 5.0.2 + /rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + dependencies: + defu: 6.1.4 + destr: 2.0.3 + /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: true @@ -11519,7 +11525,7 @@ packages: vite: 5.2.8(@types/node@20.12.5) dev: false - /vite-node@1.0.2(@types/node@20.12.6): + /vite-node@1.0.2(@types/node@20.12.7): resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11528,7 +11534,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.6) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - less @@ -11561,7 +11567,7 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.12.6): + /vite-node@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11570,7 +11576,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.6) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - less @@ -11625,7 +11631,7 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.4 - vite: 5.2.8(@types/node@20.12.6) + vite: 5.2.8(@types/node@20.12.7) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -11713,7 +11719,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vite@5.2.8(@types/node@20.12.6): + /vite@5.2.8(@types/node@20.12.7): resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11741,7 +11747,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.14.1 @@ -11769,7 +11775,7 @@ packages: - vue-router dev: true - /vitest@1.0.2(@types/node@20.12.6)(happy-dom@14.7.1): + /vitest@1.0.2(@types/node@20.12.7)(happy-dom@14.7.1): resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11794,7 +11800,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11814,8 +11820,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.6) - vite-node: 1.0.2(@types/node@20.12.6) + vite: 5.2.8(@types/node@20.12.7) + vite-node: 1.0.2(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -11884,7 +11890,7 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.12.6)(happy-dom@14.7.1): + /vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -11909,7 +11915,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -11928,8 +11934,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.6) - vite-node: 1.4.0(@types/node@20.12.6) + vite: 5.2.8(@types/node@20.12.7) + vite-node: 1.4.0(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 30e27f48d106629a494c39a70d6ceab914ec760c Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Wed, 10 Apr 2024 09:03:25 +0200 Subject: [PATCH 436/470] fix(nuxt): encode location header in navigateTo (#26712) --- packages/nuxt/src/app/composables/router.ts | 2 +- test/basic.test.ts | 6 ++++++ test/fixtures/basic/pages/redirect-with-encode.vue | 9 +++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/basic/pages/redirect-with-encode.vue diff --git a/packages/nuxt/src/app/composables/router.ts b/packages/nuxt/src/app/composables/router.ts index c7e0e2ac80..65cde55392 100644 --- a/packages/nuxt/src/app/composables/router.ts +++ b/packages/nuxt/src/app/composables/router.ts @@ -169,7 +169,7 @@ export const navigateTo = (to: RouteLocationRaw | undefined | null, options?: Na nuxtApp.ssrContext!._renderResponse = { statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302), body: `<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=${encodedLoc}"></head></html>`, - headers: { location }, + headers: { location: encodeURI(location) }, } return response } diff --git a/test/basic.test.ts b/test/basic.test.ts index 9e5983c4c4..21966446da 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -900,6 +900,12 @@ describe('navigate', () => { expect(status).toEqual(404) }) + + it('expect to redirect with encoding', async () => { + const { status } = await fetch('/redirect-with-encode', { redirect: 'manual' }) + + expect(status).toEqual(302) + }) }) describe('preserves current instance', () => { diff --git a/test/fixtures/basic/pages/redirect-with-encode.vue b/test/fixtures/basic/pages/redirect-with-encode.vue new file mode 100644 index 0000000000..a59a44d653 --- /dev/null +++ b/test/fixtures/basic/pages/redirect-with-encode.vue @@ -0,0 +1,9 @@ +<template> + <div> + oh no ! + </div> +</template> + +<script setup lang="ts"> +await navigateTo('/cœur') +</script> From dec7191ac58e373d655f1a72e97e5d258c783ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20G=C5=82owala?= <damian.glowala.rebkow@gmail.com> Date: Thu, 11 Apr 2024 08:23:14 +0200 Subject: [PATCH 437/470] fix(nuxt): correctly remove extension from path in `hasSuffix` (#26725) --- packages/nuxt/src/core/utils/names.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/utils/names.ts b/packages/nuxt/src/core/utils/names.ts index b3a607980f..f37be12636 100644 --- a/packages/nuxt/src/core/utils/names.ts +++ b/packages/nuxt/src/core/utils/names.ts @@ -13,7 +13,7 @@ export function getNameFromPath (path: string, relativeTo?: string) { } export function hasSuffix (path: string, suffix: string) { - return basename(path).replace(extname(path), '').endsWith(suffix) + return basename(path, extname(path)).endsWith(suffix) } export function resolveComponentNameSegments (fileName: string, prefixParts: string[]) { From 1945793a2555cd0b05c5fe6902cade204d0471a3 Mon Sep 17 00:00:00 2001 From: OrbisK <37191683+OrbisK@users.noreply.github.com> Date: Sat, 13 Apr 2024 00:06:12 +0200 Subject: [PATCH 438/470] docs: add `--preset` flag for `nuxi build` (#26759) --- docs/3.api/4.commands/build.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/3.api/4.commands/build.md b/docs/3.api/4.commands/build.md index 7293b34238..79da8bfc3e 100644 --- a/docs/3.api/4.commands/build.md +++ b/docs/3.api/4.commands/build.md @@ -9,7 +9,7 @@ links: --- ```bash [Terminal] -npx nuxi build [--prerender] [--dotenv] [--log-level] [rootDir] +npx nuxi build [--prerender] [--preset] [--dotenv] [--log-level] [rootDir] ``` The `build` command creates a `.output` directory with all your application, server and dependencies ready for production. @@ -18,9 +18,14 @@ Option | Default | Description -------------------------|-----------------|------------------ `rootDir` | `.` | The root directory of the application to bundle. `--prerender` | `false` | Pre-render every route of your application. (**note:** This is an experimental flag. The behavior might be changed.) +`--preset` | - | Set a [Nitro preset](https://nitro.unjs.io/deploy#changing-the-deployment-preset) `--dotenv` | `.` | Point to another `.env` file to load, **relative** to the root directory. `--log-level` | `info` | Specify build-time logging level, allowing `silent` \| `info` \| `verbose`. ::note This command sets `process.env.NODE_ENV` to `production`. :: + +::note +`--prerender` will always set the `preset` to `static` +:: From 95c399f9a350d16cd8eb5b05aaeac966b5d7f1b6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 00:11:24 +0200 Subject: [PATCH 439/470] chore(deps): update all non-major dependencies (main) (#26720) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 10 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 4 +- packages/webpack/package.json | 4 +- pnpm-lock.yaml | 879 ++++++++++++++-------------------- test/bundle.test.ts | 2 +- 6 files changed, 383 insertions(+), 522 deletions(-) diff --git a/package.json b/package.json index a304805c71..9c3637d115 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@nuxt/schema": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "rollup": "^4.14.1", + "rollup": "^4.14.2", "nuxt": "workspace:*", "vite": "5.2.8", "vue": "3.4.21", @@ -45,7 +45,7 @@ }, "devDependencies": { "@eslint/js": "9.0.0", - "@nuxt/eslint-config": "0.3.4", + "@nuxt/eslint-config": "0.3.6", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.0", "@nuxt/webpack-builder": "workspace:*", @@ -77,17 +77,17 @@ "nuxt-content-twoslash": "0.0.10", "ofetch": "1.3.4", "pathe": "1.1.2", - "playwright-core": "1.43.0", + "playwright-core": "1.43.1", "rimraf": "5.0.5", "semver": "7.6.0", "std-env": "3.7.0", - "typescript": "5.4.4", + "typescript": "5.4.5", "ufo": "1.5.3", "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.21", "vue-router": "4.3.0", - "vue-tsc": "2.0.11" + "vue-tsc": "2.0.13" }, "packageManager": "pnpm@8.15.6", "engines": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 6e93aac8d9..f348c0dcc5 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.4", "@nuxt/ui-templates": "^1.3.3", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.9.4", - "@unhead/ssr": "^1.9.4", - "@unhead/vue": "^1.9.4", + "@unhead/dom": "^1.9.5", + "@unhead/ssr": "^1.9.5", + "@unhead/vue": "^1.9.5", "@vue/shared": "^3.4.21", "acorn": "8.11.3", "c12": "^1.10.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index a42d86a060..c74cf39bc1 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,12 +38,12 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.9.4", + "@unhead/schema": "1.9.5", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.21", "@vue/compiler-sfc": "3.4.21", - "@vue/language-core": "2.0.11", + "@vue/language-core": "2.0.13", "c12": "1.10.0", "esbuild-loader": "4.1.0", "h3": "1.11.1", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 74fd46555c..3a72a053a5 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -28,7 +28,7 @@ "@nuxt/friendly-errors-webpack-plugin": "^2.6.0", "@nuxt/kit": "workspace:*", "autoprefixer": "^10.4.19", - "css-loader": "^7.1.0", + "css-loader": "^7.1.1", "css-minimizer-webpack-plugin": "^6.0.0", "cssnano": "^6.1.2", "defu": "^6.1.4", @@ -63,7 +63,7 @@ "vue-bundle-renderer": "^2.0.0", "vue-loader": "^17.4.2", "webpack": "^5.91.0", - "webpack-bundle-analyzer": "^4.10.1", + "webpack-bundle-analyzer": "^4.10.2", "webpack-dev-middleware": "^7.2.1", "webpack-hot-middleware": "^2.26.1", "webpack-virtual-modules": "^0.6.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab68356bcd..22365598de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ overrides: '@nuxt/schema': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - rollup: ^4.14.1 + rollup: ^4.14.2 nuxt: workspace:* vite: 5.2.8 vue: 3.4.21 @@ -23,14 +23,14 @@ importers: specifier: 9.0.0 version: 9.0.0 '@nuxt/eslint-config': - specifier: 0.3.4 - version: 0.3.4(eslint@9.0.0)(typescript@5.4.4) + specifier: 0.3.6 + version: 0.3.6(eslint@9.0.0)(typescript@5.4.5) '@nuxt/kit': specifier: workspace:* version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -75,7 +75,7 @@ importers: version: 3.1.0 eslint-plugin-perfectionist: specifier: 2.8.0 - version: 2.8.0(eslint@9.0.0)(typescript@5.4.4) + version: 2.8.0(eslint@9.0.0)(typescript@5.4.5) eslint-typegen: specifier: 0.2.2 version: 0.2.2(eslint@9.0.0) @@ -119,8 +119,8 @@ importers: specifier: 1.1.2 version: 1.1.2 playwright-core: - specifier: 1.43.0 - version: 1.43.0 + specifier: 1.43.1 + version: 1.43.1 rimraf: specifier: 5.0.5 version: 5.0.5 @@ -131,8 +131,8 @@ importers: specifier: 3.7.0 version: 3.7.0 typescript: - specifier: 5.4.4 - version: 5.4.4 + specifier: 5.4.5 + version: 5.4.5 ufo: specifier: 1.5.3 version: 1.5.3 @@ -141,16 +141,16 @@ importers: version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) vue-router: specifier: 4.3.0 version: 4.3.0(vue@3.4.21) vue-tsc: - specifier: 2.0.11 - version: 2.0.11(typescript@5.4.4) + specifier: 2.0.13 + version: 2.0.13(typescript@5.4.5) packages/kit: dependencies: @@ -204,7 +204,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.1) + version: 3.7.1(rollup@4.14.2) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -226,7 +226,7 @@ importers: version: 2.9.6 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.4) + version: 2.0.0(typescript@5.4.5) vite: specifier: 5.2.8 version: 5.2.8(@types/node@20.12.7) @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.5 - version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.1)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21) + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.2)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -262,16 +262,16 @@ importers: version: link:../vite '@types/node': specifier: ^14.18.0 || >=16.10.0 - version: 20.12.5 + version: 20.12.7 '@unhead/dom': - specifier: ^1.9.4 - version: 1.9.4 + specifier: ^1.9.5 + version: 1.9.5 '@unhead/ssr': - specifier: ^1.9.4 - version: 1.9.4 + specifier: ^1.9.5 + version: 1.9.5 '@unhead/vue': - specifier: ^1.9.4 - version: 1.9.4(vue@3.4.21) + specifier: ^1.9.5 + version: 1.9.5(vue@3.4.21) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -385,13 +385,13 @@ importers: version: 1.9.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.1) + version: 3.7.1(rollup@4.14.2) unplugin: specifier: ^1.10.1 version: 1.10.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.14.1)(vue-router@4.3.0)(vue@3.4.21) + version: 0.7.0(rollup@4.14.2)(vue-router@4.3.0)(vue@3.4.21) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -400,7 +400,7 @@ importers: version: 1.4.2 vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -425,13 +425,13 @@ importers: version: 5.0.4(vite@5.2.8)(vue@3.4.21) unbuild: specifier: latest - version: 2.0.0(typescript@5.4.4) + version: 2.0.0(typescript@5.4.5) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.5) + version: 5.2.8(@types/node@20.12.7) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.5)(happy-dom@14.7.1) + version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) packages/schema: dependencies: @@ -464,7 +464,7 @@ importers: version: 1.5.3 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.1) + version: 3.7.1(rollup@4.14.2) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -482,8 +482,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.9.4 - version: 1.9.4 + specifier: 1.9.5 + version: 1.9.5 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.2.8)(vue@3.4.21) @@ -497,8 +497,8 @@ importers: specifier: 3.4.21 version: 3.4.21 '@vue/language-core': - specifier: 2.0.11 - version: 2.0.11(typescript@5.4.4) + specifier: 2.0.13 + version: 2.0.13(typescript@5.4.5) c12: specifier: 1.10.0 version: 1.10.0 @@ -519,7 +519,7 @@ importers: version: 1.3.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.4) + version: 2.0.0(typescript@5.4.5) unctx: specifier: 2.3.1 version: 2.3.1 @@ -531,7 +531,7 @@ importers: version: 5.2.8(@types/node@20.12.7) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) vue-bundle-renderer: specifier: 2.0.0 version: 2.0.0 @@ -555,7 +555,7 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.14.1) + version: 5.0.5(rollup@4.14.2) '@vitejs/plugin-vue': specifier: ^5.0.4 version: 5.0.4(vite@5.2.8)(vue@3.4.21) @@ -624,7 +624,7 @@ importers: version: 8.4.38 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.14.1) + version: 5.12.0(rollup@4.14.2) std-env: specifier: ^3.7.0 version: 3.7.0 @@ -648,7 +648,7 @@ importers: version: 1.4.0(@types/node@20.12.7) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.11) + version: 0.6.4(eslint@9.0.0)(typescript@5.4.5)(vite@5.2.8)(vue-tsc@2.0.13) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -667,10 +667,10 @@ importers: version: 11.0.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.4) + version: 2.0.0(typescript@5.4.5) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) packages/webpack: dependencies: @@ -684,8 +684,8 @@ importers: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) css-loader: - specifier: ^7.1.0 - version: 7.1.0(webpack@5.91.0) + specifier: ^7.1.1 + version: 7.1.1(webpack@5.91.0) css-minimizer-webpack-plugin: specifier: ^6.0.0 version: 6.0.0(webpack@5.91.0) @@ -709,7 +709,7 @@ importers: version: 6.2.0(webpack@5.91.0) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.4.4)(webpack@5.91.0) + version: 9.0.2(typescript@5.4.5)(webpack@5.91.0) fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -754,7 +754,7 @@ importers: version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.38)(typescript@5.4.4)(webpack@5.91.0) + version: 8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0) postcss-url: specifier: ^10.1.3 version: 10.1.3(postcss@8.4.38) @@ -789,8 +789,8 @@ importers: specifier: ^5.91.0 version: 5.91.0 webpack-bundle-analyzer: - specifier: ^4.10.1 - version: 4.10.1 + specifier: ^4.10.2 + version: 4.10.2 webpack-dev-middleware: specifier: ^7.2.1 version: 7.2.1(webpack@5.91.0) @@ -827,10 +827,10 @@ importers: version: 0.4.2 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.4) + version: 2.0.0(typescript@5.4.5) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) playground: dependencies: @@ -839,7 +839,7 @@ importers: version: link:../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) test/fixtures/basic: dependencies: @@ -858,7 +858,7 @@ importers: version: 1.10.1 vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) test/fixtures/basic-types: dependencies: @@ -874,7 +874,7 @@ importers: version: 1.0.2(@types/node@20.12.7)(happy-dom@14.7.1) vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) vue-router: specifier: latest version: 4.3.0(vue@3.4.21) @@ -886,7 +886,7 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) test/fixtures/minimal-types: dependencies: @@ -895,7 +895,7 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) test/fixtures/runtime-compiler: dependencies: @@ -910,11 +910,11 @@ importers: version: link:../../../packages/nuxt vue: specifier: 3.4.21 - version: 3.4.21(typescript@5.4.4) + version: 3.4.21(typescript@5.4.5) devDependencies: typescript: specifier: latest - version: 5.4.4 + version: 5.4.5 packages: @@ -1911,11 +1911,6 @@ packages: /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint-community/regexpp@4.9.1: - resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint/eslintrc@2.1.4: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} @@ -2226,7 +2221,7 @@ packages: '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) dev: false /@nuxt/devtools-wizard@1.1.5: @@ -2241,11 +2236,11 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 prompts: 2.4.2 - rc9: 2.1.1 + rc9: 2.1.2 semver: 7.6.0 dev: false - /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.1)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21): + /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.2)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21): resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} hasBin: true peerDependencies: @@ -2281,14 +2276,14 @@ packages: pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 - rc9: 2.1.1 + rc9: 2.1.2 scule: 1.3.0 semver: 7.6.0 simple-git: 3.23.0 sirv: 2.0.4 - unimport: 3.7.1(rollup@4.14.1) - vite: 5.2.8(@types/node@20.12.5) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.1)(vite@5.2.8) + unimport: 3.7.1(rollup@4.14.2) + vite: 5.2.8(@types/node@20.12.7) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.2)(vite@5.2.8) vite-plugin-vue-inspector: 4.0.2(vite@5.2.8) which: 3.0.1 ws: 8.16.0 @@ -2316,21 +2311,21 @@ packages: - vue dev: false - /@nuxt/eslint-config@0.3.4(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-O5Tpf4znp3n/GRP/8nBiHgdecJewdsweiat0OAkbcItxiioogQJ+VgUSNOsq5EHznJkX7umLQCeEOXd1YeKgvg==} + /@nuxt/eslint-config@0.3.6(eslint@9.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-uuAPflhCSym2UUs+613CU4GJo10wtFFwzZLba/fHO7H6IqpVk8kHGDuwrV/AvVwnty8IhIIqOXBgrx16RoDkSA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 dependencies: '@eslint/js': 9.0.0 - '@nuxt/eslint-plugin': 0.3.4(eslint@9.0.0)(typescript@5.4.4) + '@nuxt/eslint-plugin': 0.3.6(eslint@9.0.0)(typescript@5.4.5) '@rushstack/eslint-patch': 1.10.1 - '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 eslint-config-flat-gitignore: 0.1.5 - eslint-flat-config-utils: 0.2.1 - eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.4) + eslint-flat-config-utils: 0.2.2 + eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.5) eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) eslint-plugin-vue: 9.24.1(eslint@9.0.0) @@ -2343,13 +2338,13 @@ packages: - typescript dev: true - /@nuxt/eslint-plugin@0.3.4(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-WqGnD7aJCS43dMlnhKfTKoJrglLz+vIFfSUmCrdRXHXnhHV/o6YGvm18VHjshZNFXVm2x3/NqYn2vPrj5AGjuA==} + /@nuxt/eslint-plugin@0.3.6(eslint@9.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-kyfvqWkxcMT672WkiupEZI6a/sDL6CLdZt5HS8SfjUe2rcZOvc0TRSMXKAvo+XBZlnJA/fIOKQMa8qUkLoBXWw==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 dependencies: '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 transitivePeerDependencies: - supports-color @@ -2391,7 +2386,7 @@ packages: rc9: 2.1.2 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2451,7 +2446,7 @@ packages: ofetch: 1.3.4 pathe: 1.1.2 perfect-debounce: 1.0.0 - playwright-core: 1.43.0 + playwright-core: 1.43.1 radix3: 1.1.2 scule: 1.3.0 std-env: 3.7.0 @@ -2460,8 +2455,8 @@ packages: unplugin: 1.10.1 vite: 5.2.8(@types/node@20.12.7) vitest: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) - vue: 3.4.21(typescript@5.4.4) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + vue: 3.4.21(typescript@5.4.5) vue-router: 4.3.0(vue@3.4.21) dev: true @@ -2652,101 +2647,101 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.14.1): + /@rollup/plugin-alias@5.1.0(rollup@4.14.2): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.14.1 + rollup: 4.14.2 slash: 4.0.0 - /@rollup/plugin-commonjs@25.0.7(rollup@4.14.1): + /@rollup/plugin-commonjs@25.0.7(rollup@4.14.2): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.9 - rollup: 4.14.1 + rollup: 4.14.2 - /@rollup/plugin-inject@5.0.5(rollup@4.14.1): + /@rollup/plugin-inject@5.0.5(rollup@4.14.2): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) estree-walker: 2.0.2 magic-string: 0.30.9 - rollup: 4.14.1 + rollup: 4.14.2 - /@rollup/plugin-json@6.1.0(rollup@4.14.1): + /@rollup/plugin-json@6.1.0(rollup@4.14.2): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) - rollup: 4.14.1 + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + rollup: 4.14.2 - /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.1): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.2): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.14.1 + rollup: 4.14.2 - /@rollup/plugin-replace@5.0.5(rollup@4.14.1): + /@rollup/plugin-replace@5.0.5(rollup@4.14.2): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) magic-string: 0.30.9 - rollup: 4.14.1 + rollup: 4.14.2 - /@rollup/plugin-terser@0.4.4(rollup@4.14.1): + /@rollup/plugin-terser@0.4.4(rollup@4.14.2): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true dependencies: - rollup: 4.14.1 + rollup: 4.14.2 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 @@ -2758,11 +2753,11 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@4.14.1): + /@rollup/pluginutils@5.1.0(rollup@4.14.2): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true @@ -2770,108 +2765,108 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.14.1 + rollup: 4.14.2 - /@rollup/rollup-android-arm-eabi@4.14.1: - resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==} + /@rollup/rollup-android-arm-eabi@4.14.2: + resolution: {integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.14.1: - resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==} + /@rollup/rollup-android-arm64@4.14.2: + resolution: {integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.14.1: - resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==} + /@rollup/rollup-darwin-arm64@4.14.2: + resolution: {integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.14.1: - resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==} + /@rollup/rollup-darwin-x64@4.14.2: + resolution: {integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.1: - resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==} + /@rollup/rollup-linux-arm-gnueabihf@4.14.2: + resolution: {integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.1: - resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==} + /@rollup/rollup-linux-arm64-gnu@4.14.2: + resolution: {integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.14.1: - resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==} + /@rollup/rollup-linux-arm64-musl@4.14.2: + resolution: {integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.1: - resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==} - cpu: [ppc64le] + /@rollup/rollup-linux-powerpc64le-gnu@4.14.2: + resolution: {integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==} + cpu: [ppc64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.14.1: - resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==} + /@rollup/rollup-linux-riscv64-gnu@4.14.2: + resolution: {integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.1: - resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==} + /@rollup/rollup-linux-s390x-gnu@4.14.2: + resolution: {integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.14.1: - resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==} + /@rollup/rollup-linux-x64-gnu@4.14.2: + resolution: {integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.14.1: - resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==} + /@rollup/rollup-linux-x64-musl@4.14.2: + resolution: {integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.1: - resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==} + /@rollup/rollup-win32-arm64-msvc@4.14.2: + resolution: {integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.1: - resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==} + /@rollup/rollup-win32-ia32-msvc@4.14.2: + resolution: {integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.14.1: - resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==} + /@rollup/rollup-win32-x64-msvc@4.14.2: + resolution: {integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==} cpu: [x64] os: [win32] requiresBuild: true @@ -2895,28 +2890,28 @@ packages: shiki: 1.1.2 dev: true - /@shikijs/twoslash@1.1.6(typescript@5.4.4): + /@shikijs/twoslash@1.1.6(typescript@5.4.5): resolution: {integrity: sha512-0HJK7Il7HevTpRvpPlnJ0ow8UyoQxhvxQ0/lhfw1C0xW/7eLtSAtZfSKdel5Nch6HgbbtfucEzuUFmRIRXUFUg==} dependencies: '@shikijs/core': 1.1.6 - twoslash: 0.2.4(typescript@5.4.4) + twoslash: 0.2.4(typescript@5.4.5) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.4): + /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.5): resolution: {integrity: sha512-OpOu/KszoEIm/pdTMmnFW+cPKj+Vw8Jut4CLivqdwgHysTdMUphyG/nuaYcpVZfCQBu6JLfQ6izgkYrefiKzXQ==} dependencies: - '@shikijs/twoslash': 1.1.6(typescript@5.4.4) + '@shikijs/twoslash': 1.1.6(typescript@5.4.5) floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.4.4) - twoslash-vue: 0.2.4(typescript@5.4.4) - vue: 3.4.21(typescript@5.4.4) + twoslash: 0.2.4(typescript@5.4.5) + twoslash-vue: 0.2.4(typescript@5.4.5) + vue: 3.4.21(typescript@5.4.5) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -3010,20 +3005,20 @@ packages: picomatch: 4.0.1 dev: true - /@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.4): + /@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} peerDependencies: eslint: '*' dependencies: '@types/eslint': 8.56.7 - '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.4): + /@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3031,14 +3026,14 @@ packages: dependencies: '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) '@types/eslint': 8.56.7 - '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.4): + /@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3046,8 +3041,8 @@ packages: dependencies: '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@9.0.0) - '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.4) - '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.4) + '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.5) '@types/eslint': 8.56.7 eslint: 9.0.0 transitivePeerDependencies: @@ -3082,7 +3077,7 @@ packages: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 '@vue/test-utils': 2.4.5 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) dev: true /@tootallnate/once@2.0.0: @@ -3159,7 +3154,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.2 - '@types/node': 20.12.5 + '@types/node': 20.12.7 dev: true /@types/hash-sum@1.0.2: @@ -3227,11 +3222,6 @@ packages: '@types/node': 20.12.7 dev: true - /@types/node@20.12.5: - resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} - dependencies: - undici-types: 5.26.5 - /@types/node@20.12.7: resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: @@ -3255,7 +3245,7 @@ packages: /@types/sass-loader@8.0.8: resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 '@types/node-sass': 4.11.6 '@types/webpack': 4.41.34 sass: 1.69.4 @@ -3294,7 +3284,7 @@ packages: /@types/webpack-bundle-analyzer@4.7.0: resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 tapable: 2.2.1 webpack: 5.91.0 transitivePeerDependencies: @@ -3353,7 +3343,7 @@ packages: '@types/yargs-parser': 21.0.1 dev: false - /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.4): + /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3365,10 +3355,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 eslint: 9.0.0 @@ -3376,13 +3366,13 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.4): + /@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3394,11 +3384,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.6.0 '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 eslint: 9.0.0 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true @@ -3419,7 +3409,7 @@ packages: '@typescript-eslint/visitor-keys': 7.6.0 dev: true - /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): + /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3429,12 +3419,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) debug: 4.3.4 eslint: 9.0.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true @@ -3449,7 +3439,7 @@ packages: engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.4): + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3465,13 +3455,13 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.4): + /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5): resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3487,13 +3477,13 @@ packages: is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.4): + /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3504,7 +3494,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) eslint: 9.0.0 semver: 7.6.0 transitivePeerDependencies: @@ -3512,7 +3502,7 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): + /@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3523,7 +3513,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.6.0 '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) eslint: 9.0.0 semver: 7.6.0 transitivePeerDependencies: @@ -3559,45 +3549,45 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unhead/dom@1.9.4: - resolution: {integrity: sha512-nEaHOcCL0u56g4XOV5XGwRMFZ05eEINfp8nxVrPiIGLrS9BoFrZS7/6IYSkalkNRTmw8M5xqxt6BalBr594SaA==} + /@unhead/dom@1.9.5: + resolution: {integrity: sha512-t+JvAFX+Qkx+IEZFBQV5rZoj/6SKHd3tqXqxpsER588DWxU0J6dzvAVJrof/vRTMjJ1lM6B8SxKhZppSZ7H2iQ==} dependencies: - '@unhead/schema': 1.9.4 - '@unhead/shared': 1.9.4 + '@unhead/schema': 1.9.5 + '@unhead/shared': 1.9.5 dev: false - /@unhead/schema@1.9.4: - resolution: {integrity: sha512-/J6KYQ+aqKO5uLDTU9BXfiRAfJ3mQNmF5gh3Iyd4qZaWfqjsDGYIaAe4xAGPnJxwBn6FHlnvQvZBSGqru1MByw==} + /@unhead/schema@1.9.5: + resolution: {integrity: sha512-n0upGPplBn5Y/4PIqKp7/tzOhz7USos5lFjf8UKvMNoOIitEa+avP2u7gRQ9yOhHmOAH9AXDeX7mhSvhO+Tqxw==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.9.4: - resolution: {integrity: sha512-ErP6SUzPPRX9Df4fqGlwlLInoG+iBiH0nDudRuIpoFGyTnv1uO9BQ+lfFld8s1gI1WCdoBwVkISBp9/f/E/GLA==} + /@unhead/shared@1.9.5: + resolution: {integrity: sha512-WN2T8th1wYn4A1bb6o8Z59wNVMPkD6YdNQIlmSbEP9zuSYyVEh3BIxqSdxWM/xl8atN8fNwVW06knaF51VmKXA==} dependencies: - '@unhead/schema': 1.9.4 + '@unhead/schema': 1.9.5 dev: false - /@unhead/ssr@1.9.4: - resolution: {integrity: sha512-+32lSX6q+c+PcF0NsywBMmwDgxApjo4R7yxjRBB0gmeEcr58hejS/Ju82D8dLKvHqafLB1cQA7I4XUPyrDUx3Q==} + /@unhead/ssr@1.9.5: + resolution: {integrity: sha512-l9fqAKM3odX/8Ac8l7v7Nlot5f+e6ktINT/PjBuXf+pHHmPz7+eKWzNL95KVB/o0uxmJr2BVijDwCPYrgmjfjQ==} dependencies: - '@unhead/schema': 1.9.4 - '@unhead/shared': 1.9.4 + '@unhead/schema': 1.9.5 + '@unhead/shared': 1.9.5 dev: false - /@unhead/vue@1.9.4(vue@3.4.21): - resolution: {integrity: sha512-F37bDhhieWQJyXvFV8NmrOXoIVJMhxVI/0ZUDrI9uTkMCofjfKWDJ+Gz0iYdhYF9mjQ5BN+pM31Zpxi+fN5Cfg==} + /@unhead/vue@1.9.5(vue@3.4.21): + resolution: {integrity: sha512-L3yDB6Mwm92gJNPqZApMwfGluS0agR0HIizkXCKKz3WkZ+ef/negMwTNGpTtd+uqh/+hSyG73Bl4yySuPsD4nA==} peerDependencies: vue: 3.4.21 dependencies: - '@unhead/schema': 1.9.4 - '@unhead/shared': 1.9.4 + '@unhead/schema': 1.9.5 + '@unhead/shared': 1.9.5 hookable: 5.5.3 - unhead: 1.9.4 - vue: 3.4.21(typescript@5.4.4) + unhead: 1.9.5 + vue: 3.4.21(typescript@5.4.5) dev: false - /@unocss/astro@0.58.6(rollup@4.14.1)(vite@5.2.8): + /@unocss/astro@0.58.6(rollup@4.14.2)(vite@5.2.8): resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: vite: 5.2.8 @@ -3607,19 +3597,19 @@ packages: dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.1)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.5) + '@unocss/vite': 0.58.6(rollup@4.14.2)(vite@5.2.8) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - rollup dev: false - /@unocss/cli@0.58.6(rollup@4.14.1): + /@unocss/cli@0.58.6(rollup@4.14.2): resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/preset-uno': 0.58.6 @@ -3791,13 +3781,13 @@ packages: '@unocss/core': 0.58.6 dev: false - /@unocss/vite@0.58.6(rollup@4.14.1)(vite@5.2.8): + /@unocss/vite@0.58.6(rollup@4.14.2)(vite@5.2.8): resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: vite: 5.2.8 dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/inspector': 0.58.6 @@ -3806,7 +3796,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - rollup dev: false @@ -3843,7 +3833,7 @@ packages: '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) vite: 5.2.8(@types/node@20.12.7) - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) transitivePeerDependencies: - supports-color @@ -3854,8 +3844,8 @@ packages: vite: 5.2.8 vue: 3.4.21 dependencies: - vite: 5.2.8(@types/node@20.12.5) - vue: 3.4.21(typescript@5.4.4) + vite: 5.2.8(@types/node@20.12.7) + vue: 3.4.21(typescript@5.4.5) /@vitest/coverage-v8@1.4.0(vitest@1.4.0): resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} @@ -3964,10 +3954,10 @@ packages: '@volar/source-map': 1.11.1 dev: true - /@volar/language-core@2.2.0-alpha.6: - resolution: {integrity: sha512-GmT28LX2w4x82uuQqNN/P94VOCsZRHBbGcGe+5bFtA2hbIbH6f8tFdMfgXFtyhbft/pj6f3xl37xe+t+nomLIA==} + /@volar/language-core@2.2.0-alpha.8: + resolution: {integrity: sha512-Ew1Iw7/RIRNuDLn60fWJdOLApAlfTVPxbPiSLzc434PReC9kleYtaa//Wo2WlN1oiRqneW0pWQQV0CwYqaimLQ==} dependencies: - '@volar/source-map': 2.2.0-alpha.6 + '@volar/source-map': 2.2.0-alpha.8 /@volar/source-map@1.11.1: resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} @@ -3975,18 +3965,18 @@ packages: muggle-string: 0.3.1 dev: true - /@volar/source-map@2.2.0-alpha.6: - resolution: {integrity: sha512-EztD2zoUopETY+ZCUZAGUHKgj4gOkY/2WnaOS+RSTc56xm85miSA4qOBS8Lt1Ruu5vV52WIZKHW/R9PbjkZWFA==} + /@volar/source-map@2.2.0-alpha.8: + resolution: {integrity: sha512-E1ZVmXFJ5DU4fWDcWHzi8OLqqReqIDwhXvIMhVdk6+VipfMVv4SkryXu7/rs4GA/GsebcRyJdaSkKBB3OAkIcA==} dependencies: muggle-string: 0.4.1 - /@volar/typescript@2.2.0-alpha.6: - resolution: {integrity: sha512-wTr0jO3wVXQ9FjBbWE2iX8GgDoiHp1Nttsb+tKk5IeUUb6f1uOjyeIXuS4KfeMBpCufthRO2st2O2uatAs/UXQ==} + /@volar/typescript@2.2.0-alpha.8: + resolution: {integrity: sha512-RLbRDI+17CiayHZs9HhSzlH0FhLl/+XK6o2qoiw2o2GGKcyD1aDoY6AcMd44acYncTOrqoTNoY6LuCiRyiJiGg==} dependencies: - '@volar/language-core': 2.2.0-alpha.6 + '@volar/language-core': 2.2.0-alpha.8 path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.14.1)(vue@3.4.21): + /@vue-macros/common@1.10.1(rollup@4.14.2)(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3996,12 +3986,12 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.14.1) + ast-kit: 0.11.3(rollup@4.14.2) local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) transitivePeerDependencies: - rollup dev: false @@ -4075,7 +4065,7 @@ packages: '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) perfect-debounce: 1.0.0 splitpanes: 3.1.5 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21) transitivePeerDependencies: - '@unocss/reset' @@ -4120,7 +4110,7 @@ packages: mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) dev: false /@vue/devtools-shared@7.0.25: @@ -4144,8 +4134,8 @@ packages: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8) - vue: 3.4.21(typescript@5.4.4) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8) + vue: 3.4.21(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -4161,7 +4151,7 @@ packages: - universal-cookie dev: false - /@vue/language-core@1.8.27(typescript@5.4.4): + /@vue/language-core@1.8.27(typescript@5.4.5): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' @@ -4174,28 +4164,28 @@ packages: '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 computeds: 0.0.1 - minimatch: 9.0.3 + minimatch: 9.0.4 muggle-string: 0.3.1 path-browserify: 1.0.1 - typescript: 5.4.4 + typescript: 5.4.5 vue-template-compiler: 2.7.14 dev: true - /@vue/language-core@2.0.11(typescript@5.4.4): - resolution: {integrity: sha512-5ivg8Vem/yckzXI3L3n0mdKBPRcHSlsGt6/dpbEx42PcH3MIHAjSAJBYvENXeWJxv2ClQc8BS2mH1Ho2U7jZig==} + /@vue/language-core@2.0.13(typescript@5.4.5): + resolution: {integrity: sha512-oQgM+BM66SU5GKtUMLQSQN0bxHFkFpLSSAiY87wVziPaiNQZuKVDt/3yA7GB9PiQw0y/bTNL0bOc0jM/siYjKg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 2.2.0-alpha.6 + '@volar/language-core': 2.2.0-alpha.8 '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 computeds: 0.0.1 - minimatch: 9.0.3 + minimatch: 9.0.4 path-browserify: 1.0.1 - typescript: 5.4.4 + typescript: 5.4.5 vue-template-compiler: 2.7.14 /@vue/reactivity@3.4.21: @@ -4223,7 +4213,7 @@ packages: dependencies: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} @@ -4669,34 +4659,34 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.3(rollup@4.14.1): + /ast-kit@0.11.3(rollup@4.14.2): resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-kit@0.9.5(rollup@4.14.1): + /ast-kit@0.9.5(rollup@4.14.2): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) pathe: 1.1.2 transitivePeerDependencies: - rollup dev: false - /ast-walker-scope@0.5.0(rollup@4.14.1): + /ast-walker-scope@0.5.0(rollup@4.14.2): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.24.1 - ast-kit: 0.9.5(rollup@4.14.1) + ast-kit: 0.9.5(rollup@4.14.2) transitivePeerDependencies: - rollup dev: false @@ -4857,7 +4847,7 @@ packages: pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 - rc9: 2.1.1 + rc9: 2.1.2 /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} @@ -5218,7 +5208,7 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cosmiconfig@8.3.6(typescript@5.4.4): + /cosmiconfig@8.3.6(typescript@5.4.5): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -5231,10 +5221,10 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.4.4 + typescript: 5.4.5 dev: false - /cosmiconfig@9.0.0(typescript@5.4.4): + /cosmiconfig@9.0.0(typescript@5.4.5): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -5247,7 +5237,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.4.4 + typescript: 5.4.5 dev: false /crc-32@1.2.2: @@ -5299,8 +5289,8 @@ packages: postcss: 8.4.38 dev: false - /css-loader@7.1.0(webpack@5.91.0): - resolution: {integrity: sha512-VFNj47MAG84MqYDdh9puJG0h98Xs7gEYaX0aeGkfjYqBLB0seOE325sVbqWwaNu3hMZwEP4bB+F4gvF+A63qMA==} + /css-loader@7.1.1(webpack@5.91.0): + resolution: {integrity: sha512-OxIR5P2mjO1PSXk44bWuQ8XtMK4dpEqpIyERCx3ewOo3I8EmbcxMPUc5ScLtQfgXtOojoMv57So4V/C02HQLsw==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -5999,8 +5989,8 @@ packages: parse-gitignore: 2.0.0 dev: true - /eslint-flat-config-utils@0.2.1: - resolution: {integrity: sha512-SKnSr4YdPD7xxynNpaad/IlJYfeDmtWvZ0UEmHEA0+eTOcZFPt1075KO87LIWN30jXGCREG2qcCqdAnRoCiAWQ==} + /eslint-flat-config-utils@0.2.2: + resolution: {integrity: sha512-iWjXCsGBuyqlGhmam4V9IXlxpDfnc7l0VC1YzncROF2PYIPSRpejugrIp2bXPT5mutKF3zq69Vbt7J9su9E/Lw==} dependencies: '@types/eslint': 8.56.7 pathe: 1.1.2 @@ -6016,13 +6006,13 @@ packages: - supports-color dev: true - /eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.4): + /eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==} engines: {node: '>=16'} peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 dependencies: - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) debug: 4.3.4 doctrine: 3.0.0 eslint: 9.0.0 @@ -6061,7 +6051,7 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-perfectionist@2.8.0(eslint@9.0.0)(typescript@5.4.4): + /eslint-plugin-perfectionist@2.8.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-XBjQ4ctU1rOzQ4bFJoUowe8XdsIIz42JqNrouFlae1TO78HjoyYBaRP8+gAHDDQCSdHY10pbChyzlJeBA6D51w==} peerDependencies: astro-eslint-parser: ^0.16.0 @@ -6079,9 +6069,9 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 - minimatch: 9.0.3 + minimatch: 9.0.4 natural-compare-lite: 1.4.0 transitivePeerDependencies: - supports-color @@ -6181,7 +6171,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 3.0.2 '@eslint/js': 9.0.0 '@humanwhocodes/config-array': 0.12.3 @@ -6433,10 +6423,6 @@ packages: flatted: 3.3.1 keyv: 4.5.4 - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - /flat@6.0.1: resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} engines: {node: '>=18'} @@ -6457,7 +6443,7 @@ packages: dependencies: '@floating-ui/dom': 1.1.1 '@nuxt/kit': link:packages/kit - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) vue-resize: 2.0.0-alpha.1(vue@3.4.21) /focus-trap@7.5.4: @@ -6479,7 +6465,7 @@ packages: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.4)(webpack@5.91.0): + /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.5)(webpack@5.91.0): resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -6489,7 +6475,7 @@ packages: '@babel/code-frame': 7.24.2 chalk: 4.1.2 chokidar: 3.6.0 - cosmiconfig: 8.3.6(typescript@5.4.4) + cosmiconfig: 8.3.6(typescript@5.4.5) deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 @@ -6498,7 +6484,7 @@ packages: schema-utils: 3.3.0 semver: 7.6.0 tapable: 2.2.1 - typescript: 5.4.4 + typescript: 5.4.5 webpack: 5.91.0 dev: false @@ -6686,7 +6672,7 @@ packages: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 7.0.4 path-scurry: 1.10.1 @@ -7328,11 +7314,6 @@ packages: engines: {node: '>=12'} dev: true - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: false - /is-primitive@3.0.1: resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} engines: {node: '>=0.10.0'} @@ -7927,7 +7908,7 @@ packages: js-yaml: 4.1.0 jsonc-parser: 3.2.1 markdownlint: 0.33.0 - minimatch: 9.0.3 + minimatch: 9.0.4 run-con: 1.3.2 dev: true @@ -8459,6 +8440,7 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 + dev: true /minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} @@ -8549,7 +8531,7 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdist@1.3.0(typescript@5.4.4): + /mkdist@1.3.0(typescript@5.4.5): resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} hasBin: true peerDependencies: @@ -8570,7 +8552,7 @@ packages: mlly: 1.6.1 mri: 1.2.0 pathe: 1.1.2 - typescript: 5.4.4 + typescript: 5.4.5 dev: true /mlly@1.6.1: @@ -8643,14 +8625,14 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.14.1) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.1) - '@rollup/plugin-inject': 5.0.5(rollup@4.14.1) - '@rollup/plugin-json': 6.1.0(rollup@4.14.1) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.1) - '@rollup/plugin-replace': 5.0.5(rollup@4.14.1) - '@rollup/plugin-terser': 0.4.4(rollup@4.14.1) - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.2) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.2) + '@rollup/plugin-inject': 5.0.5(rollup@4.14.2) + '@rollup/plugin-json': 6.1.0(rollup@4.14.2) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.2) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.2) + '@rollup/plugin-terser': 0.4.4(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 archiver: 7.0.1 @@ -8694,8 +8676,8 @@ packages: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.14.1 - rollup-plugin-visualizer: 5.12.0(rollup@4.14.1) + rollup: 4.14.2 + rollup-plugin-visualizer: 5.12.0(rollup@4.14.2) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 @@ -8705,7 +8687,7 @@ packages: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.14.1) + unimport: 3.7.1(rollup@4.14.2) unstorage: 1.10.2(ioredis@5.3.2) unwasm: 0.3.9 transitivePeerDependencies: @@ -8944,7 +8926,7 @@ packages: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema '@nuxtjs/mdc': 0.5.0 - '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.4) + '@shikijs/vitepress-twoslash': 1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.5) cac: 6.7.14 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -8952,8 +8934,8 @@ packages: picocolors: 1.0.0 remark-parse: 11.0.0 shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.4.4) - typescript: 5.4.4 + twoslash: 0.2.4(typescript@5.4.5) + typescript: 5.4.5 unified: 11.0.4 unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -9318,8 +9300,8 @@ packages: mlly: 1.6.1 pathe: 1.1.2 - /playwright-core@1.43.0: - resolution: {integrity: sha512-iWFjyBUH97+pUFiyTqSLd8cDMMOS0r2ZYz2qEsPjH8/bX++sbIJT35MSwKnp1r/OQBAqC5XO99xFbJ9XClhf4w==} + /playwright-core@1.43.1: + resolution: {integrity: sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==} engines: {node: '>=16'} hasBin: true dev: true @@ -9418,7 +9400,7 @@ packages: resolve: 1.22.8 dev: false - /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.4)(webpack@5.91.0): + /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -9431,7 +9413,7 @@ packages: webpack: optional: true dependencies: - cosmiconfig: 9.0.0(typescript@5.4.4) + cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.0 postcss: 8.4.38 semver: 7.6.0 @@ -9940,13 +9922,6 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - /rc9@2.1.1: - resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} - dependencies: - defu: 6.1.4 - destr: 2.0.3 - flat: 5.0.2 - /rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} dependencies: @@ -10260,58 +10235,58 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.14.1)(typescript@5.4.4): + /rollup-plugin-dts@6.1.0(rollup@4.14.2)(typescript@5.4.5): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.9 - rollup: 4.14.1 - typescript: 5.4.4 + rollup: 4.14.2 + typescript: 5.4.5 optionalDependencies: '@babel/code-frame': 7.24.2 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.14.1): + /rollup-plugin-visualizer@5.12.0(rollup@4.14.2): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.14.1 + rollup: ^4.14.2 peerDependenciesMeta: rollup: optional: true dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.14.1 + rollup: 4.14.2 source-map: 0.7.4 yargs: 17.7.2 - /rollup@4.14.1: - resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==} + /rollup@4.14.2: + resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.1 - '@rollup/rollup-android-arm64': 4.14.1 - '@rollup/rollup-darwin-arm64': 4.14.1 - '@rollup/rollup-darwin-x64': 4.14.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.1 - '@rollup/rollup-linux-arm64-gnu': 4.14.1 - '@rollup/rollup-linux-arm64-musl': 4.14.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1 - '@rollup/rollup-linux-riscv64-gnu': 4.14.1 - '@rollup/rollup-linux-s390x-gnu': 4.14.1 - '@rollup/rollup-linux-x64-gnu': 4.14.1 - '@rollup/rollup-linux-x64-musl': 4.14.1 - '@rollup/rollup-win32-arm64-msvc': 4.14.1 - '@rollup/rollup-win32-ia32-msvc': 4.14.1 - '@rollup/rollup-win32-x64-msvc': 4.14.1 + '@rollup/rollup-android-arm-eabi': 4.14.2 + '@rollup/rollup-android-arm64': 4.14.2 + '@rollup/rollup-darwin-arm64': 4.14.2 + '@rollup/rollup-darwin-x64': 4.14.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.2 + '@rollup/rollup-linux-arm64-gnu': 4.14.2 + '@rollup/rollup-linux-arm64-musl': 4.14.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.2 + '@rollup/rollup-linux-riscv64-gnu': 4.14.2 + '@rollup/rollup-linux-s390x-gnu': 4.14.2 + '@rollup/rollup-linux-x64-gnu': 4.14.2 + '@rollup/rollup-linux-x64-musl': 4.14.2 + '@rollup/rollup-win32-arm64-msvc': 4.14.2 + '@rollup/rollup-win32-ia32-msvc': 4.14.2 + '@rollup/rollup-win32-x64-msvc': 4.14.2 fsevents: 2.3.3 /run-applescript@5.0.0: @@ -10976,13 +10951,13 @@ packages: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: true - /ts-api-utils@1.3.0(typescript@5.4.4): + /ts-api-utils@1.3.0(typescript@5.4.5): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.4 + typescript: 5.4.5 dev: true /tslib@2.6.2: @@ -11003,27 +10978,27 @@ packages: resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==} dev: true - /twoslash-vue@0.2.4(typescript@5.4.4): + /twoslash-vue@0.2.4(typescript@5.4.5): resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==} peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.27(typescript@5.4.4) - twoslash: 0.2.4(typescript@5.4.4) + '@vue/language-core': 1.8.27(typescript@5.4.5) + twoslash: 0.2.4(typescript@5.4.5) twoslash-protocol: 0.2.4 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /twoslash@0.2.4(typescript@5.4.4): + /twoslash@0.2.4(typescript@5.4.5): resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==} peerDependencies: typescript: '*' dependencies: '@typescript/vfs': 1.5.0 twoslash-protocol: 0.2.4 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true @@ -11063,8 +11038,8 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - /typescript@5.4.4: - resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true @@ -11079,7 +11054,7 @@ packages: resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} dev: false - /unbuild@2.0.0(typescript@5.4.4): + /unbuild@2.0.0(typescript@5.4.5): resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} hasBin: true peerDependencies: @@ -11088,12 +11063,12 @@ packages: typescript: optional: true dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.14.1) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.1) - '@rollup/plugin-json': 6.1.0(rollup@4.14.1) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.1) - '@rollup/plugin-replace': 5.0.5(rollup@4.14.1) - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.2) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.2) + '@rollup/plugin-json': 6.1.0(rollup@4.14.2) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.2) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -11103,15 +11078,15 @@ packages: hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.9 - mkdist: 1.3.0(typescript@5.4.4) + mkdist: 1.3.0(typescript@5.4.5) mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 4.14.1 - rollup-plugin-dts: 6.1.0(rollup@4.14.1)(typescript@5.4.4) + rollup: 4.14.2 + rollup-plugin-dts: 6.1.0(rollup@4.14.2)(typescript@5.4.5) scule: 1.3.0 - typescript: 5.4.4 + typescript: 5.4.5 untyped: 1.4.2 transitivePeerDependencies: - sass @@ -11156,12 +11131,12 @@ packages: node-fetch-native: 1.6.4 pathe: 1.1.2 - /unhead@1.9.4: - resolution: {integrity: sha512-QVU0y3KowRu2cLjXxfemTKNohK4vdEwyahoszlEnRz0E5BTNRZQSs8AnommorGmVM7DvB2t4dwWadB51wDlPzw==} + /unhead@1.9.5: + resolution: {integrity: sha512-eBKDPO9IMltRze9mHNYIVdosjlqoNFbwJRbykGT/7z/S5uYR2QRCXmIhEsJT4crffy6KQyB5ywLPqjRPx0s57A==} dependencies: - '@unhead/dom': 1.9.4 - '@unhead/schema': 1.9.4 - '@unhead/shared': 1.9.4 + '@unhead/dom': 1.9.5 + '@unhead/schema': 1.9.5 + '@unhead/shared': 1.9.5 hookable: 5.5.3 dev: false @@ -11186,10 +11161,10 @@ packages: vfile: 6.0.1 dev: true - /unimport@3.7.1(rollup@4.14.1): + /unimport@3.7.1(rollup@4.14.2): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -11262,7 +11237,7 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8): + /unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -11274,8 +11249,8 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.6(rollup@4.14.1)(vite@5.2.8) - '@unocss/cli': 0.58.6(rollup@4.14.1) + '@unocss/astro': 0.58.6(rollup@4.14.2)(vite@5.2.8) + '@unocss/cli': 0.58.6(rollup@4.14.2) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 '@unocss/postcss': 0.58.6(postcss@8.4.38) @@ -11293,15 +11268,15 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.1)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.5) + '@unocss/vite': 0.58.6(rollup@4.14.2)(vite@5.2.8) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - postcss - rollup - supports-color dev: false - /unplugin-vue-router@0.7.0(rollup@4.14.1)(vue-router@4.3.0)(vue@3.4.21): + /unplugin-vue-router@0.7.0(rollup@4.14.2)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -11310,9 +11285,9 @@ packages: optional: true dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) - '@vue-macros/common': 1.10.1(rollup@4.14.1)(vue@3.4.21) - ast-walker-scope: 0.5.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@vue-macros/common': 1.10.1(rollup@4.14.2)(vue@3.4.21) + ast-walker-scope: 0.5.0(rollup@4.14.2) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 @@ -11522,7 +11497,7 @@ packages: peerDependencies: vite: 5.2.8 dependencies: - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) dev: false /vite-node@1.0.2(@types/node@20.12.7): @@ -11546,27 +11521,6 @@ packages: - terser dev: true - /vite-node@1.4.0(@types/node@20.12.5): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.5) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11587,7 +11541,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.11): + /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.5)(vite@5.2.8)(vue-tsc@2.0.13): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11630,16 +11584,16 @@ packages: semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - typescript: 5.4.4 + typescript: 5.4.5 vite: 5.2.8(@types/node@20.12.7) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 2.0.11(typescript@5.4.4) + vue-tsc: 2.0.13(typescript@5.4.5) dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.1)(vite@5.2.8): + /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.2)(vite@5.2.8): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -11651,7 +11605,7 @@ packages: dependencies: '@antfu/utils': 0.7.7 '@nuxt/kit': link:packages/kit - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -11659,7 +11613,7 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - rollup - supports-color @@ -11679,46 +11633,11 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - supports-color dev: false - /vite@5.2.8(@types/node@20.12.5): - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.12.5 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.14.1 - optionalDependencies: - fsevents: 2.3.3 - /vite@5.2.8(@types/node@20.12.7): resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11750,14 +11669,14 @@ packages: '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.14.1 + rollup: 4.14.2 optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11833,63 +11752,6 @@ packages: - terser dev: true - /vitest@1.4.0(@types/node@20.12.5)(happy-dom@14.7.1): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.12.5 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - happy-dom: 14.7.1 - local-pkg: 0.5.0 - magic-string: 0.30.9 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - tinybench: 2.5.1 - tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.5) - vite-node: 1.4.0(@types/node@20.12.5) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -12013,7 +11875,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) dev: false /vue-devtools-stub@0.1.0: @@ -12053,7 +11915,7 @@ packages: '@vue/compiler-sfc': 3.4.21 chalk: 4.1.2 hash-sum: 2.0.0 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) watchpack: 2.4.1 webpack: 5.91.0 @@ -12062,7 +11924,7 @@ packages: peerDependencies: vue: 3.4.21 dependencies: - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) dev: false /vue-resize@2.0.0-alpha.1(vue@3.4.21): @@ -12070,7 +11932,7 @@ packages: peerDependencies: vue: 3.4.21 dependencies: - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) /vue-router@4.3.0(vue@3.4.21): resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} @@ -12078,7 +11940,7 @@ packages: vue: 3.4.21 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -12086,16 +11948,16 @@ packages: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.11(typescript@5.4.4): - resolution: {integrity: sha512-dl5MEU4VGZdQFGBnKfPpAfV3SQmBDWs9o4YhUPvDmwk+zmb/RprzFJK2sagR6EWazogZhXENvykd3wBXWS9kng==} + /vue-tsc@2.0.13(typescript@5.4.5): + resolution: {integrity: sha512-a3nL3FvguCWVJUQW/jFrUxdeUtiEkbZoQjidqvMeBK//tuE2w6NWQAbdrEpY2+6nSa4kZoKZp8TZUMtHpjt4mQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 2.2.0-alpha.6 - '@vue/language-core': 2.0.11(typescript@5.4.4) + '@volar/typescript': 2.2.0-alpha.8 + '@vue/language-core': 2.0.13(typescript@5.4.5) semver: 7.6.0 - typescript: 5.4.4 + typescript: 5.4.5 /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21): resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} @@ -12103,12 +11965,12 @@ packages: vue: 3.4.21 dependencies: mitt: 2.1.0 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21) vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: false - /vue@3.4.21(typescript@5.4.4): + /vue@3.4.21(typescript@5.4.5): resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: typescript: '*' @@ -12121,7 +11983,7 @@ packages: '@vue/runtime-dom': 3.4.21 '@vue/server-renderer': 3.4.21(vue@3.4.21) '@vue/shared': 3.4.21 - typescript: 5.4.4 + typescript: 5.4.5 /watchpack@2.4.1: resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} @@ -12142,8 +12004,8 @@ packages: engines: {node: '>=12'} dev: true - /webpack-bundle-analyzer@4.10.1: - resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==} + /webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} engines: {node: '>= 10.13.0'} hasBin: true dependencies: @@ -12155,7 +12017,6 @@ packages: escape-string-regexp: 4.0.0 gzip-size: 6.0.0 html-escaper: 2.0.2 - is-plain-object: 5.0.0 opener: 1.5.2 picocolors: 1.0.0 sirv: 2.0.4 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index aff513e1c8..1128ca6799 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"527k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"75.6k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"75.9k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) From 6d72ef098c45dd885dd6ef8adfc2f9ffacccd3cf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 00:11:33 +0200 Subject: [PATCH 440/470] chore(deps): update lycheeverse/lychee-action digest to 1e92115 (main) (#26745) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/check-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index d4bd197866..d0c46d085b 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -28,7 +28,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Lychee link checker - uses: lycheeverse/lychee-action@c053181aa0c3d17606addfe97a9075a32723548a # for v1.8.0 + uses: lycheeverse/lychee-action@1e92115388e88fdc331019d99c8ab8dfe97ddd13 # for v1.8.0 with: # arguments with file types to check args: >- From cc391c0448260b10e32d1b24ddb6f7e0e63c5e75 Mon Sep 17 00:00:00 2001 From: AngelHdz Multimedia <angel.hernandez.12@live.com> Date: Fri, 12 Apr 2024 18:19:47 -0400 Subject: [PATCH 441/470] docs: fix typo (#26752) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Damian Głowala <damian.glowala.rebkow@gmail.com> --- docs/2.guide/2.directory-structure/3.nuxt-config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d41971142e..1174095d2b 100644 --- a/docs/2.guide/2.directory-structure/3.nuxt-config.md +++ b/docs/2.guide/2.directory-structure/3.nuxt-config.md @@ -33,7 +33,7 @@ Discover all the available options in the **Nuxt configuration** documentation. To ensure your configuration is up to date, Nuxt will make a full restart when detecting changes in the main configuration file, the [`.env`](/docs/guide/directory-structure/env), [`.nuxtignore`](/docs/guide/directory-structure/nuxtignore) and `.nuxtrc` dotfiles. -The `.nuxtrc` file is a file that can be used to configure Nuxt with a fla syntax, it is based on [`unjs/rc9`](https://github.com/unjs/rc9). +The `.nuxtrc` file can be used to configure Nuxt with a flat syntax. It is based on [`unjs/rc9`](https://github.com/unjs/rc9). ``` [.nuxtrc] ssr=false From b7ba3a4a80e8564ca518c1bc7d172acda4c5a256 Mon Sep 17 00:00:00 2001 From: Ryan Clements <ryanclementshax@gmail.com> Date: Fri, 12 Apr 2024 18:21:02 -0400 Subject: [PATCH 442/470] fix(nuxt): hint prerenderer to crawl routes at runtime (#26694) --- packages/nuxt/src/core/nitro.ts | 5 ++- packages/nuxt/src/pages/module.ts | 41 ++++------------- .../pages/runtime/plugins/prerender.server.ts | 45 +++++++++++++++++++ 3 files changed, 57 insertions(+), 34 deletions(-) create mode 100644 packages/nuxt/src/pages/runtime/plugins/prerender.server.ts diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 24f82eab8a..fb7df41d05 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -507,9 +507,12 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { if (nitro.options.static) { nitro.hooks.hook('prerender:routes', (routes) => { - for (const route of [nuxt.options.ssr ? '/' : '/index.html', '/200.html', '/404.html']) { + for (const route of ['/200.html', '/404.html']) { routes.add(route) } + if (!nuxt.options.ssr) { + routes.add('/index.html') + } }) } diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 8acabb18ab..1fbba760d5 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -3,7 +3,6 @@ import { mkdir, readFile } from 'node:fs/promises' import { addBuildPlugin, addComponent, addPlugin, addTemplate, addTypeTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, findPath, logger, updateTemplates, useNitro } from '@nuxt/kit' import { dirname, join, relative, resolve } from 'pathe' import { genImport, genObjectFromRawEntries, genString } from 'knitwork' -import { joinURL } from 'ufo' import type { Nuxt, NuxtApp, NuxtPage } from 'nuxt/schema' import { createRoutesContext } from 'unplugin-vue-router' import { resolveOptions } from 'unplugin-vue-router/options' @@ -18,8 +17,6 @@ import type { PageMetaPluginOptions } from './plugins/page-meta' import { PageMetaPlugin } from './plugins/page-meta' import { RouteInjectionPlugin } from './plugins/route-injection' -const OPTIONAL_PARAM_RE = /^\/?:.*(\?|\(\.\*\)\*)$/ - export default defineNuxtModule({ meta: { name: 'pages', @@ -266,36 +263,14 @@ export default defineNuxtModule({ }) }) - nuxt.hook('nitro:init', (nitro) => { - if (nuxt.options.dev || !nitro.options.static || nuxt.options.router.options.hashMode) { return } - // Prerender all non-dynamic page routes when generating app - const prerenderRoutes = new Set<string>() - nuxt.hook('pages:extend', (pages) => { - prerenderRoutes.clear() - const processPages = (pages: NuxtPage[], currentPath = '/') => { - for (const page of pages) { - // Add root of optional dynamic paths and catchalls - if (OPTIONAL_PARAM_RE.test(page.path) && !page.children?.length) { prerenderRoutes.add(currentPath) } - // Skip dynamic paths - if (page.path.includes(':')) { continue } - const route = joinURL(currentPath, page.path) - prerenderRoutes.add(route) - if (page.children) { processPages(page.children, route) } - } - } - processPages(pages) - }) - nuxt.hook('nitro:build:before', (nitro) => { - if (nitro.options.prerender.routes.length) { - for (const route of nitro.options.prerender.routes) { - // Skip default route value as we only generate it if it is already - // in the detected routes from `~/pages`. - if (route === '/') { continue } - prerenderRoutes.add(route) - } - } - nitro.options.prerender.routes = Array.from(prerenderRoutes) - }) + nuxt.hook('app:resolve', (app) => { + const nitro = useNitro() + if (nitro.options.prerender.crawlLinks) { + app.plugins.push({ + src: resolve(runtimeDir, 'plugins/prerender.server'), + mode: 'server', + }) + } }) nuxt.hook('imports:extend', (imports) => { diff --git a/packages/nuxt/src/pages/runtime/plugins/prerender.server.ts b/packages/nuxt/src/pages/runtime/plugins/prerender.server.ts new file mode 100644 index 0000000000..31467d17b0 --- /dev/null +++ b/packages/nuxt/src/pages/runtime/plugins/prerender.server.ts @@ -0,0 +1,45 @@ +import type { RouteRecordRaw } from 'vue-router' +import { joinURL } from 'ufo' + +import { defineNuxtPlugin } from '#app/nuxt' +import { prerenderRoutes } from '#app/composables/ssr' +// @ts-expect-error virtual file +import _routes from '#build/routes' +// @ts-expect-error virtual file +import routerOptions from '#build/router.options' + +let routes: string[] + +export default defineNuxtPlugin(async () => { + if (!import.meta.server || !import.meta.prerender || routerOptions.hashMode) { + return + } + if (routes && !routes.length) { return } + + routes ||= Array.from(processRoutes(await routerOptions.routes?.(_routes) ?? _routes)) + const batch = routes.splice(0, 10) + prerenderRoutes(batch) +}) + +// Implementation + +const OPTIONAL_PARAM_RE = /^\/?:.*(\?|\(\.\*\)\*)$/ + +function processRoutes (routes: RouteRecordRaw[], currentPath = '/', routesToPrerender = new Set<string>()) { + for (const route of routes) { + // Add root of optional dynamic paths and catchalls + if (OPTIONAL_PARAM_RE.test(route.path) && !route.children?.length) { + routesToPrerender.add(currentPath) + } + // Skip dynamic paths + if (route.path.includes(':')) { + continue + } + const fullPath = joinURL(currentPath, route.path) + routesToPrerender.add(fullPath) + if (route.children) { + processRoutes(route.children, fullPath, routesToPrerender) + } + } + return routesToPrerender +} From f0a81b21b0fd6812dc068d3005e54f04505e9b29 Mon Sep 17 00:00:00 2001 From: Shao <10136589+shao-wang-me@users.noreply.github.com> Date: Sat, 13 Apr 2024 08:23:41 +1000 Subject: [PATCH 443/470] docs: remove misleading reference to `useFetch` (#26748) --- docs/1.getting-started/6.data-fetching.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/6.data-fetching.md b/docs/1.getting-started/6.data-fetching.md index b6b52457c9..5a69126eab 100644 --- a/docs/1.getting-started/6.data-fetching.md +++ b/docs/1.getting-started/6.data-fetching.md @@ -122,7 +122,7 @@ const { data, error } = await useAsyncData(`user:${id}`, () => { </script> ``` -The `useAsyncData` composable is a great way to wrap and wait for multiple `useFetch` to be done, and then retrieve the results of each. +The `useAsyncData` composable is a great way to wrap and wait for multiple `$fetch` requests to be completed, and then process the results. ```vue <script setup lang="ts"> From 6e6cfe96ea09a303685461be55a1f501826a2aac Mon Sep 17 00:00:00 2001 From: Anthony Fu <anthonyfu117@hotmail.com> Date: Mon, 15 Apr 2024 16:15:26 +0200 Subject: [PATCH 444/470] docs: update the code style page (#26792) --- docs/2.guide/1.concepts/9.code-style.md | 76 ++++--------------------- 1 file changed, 10 insertions(+), 66 deletions(-) diff --git a/docs/2.guide/1.concepts/9.code-style.md b/docs/2.guide/1.concepts/9.code-style.md index 3b9e27bcbd..8d9a918873 100644 --- a/docs/2.guide/1.concepts/9.code-style.md +++ b/docs/2.guide/1.concepts/9.code-style.md @@ -5,76 +5,20 @@ description: "Nuxt supports ESLint out of the box" ## ESLint -The recommended approach for Nuxt is to enable ESLint support using [`@nuxt/eslint-config`](https://github.com/nuxt/eslint-config). +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. -At the moment, this configuration will not format your files; you can set up Prettier or another tool to do so. +:::callout{icon="i-ph-lightbulb-duotone"} +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/). -::alert{type=info} -We're currently working to refactor the Nuxt ESLint configuration. Subscribe to the [Nuxt ESLint roadmap](https://github.com/nuxt/eslint-config/issues/303) to follow updates. -:: +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 recommand you to migrate over the flat config to be future-proof. +::: -### Install Dependencies +## Quick Setup -Install both ESLint and the Nuxt configuration as development dependencies. - -::code-group - -```bash [yarn] -yarn add --dev eslint @nuxt/eslint-config +```bash +npx nuxi module add eslint ``` -```bash [npm] -npm install --save-dev eslint @nuxt/eslint-config -``` +Start your Nuxt app, a `eslint.config.mjs` file will be generated under your project root. You can customize it as needed. -```bash [pnpm] -pnpm add -D eslint @nuxt/eslint-config -``` - -```bash [bun] -bun add -D eslint @nuxt/eslint-config -``` - -:: - -### Configuration - -Add `.eslintrc.cjs` to the root folder of your Nuxt app. - -```js -module.exports = { - root: true, - extends: ['@nuxt/eslint-config'], -} -``` - -### Modify package.json - -Add the below to lint commands to your `package.json` script section: - -```json - "scripts": { - ... - "lint": "eslint .", - "lint:fix": "eslint . --fix", - ... - }, -``` - -Run the `lint` command to check if the code style is correct or run `lint:fix` to automatically fix issues. - -### Configuring VS Code - -Install the [VS Code ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint). - -In VS Code press `ctrl+shift+p` (`cmd+shift+p` on Mac) to open the command prompt, find `Open Workspace Settings (JSON)`, add the below lines to the JSON and save: - -```json -{ - "editor.codeActionsOnSave": { - "source.fixAll.eslint": "explicit" - } -} -``` - -You're good to go! On save, your files will be linted and auto-fixed. +You can learn more about the module and customizations in [Nuxt ESLint's documentation](https://eslint.nuxt.com/packages/module). From 1ac02b857e07269cb121cd5ef582654e074b26da Mon Sep 17 00:00:00 2001 From: "@beer" <47961062+iiio2@users.noreply.github.com> Date: Mon, 15 Apr 2024 20:17:26 +0600 Subject: [PATCH 445/470] chore: fix `devcontainer.json` syntax (#26776) --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a5708e8235..469ac12b19 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ // https://containers.dev/implementors/json_reference/ { "name": "nuxt-devcontainer", - "dockerFile": "Dockerfile", + "build": { "dockerfile": "Dockerfile" }, "features": {}, "customizations": { "vscode": { From f725703bb2610571d88e0c4315e2baab957a4965 Mon Sep 17 00:00:00 2001 From: Julien Huang <julien.huang@outlook.fr> Date: Mon, 15 Apr 2024 16:19:57 +0200 Subject: [PATCH 446/470] docs: reference correct composable in `callWithNuxt` (#26771) --- packages/nuxt/src/app/nuxt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 2c8a7839ab..3e6f6573ef 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -424,7 +424,7 @@ export function isNuxtPlugin (plugin: unknown) { } /** - * Ensures that the setup function passed in has access to the Nuxt instance via `useNuxt`. + * Ensures that the setup function passed in has access to the Nuxt instance via `useNuxtApp`. * @param nuxt A Nuxt instance * @param setup The function to call */ From 324c0df177e7ed6772201b5a261b0d1f3ed47b3d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 22:54:17 +0200 Subject: [PATCH 447/470] chore(deps): update devdependency @nuxt/test-utils to v3.12.1 (main) (#26793) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 9c3637d115..c7e73d88f2 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@eslint/js": "9.0.0", "@nuxt/eslint-config": "0.3.6", "@nuxt/kit": "workspace:*", - "@nuxt/test-utils": "3.12.0", + "@nuxt/test-utils": "3.12.1", "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.0.3", "@types/eslint__js": "8.42.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 22365598de..2e02f84fc7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,8 +29,8 @@ importers: specifier: workspace:* version: link:packages/kit '@nuxt/test-utils': - specifier: 3.12.0 - version: 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + specifier: 3.12.1 + version: 3.12.1(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -2386,8 +2386,8 @@ packages: rc9: 2.1.2 std-env: 3.7.0 - /@nuxt/test-utils@3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): - resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==} + /@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + resolution: {integrity: sha512-VRLNcDz9Ad/4pjHdNRVLPs5DVIO5IJ0ij81PLmsE/lt+5oeeIQld+AgHgcqM4BM1YKsXTBuavbk1mEBqj7h/+A==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: '@cucumber/cucumber': ^10.3.1 @@ -2397,7 +2397,7 @@ packages: '@vitest/ui': ^0.34.6 || ^1.0.0 '@vue/test-utils': ^2.4.2 h3: '*' - happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 + happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 vite: 5.2.8 @@ -11676,7 +11676,7 @@ packages: /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.12.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' From 86226f45d427f11a43ae336a698603b279c76fe5 Mon Sep 17 00:00:00 2001 From: Mehdi <34148140+mehdi-coding@users.noreply.github.com> Date: Tue, 16 Apr 2024 09:02:55 +0100 Subject: [PATCH 448/470] docs: add sample app.vue (#26796) --- docs/1.getting-started/3.views.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/1.getting-started/3.views.md b/docs/1.getting-started/3.views.md index 72e85ce261..a3275b05c2 100644 --- a/docs/1.getting-started/3.views.md +++ b/docs/1.getting-started/3.views.md @@ -96,6 +96,16 @@ If you only have a single layout in your application, we recommend using [`app.v ::code-group +```vue [app.vue] +<template> + <div> + <NuxtLayout> + <NuxtPage /> + </NuxtLayout> + </div> +</template> +``` + ```vue [layouts/default.vue] <template> <div> From f37882dd135508ea5222e9b98da200354b551f99 Mon Sep 17 00:00:00 2001 From: gangan <44604921+shinGangan@users.noreply.github.com> Date: Tue, 16 Apr 2024 17:04:41 +0900 Subject: [PATCH 449/470] docs: remove direct link to subheading (#26775) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5481321e39..c054f7cfff 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ We invite you to contribute and help improve Nuxt 💚 Here are a few ways you can get involved: - **Reporting Bugs:** If you come across any bugs or issues, please check out the [reporting bugs guide](https://nuxt.com/docs/community/reporting-bugs) to learn how to submit a bug report. -- **Suggestions:** Have ideas to enhance Nuxt? We'd love to hear them! Check out the [contribution guide](https://nuxt.com/docs/community/contribution#creating-an-issue) to share your suggestions. +- **Suggestions:** Have ideas to enhance Nuxt? We'd love to hear them! Check out the [contribution guide](https://nuxt.com/docs/community/contribution) to share your suggestions. - **Questions:** If you have questions or need assistance, the [getting help guide](https://nuxt.com/docs/community/getting-help) provides resources to help you out. ## <a name="local-development">🏠 Local Development</a> From 4ac9d3c155ef53708b1e65b086da13b377c88f78 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 16:21:17 +0100 Subject: [PATCH 450/470] chore(deps): update pnpm to v9 (main) (#26799) --- package.json | 2 +- pnpm-lock.yaml | 14147 +++++++++++++++++++++++++++-------------------- 2 files changed, 8113 insertions(+), 6036 deletions(-) diff --git a/package.json b/package.json index c7e73d88f2..a0a9dab386 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "vue-router": "4.3.0", "vue-tsc": "2.0.13" }, - "packageManager": "pnpm@8.15.6", + "packageManager": "pnpm@9.0.0", "engines": { "node": "^14.18.0 || >=16.10.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e02f84fc7..e881e9d54a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -30,13 +30,13 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.1 - version: 3.12.1(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack '@testing-library/vue': specifier: 8.0.3 - version: 8.0.3(vue@3.4.21) + version: 8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)) '@types/eslint__js': specifier: 8.42.3 version: 8.42.3 @@ -51,7 +51,7 @@ importers: version: 7.5.8 '@vitest/coverage-v8': specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0) + version: 1.4.0(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0)) '@vue/test-utils': specifier: 2.4.5 version: 2.4.5 @@ -75,7 +75,7 @@ importers: version: 3.1.0 eslint-plugin-perfectionist: specifier: 2.8.0 - version: 2.8.0(eslint@9.0.0)(typescript@5.4.5) + version: 2.8.0(eslint@9.0.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.0.0)) eslint-typegen: specifier: 0.2.2 version: 0.2.2(eslint@9.0.0) @@ -102,7 +102,7 @@ importers: version: 0.39.0 nitropack: specifier: 2.9.6 - version: 2.9.6 + version: 2.9.6(encoding@0.1.13) nuxi: specifier: 3.11.1 version: 3.11.1 @@ -138,16 +138,16 @@ importers: version: 1.5.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) + version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.5) vue-router: specifier: 4.3.0 - version: 4.3.0(vue@3.4.21) + version: 4.3.0(vue@3.4.21(typescript@5.4.5)) vue-tsc: specifier: 2.0.13 version: 2.0.13(typescript@5.4.5) @@ -223,16 +223,16 @@ importers: version: 4.17.21 nitropack: specifier: 2.9.6 - version: 2.9.6 + version: 2.9.6(encoding@0.1.13) unbuild: specifier: latest - version: 2.0.0(typescript@5.4.5) + version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.7) + version: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) + version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) webpack: specifier: 5.91.0 version: 5.91.0 @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.5 - version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.2)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21) + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.14.2)(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -271,7 +271,7 @@ importers: version: 1.9.5 '@unhead/vue': specifier: ^1.9.5 - version: 1.9.5(vue@3.4.21) + version: 1.9.5(vue@3.4.21(typescript@5.4.5)) '@vue/shared': specifier: ^3.4.21 version: 3.4.21 @@ -334,7 +334,7 @@ importers: version: 1.6.1 nitropack: specifier: ^2.9.6 - version: 2.9.6 + version: 2.9.6(encoding@0.1.13) nuxi: specifier: ^3.11.1 version: 3.11.1 @@ -391,7 +391,7 @@ importers: version: 1.10.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.14.2)(vue-router@4.3.0)(vue@3.4.21) + version: 0.7.0(rollup@4.14.2)(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -409,7 +409,7 @@ importers: version: 0.1.0 vue-router: specifier: ^4.3.0 - version: 4.3.0(vue@3.4.21) + version: 4.3.0(vue@3.4.21(typescript@5.4.5)) devDependencies: '@parcel/watcher': specifier: 2.4.1 @@ -422,16 +422,16 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.8)(vue@3.4.21) + version: 5.0.4(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) unbuild: specifier: latest - version: 2.0.0(typescript@5.4.5) + version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.7) + version: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) + version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) packages/schema: dependencies: @@ -486,10 +486,10 @@ importers: version: 1.9.5 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.8)(vue@3.4.21) + version: 5.0.4(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.8)(vue@3.4.21) + version: 3.1.0(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) '@vue/compiler-core': specifier: 3.4.21 version: 3.4.21 @@ -513,13 +513,13 @@ importers: version: 5.3.1 nitropack: specifier: 2.9.6 - version: 2.9.6 + version: 2.9.6(encoding@0.1.13) ofetch: specifier: 1.3.4 version: 1.3.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.5) + version: 2.0.0(sass@1.69.4)(typescript@5.4.5) unctx: specifier: 2.3.1 version: 2.3.1 @@ -528,7 +528,7 @@ importers: version: 1.9.0 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.7) + version: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.5) @@ -537,10 +537,10 @@ importers: version: 2.0.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21)(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5))(webpack@5.91.0) vue-router: specifier: 4.3.0 - version: 4.3.0(vue@3.4.21) + version: 4.3.0(vue@3.4.21(typescript@5.4.5)) webpack: specifier: 5.91.0 version: 5.91.0 @@ -558,10 +558,10 @@ importers: version: 5.0.5(rollup@4.14.2) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.8)(vue@3.4.21) + version: 5.0.4(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.8)(vue@3.4.21) + version: 3.1.0(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -642,13 +642,13 @@ importers: version: 1.10.1 vite: specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.7) + version: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vite-node: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.7) + version: 1.4.0(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.0.0)(typescript@5.4.5)(vite@5.2.8)(vue-tsc@2.0.13) + version: 0.6.4(eslint@9.0.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.13(typescript@5.4.5)) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -667,7 +667,7 @@ importers: version: 11.0.4 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.5) + version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.5) @@ -778,13 +778,13 @@ importers: version: 1.10.1 url-loader: specifier: ^4.1.1 - version: 4.1.1(file-loader@6.2.0)(webpack@5.91.0) + version: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21)(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5))(webpack@5.91.0) webpack: specifier: ^5.91.0 version: 5.91.0 @@ -827,7 +827,7 @@ importers: version: 0.4.2 unbuild: specifier: latest - version: 2.0.0(typescript@5.4.5) + version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.5) @@ -871,13 +871,13 @@ importers: version: 1.3.4 vitest: specifier: 1.0.2 - version: 1.0.2(@types/node@20.12.7)(happy-dom@14.7.1) + version: 1.0.2(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) vue: specifier: 3.4.21 version: 3.4.21(typescript@5.4.5) vue-router: specifier: latest - version: 4.3.0(vue@3.4.21) + version: 4.3.0(vue@3.4.21(typescript@5.4.5)) test/fixtures/minimal: dependencies: @@ -918,1475 +918,825 @@ importers: packages: - /@aashutoshrathi/word-wrap@1.2.6: + '@aashutoshrathi/word-wrap@1.2.6': resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - /@ampproject/remapping@2.3.0: + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - /@antfu/install-pkg@0.1.1: + '@antfu/install-pkg@0.1.1': resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - dev: false - /@antfu/utils@0.7.7: + '@antfu/utils@0.7.7': resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} - dev: false - /@apidevtools/json-schema-ref-parser@11.5.4: + '@apidevtools/json-schema-ref-parser@11.5.4': resolution: {integrity: sha512-o2fsypTGU0WxRxbax8zQoHiIB4dyrkwYfcm8TxZ+bx9pCzcWZbQtiMqpgBvWA/nJ2TrGjK5adCLfTH8wUeU/Wg==} engines: {node: '>= 16'} - dependencies: - '@jsdevtools/ono': 7.1.3 - '@types/json-schema': 7.0.15 - js-yaml: 4.1.0 - dev: true - /@babel/code-frame@7.24.2: + '@babel/code-frame@7.24.2': resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 - /@babel/compat-data@7.23.5: + '@babel/compat-data@7.23.5': resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.24.1: + '@babel/core@7.24.1': resolution: {integrity: sha512-F82udohVyIgGAY2VVj/g34TpFUG606rumIHjTfVbssPg2zTR7PuuEpZcX8JA6sgBfIYmJrFtWgPvHQuJamVqZQ==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) - '@babel/helpers': 7.24.1 - '@babel/parser': 7.24.1 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - /@babel/generator@7.24.1: + '@babel/generator@7.24.1': resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - /@babel/helper-annotate-as-pure@7.22.5: + '@babel/helper-annotate-as-pure@7.22.5': resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-compilation-targets@7.23.6: + '@babel/helper-compilation-targets@7.23.6': resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.23.5 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.1): + '@babel/helper-create-class-features-plugin@7.24.1': resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - /@babel/helper-environment-visitor@7.22.20: + '@babel/helper-environment-visitor@7.22.20': resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - /@babel/helper-function-name@7.23.0: + '@babel/helper-function-name@7.23.0': resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.0 - /@babel/helper-hoist-variables@7.22.5: + '@babel/helper-hoist-variables@7.22.5': resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-member-expression-to-functions@7.23.0: + '@babel/helper-member-expression-to-functions@7.23.0': resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-module-imports@7.22.15: + '@babel/helper-module-imports@7.22.15': resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.1): + '@babel/helper-module-transforms@7.23.3': resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - /@babel/helper-optimise-call-expression@7.22.5: + '@babel/helper-optimise-call-expression@7.22.5': resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-plugin-utils@7.24.0: + '@babel/helper-plugin-utils@7.24.0': resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.1): + '@babel/helper-replace-supers@7.24.1': resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - /@babel/helper-simple-access@7.22.5: + '@babel/helper-simple-access@7.22.5': resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-split-export-declaration@7.22.6: + '@babel/helper-split-export-declaration@7.22.6': resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-string-parser@7.23.4: + '@babel/helper-string-parser@7.23.4': resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.20: + '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.23.5: + '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - /@babel/helpers@7.24.1: + '@babel/helpers@7.24.1': resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color - /@babel/highlight@7.24.2: + '@babel/highlight@7.24.2': resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} - requiresBuild: true - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - /@babel/parser@7.24.1: + '@babel/parser@7.24.1': resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.24.0 - /@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.24.1): + '@babel/plugin-proposal-decorators@7.23.2': resolution: {integrity: sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.24.1) - dev: false - /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.24.1): + '@babel/plugin-syntax-decorators@7.22.10': resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.24.1): + '@babel/plugin-syntax-import-attributes@7.22.5': resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.1): + '@babel/plugin-syntax-import-meta@7.10.4': resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.1): + '@babel/plugin-syntax-jsx@7.24.1': resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.1): + '@babel/plugin-syntax-typescript@7.24.1': resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.1): + '@babel/plugin-transform-modules-commonjs@7.23.3': resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-simple-access': 7.22.5 - dev: false - /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.1): + '@babel/plugin-transform-typescript@7.24.1': resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.1) - /@babel/preset-typescript@7.23.3(@babel/core@7.24.1): + '@babel/preset-typescript@7.23.3': resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.1) - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) - dev: false - /@babel/runtime@7.23.9: + '@babel/runtime@7.23.9': resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - dev: true - /@babel/standalone@7.23.9: + '@babel/standalone@7.23.9': resolution: {integrity: sha512-89NGhVfgKDqDQrtNPxqfnhIReKvp2CR80ofPNEAUpbtnouFelq33hQFURLralD9I+eFS7s5zVK61JRg/D1nLWg==} engines: {node: '>=6.9.0'} - /@babel/template@7.24.0: + '@babel/template@7.24.0': resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.1 - '@babel/types': 7.24.0 - /@babel/traverse@7.24.1: + '@babel/traverse@7.24.1': resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.1 - '@babel/types': 7.24.0 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - /@babel/types@7.24.0: + '@babel/types@7.24.0': resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - /@bcoe/v8-coverage@0.2.3: + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - /@cloudflare/kv-asset-handler@0.3.1: + '@cloudflare/kv-asset-handler@0.3.1': resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} - dependencies: - mime: 3.0.0 - /@discoveryjs/json-ext@0.5.7: + '@discoveryjs/json-ext@0.5.7': resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - dev: false - /@es-joy/jsdoccomment@0.42.0: + '@es-joy/jsdoccomment@0.42.0': resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==} engines: {node: '>=16'} - dependencies: - comment-parser: 1.4.1 - esquery: 1.5.0 - jsdoc-type-pratt-parser: 4.0.0 - dev: true - /@esbuild/aix-ppc64@0.19.11: + '@esbuild/aix-ppc64@0.19.11': resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/aix-ppc64@0.20.2: + '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - optional: true - /@esbuild/android-arm64@0.18.20: + '@esbuild/android-arm64@0.18.20': resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.19.11: + '@esbuild/android-arm64@0.19.11': resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.20.2: + '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm@0.18.20: + '@esbuild/android-arm@0.18.20': resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.19.11: + '@esbuild/android-arm@0.19.11': resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.20.2: + '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-x64@0.18.20: + '@esbuild/android-x64@0.18.20': resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.19.11: + '@esbuild/android-x64@0.19.11': resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.20.2: + '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - optional: true - /@esbuild/darwin-arm64@0.18.20: + '@esbuild/darwin-arm64@0.18.20': resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.19.11: + '@esbuild/darwin-arm64@0.19.11': resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.20.2: + '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@esbuild/darwin-x64@0.18.20: + '@esbuild/darwin-x64@0.18.20': resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.19.11: + '@esbuild/darwin-x64@0.19.11': resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.20.2: + '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@esbuild/freebsd-arm64@0.18.20: + '@esbuild/freebsd-arm64@0.18.20': resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.19.11: + '@esbuild/freebsd-arm64@0.19.11': resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.20.2: + '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/freebsd-x64@0.18.20: + '@esbuild/freebsd-x64@0.18.20': resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.19.11: + '@esbuild/freebsd-x64@0.19.11': resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.20.2: + '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/linux-arm64@0.18.20: + '@esbuild/linux-arm64@0.18.20': resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.19.11: + '@esbuild/linux-arm64@0.19.11': resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.20.2: + '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-arm@0.18.20: + '@esbuild/linux-arm@0.18.20': resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.19.11: + '@esbuild/linux-arm@0.19.11': resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.20.2: + '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ia32@0.18.20: + '@esbuild/linux-ia32@0.18.20': resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.19.11: + '@esbuild/linux-ia32@0.19.11': resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.20.2: + '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-loong64@0.18.20: + '@esbuild/linux-loong64@0.18.20': resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.19.11: + '@esbuild/linux-loong64@0.19.11': resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.20.2: + '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-mips64el@0.18.20: + '@esbuild/linux-mips64el@0.18.20': resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.19.11: + '@esbuild/linux-mips64el@0.19.11': resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.20.2: + '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ppc64@0.18.20: + '@esbuild/linux-ppc64@0.18.20': resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.19.11: + '@esbuild/linux-ppc64@0.19.11': resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.20.2: + '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-riscv64@0.18.20: + '@esbuild/linux-riscv64@0.18.20': resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.19.11: + '@esbuild/linux-riscv64@0.19.11': resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.20.2: + '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-s390x@0.18.20: + '@esbuild/linux-s390x@0.18.20': resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.19.11: + '@esbuild/linux-s390x@0.19.11': resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.20.2: + '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-x64@0.18.20: + '@esbuild/linux-x64@0.18.20': resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.19.11: + '@esbuild/linux-x64@0.19.11': resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.20.2: + '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/netbsd-x64@0.18.20: + '@esbuild/netbsd-x64@0.18.20': resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.19.11: + '@esbuild/netbsd-x64@0.19.11': resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.20.2: + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - optional: true - /@esbuild/openbsd-x64@0.18.20: + '@esbuild/openbsd-x64@0.18.20': resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.19.11: + '@esbuild/openbsd-x64@0.19.11': resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.20.2: + '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - optional: true - /@esbuild/sunos-x64@0.18.20: + '@esbuild/sunos-x64@0.18.20': resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.19.11: + '@esbuild/sunos-x64@0.19.11': resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.20.2: + '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - optional: true - /@esbuild/win32-arm64@0.18.20: + '@esbuild/win32-arm64@0.18.20': resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.19.11: + '@esbuild/win32-arm64@0.19.11': resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.20.2: + '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-ia32@0.18.20: + '@esbuild/win32-ia32@0.18.20': resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.19.11: + '@esbuild/win32-ia32@0.19.11': resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.20.2: + '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-x64@0.18.20: + '@esbuild/win32-x64@0.18.20': resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.19.11: + '@esbuild/win32-x64@0.19.11': resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.20.2: + '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@9.0.0): + '@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 - dependencies: - eslint: 9.0.0 - eslint-visitor-keys: 3.4.3 - /@eslint-community/regexpp@4.10.0: + '@eslint-community/regexpp@4.10.0': resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /@eslint/eslintrc@2.1.4: + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/eslintrc@3.0.2: + '@eslint/eslintrc@3.0.2': resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 10.0.1 - globals: 14.0.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - /@eslint/js@9.0.0: + '@eslint/js@9.0.0': resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@fastify/busboy@2.0.0: + '@fastify/busboy@2.0.0': resolution: {integrity: sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==} engines: {node: '>=14'} - /@floating-ui/core@1.6.0: + '@floating-ui/core@1.6.0': resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} - dependencies: - '@floating-ui/utils': 0.2.1 - /@floating-ui/dom@1.1.1: + '@floating-ui/dom@1.1.1': resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==} - dependencies: - '@floating-ui/core': 1.6.0 - /@floating-ui/utils@0.2.1: + '@floating-ui/utils@0.2.1': resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - /@humanwhocodes/config-array@0.12.3: + '@humanwhocodes/config-array@0.12.3': resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==} engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - /@humanwhocodes/module-importer@1.0.1: + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema@2.0.3: + '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - /@iconify/types@2.0.0: + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - dev: false - /@iconify/utils@2.1.22: + '@iconify/utils@2.1.22': resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} - dependencies: - '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.7 - '@iconify/types': 2.0.0 - debug: 4.3.4 - kolorist: 1.8.0 - local-pkg: 0.5.0 - mlly: 1.6.1 - transitivePeerDependencies: - - supports-color - dev: false - /@ioredis/commands@1.2.0: + '@ioredis/commands@1.2.0': resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} - /@isaacs/cliui@8.0.2: + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - /@istanbuljs/schema@0.1.3: + '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - dev: true - /@jest/schemas@29.6.3: + '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - /@jest/types@29.6.3: + '@jest/types@29.6.3': resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.5 - '@types/istanbul-reports': 3.0.3 - '@types/node': 20.12.7 - '@types/yargs': 17.0.28 - chalk: 4.1.2 - dev: false - /@jridgewell/gen-mapping@0.3.5: + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.1: + '@jridgewell/resolve-uri@3.1.1': resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.2.1: + '@jridgewell/set-array@1.2.1': resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map@0.3.5: + '@jridgewell/source-map@0.3.5': resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/sourcemap-codec@1.4.15: + '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.25: + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - /@jsdevtools/ono@7.1.3: + '@jsdevtools/ono@7.1.3': resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - dev: true - /@kwsites/file-exists@1.1.1: + '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - /@kwsites/promise-deferred@1.1.1: + '@kwsites/promise-deferred@1.1.1': resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} - dev: false - /@mapbox/node-pre-gyp@1.0.11: + '@mapbox/node-pre-gyp@1.0.11': resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true - dependencies: - detect-libc: 2.0.2 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.7.0 - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 - semver: 7.6.0 - tar: 6.2.0 - transitivePeerDependencies: - - encoding - - supports-color - /@netlify/functions@2.6.0: + '@netlify/functions@2.6.0': resolution: {integrity: sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==} engines: {node: '>=14.0.0'} - dependencies: - '@netlify/serverless-functions-api': 1.14.0 - /@netlify/node-cookies@0.1.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.14.0: + '@netlify/serverless-functions-api@1.14.0': resolution: {integrity: sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q==} engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@netlify/node-cookies': 0.1.0 - urlpattern-polyfill: 8.0.2 - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - /@npmcli/agent@2.2.0: + '@npmcli/agent@2.2.0': resolution: {integrity: sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - agent-base: 7.1.0 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 - lru-cache: 10.2.0 - socks-proxy-agent: 8.0.2 - transitivePeerDependencies: - - supports-color - dev: false - /@npmcli/fs@3.1.0: + '@npmcli/fs@3.1.0': resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - semver: 7.6.0 - dev: false - /@npmcli/git@5.0.3: + '@npmcli/git@5.0.3': resolution: {integrity: sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/promise-spawn': 7.0.0 - lru-cache: 10.2.0 - npm-pick-manifest: 9.0.0 - proc-log: 3.0.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.6.0 - which: 4.0.0 - transitivePeerDependencies: - - bluebird - dev: false - /@npmcli/installed-package-contents@2.0.2: + '@npmcli/installed-package-contents@2.0.2': resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true - dependencies: - npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.1 - dev: false - /@npmcli/node-gyp@3.0.0: + '@npmcli/node-gyp@3.0.0': resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - /@npmcli/promise-spawn@7.0.0: + '@npmcli/promise-spawn@7.0.0': resolution: {integrity: sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - which: 4.0.0 - dev: false - /@npmcli/run-script@7.0.1: + '@npmcli/run-script@7.0.1': resolution: {integrity: sha512-Od/JMrgkjZ8alyBE0IzeqZDiF1jgMez9Gkc/OYrCkHHiXNwM0wc6s7+h+xM7kYDZkS0tAoOLr9VvygyE5+2F7g==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 7.0.0 - node-gyp: 9.4.0 - read-package-json-fast: 3.0.2 - which: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /@nuxt/devalue@2.0.2: + '@nuxt/devalue@2.0.2': resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} - dev: false - /@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.8): + '@nuxt/devtools-kit@1.1.5': resolution: {integrity: sha512-Nb/NKFCRtxyqcPD6snB52rXtbRQMjGtn3ncpa8cLWsnoqnkd9emQ4uwV8IwCNxTnqUBtbGU79/TlJ79SKH9TAw==} peerDependencies: nuxt: workspace:* vite: 5.2.8 - dependencies: - '@nuxt/kit': link:packages/kit - '@nuxt/schema': link:packages/schema - execa: 7.2.0 - nuxt: link:packages/nuxt - vite: 5.2.8(@types/node@20.12.7) - dev: false - /@nuxt/devtools-wizard@1.1.5: + '@nuxt/devtools-wizard@1.1.5': resolution: {integrity: sha512-bWLgLvYFbYCQYlLPttZaUo58cS1VJo1uEFguHaCwZ7Fzkm4Iv+lFTv5BzD+gOHwohaXLr3YecgZOO4YNJTgXyA==} hasBin: true - dependencies: - consola: 3.2.3 - diff: 5.2.0 - execa: 7.2.0 - global-directory: 4.0.1 - magicast: 0.3.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - prompts: 2.4.2 - rc9: 2.1.2 - semver: 7.6.0 - dev: false - /@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2)(nuxt@packages+nuxt)(rollup@4.14.2)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21): + '@nuxt/devtools@1.1.5': resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} hasBin: true peerDependencies: nuxt: workspace:* vite: 5.2.8 - dependencies: - '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.8) - '@nuxt/devtools-wizard': 1.1.5 - '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21) - '@vue/devtools-core': 7.0.25(vite@5.2.8)(vue@3.4.21) - '@vue/devtools-kit': 7.0.25(vue@3.4.21) - birpc: 0.2.17 - consola: 3.2.3 - cronstrue: 2.48.0 - destr: 2.0.3 - error-stack-parser-es: 0.1.1 - execa: 7.2.0 - fast-glob: 3.3.2 - flatted: 3.3.1 - get-port-please: 3.1.2 - hookable: 5.5.3 - image-meta: 0.2.0 - is-installed-globally: 1.0.0 - launch-editor: 2.6.1 - local-pkg: 0.5.0 - magicast: 0.3.3 - nuxt: link:packages/nuxt - nypm: 0.3.8 - ohash: 1.1.3 - pacote: 17.0.6 - pathe: 1.1.2 - perfect-debounce: 1.0.0 - pkg-types: 1.0.3 - rc9: 2.1.2 - scule: 1.3.0 - semver: 7.6.0 - simple-git: 3.23.0 - sirv: 2.0.4 - unimport: 3.7.1(rollup@4.14.2) - vite: 5.2.8(@types/node@20.12.7) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.2)(vite@5.2.8) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.8) - which: 3.0.1 - ws: 8.16.0 - transitivePeerDependencies: - - '@unocss/reset' - - '@vue/composition-api' - - async-validator - - axios - - bluebird - - bufferutil - - change-case - - drauu - - floating-vue - - fuse.js - - idb-keyval - - jwt-decode - - nprogress - - qrcode - - rollup - - sortablejs - - supports-color - - universal-cookie - - unocss - - utf-8-validate - - vue - dev: false - /@nuxt/eslint-config@0.3.6(eslint@9.0.0)(typescript@5.4.5): + '@nuxt/eslint-config@0.3.6': resolution: {integrity: sha512-uuAPflhCSym2UUs+613CU4GJo10wtFFwzZLba/fHO7H6IqpVk8kHGDuwrV/AvVwnty8IhIIqOXBgrx16RoDkSA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - dependencies: - '@eslint/js': 9.0.0 - '@nuxt/eslint-plugin': 0.3.6(eslint@9.0.0)(typescript@5.4.5) - '@rushstack/eslint-patch': 1.10.1 - '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - eslint: 9.0.0 - eslint-config-flat-gitignore: 0.1.5 - eslint-flat-config-utils: 0.2.2 - eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.5) - eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) - eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) - eslint-plugin-vue: 9.24.1(eslint@9.0.0) - globals: 15.0.0 - pathe: 1.1.2 - tslib: 2.6.2 - vue-eslint-parser: 9.4.2(eslint@9.0.0) - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@nuxt/eslint-plugin@0.3.6(eslint@9.0.0)(typescript@5.4.5): + '@nuxt/eslint-plugin@0.3.6': resolution: {integrity: sha512-kyfvqWkxcMT672WkiupEZI6a/sDL6CLdZt5HS8SfjUe2rcZOvc0TRSMXKAvo+XBZlnJA/fIOKQMa8qUkLoBXWw==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - eslint: 9.0.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.91.0): + '@nuxt/friendly-errors-webpack-plugin@2.6.0': resolution: {integrity: sha512-3IZj6MXbzlvUxDncAxgBMLQwGPY/JlNhy2i+AGyOHCAReR5HcBxYjVRBvyaKM9R3s5k4OODYKeHAbrToZH/47w==} engines: {node: '>=14.18.0', npm: '>=5.0.0'} peerDependencies: webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - dependencies: - chalk: 2.4.2 - consola: 3.2.3 - error-stack-parser: 2.1.4 - string-width: 4.2.3 - webpack: 5.91.0 - dev: false - /@nuxt/telemetry@2.5.4: + '@nuxt/telemetry@2.5.4': resolution: {integrity: sha512-KH6wxzsNys69daSO0xUv0LEBAfhwwjK1M+0Cdi1/vxmifCslMIY7lN11B4eywSfscbyVPAYJvANyc7XiVPImBQ==} hasBin: true - dependencies: - '@nuxt/kit': link:packages/kit - ci-info: 4.0.0 - consola: 3.2.3 - create-require: 1.1.1 - defu: 6.1.4 - destr: 2.0.3 - dotenv: 16.4.5 - git-url-parse: 14.0.0 - is-docker: 3.0.0 - jiti: 1.21.0 - mri: 1.2.0 - nanoid: 5.0.7 - ofetch: 1.3.4 - parse-git-config: 3.0.0 - pathe: 1.1.2 - rc9: 2.1.2 - std-env: 3.7.0 - /@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): + '@nuxt/test-utils@3.12.1': resolution: {integrity: sha512-VRLNcDz9Ad/4pjHdNRVLPs5DVIO5IJ0ij81PLmsE/lt+5oeeIQld+AgHgcqM4BM1YKsXTBuavbk1mEBqj7h/+A==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2425,229 +1775,106 @@ packages: optional: true vitest: optional: true - dependencies: - '@nuxt/kit': link:packages/kit - '@nuxt/schema': link:packages/schema - '@testing-library/vue': 8.0.3(vue@3.4.21) - '@vue/test-utils': 2.4.5 - c12: 1.10.0 - consola: 3.2.3 - defu: 6.1.4 - destr: 2.0.3 - estree-walker: 3.0.3 - execa: 8.0.1 - fake-indexeddb: 5.0.2 - get-port-please: 3.1.2 - h3: 1.11.1 - happy-dom: 14.7.1 - local-pkg: 0.5.0 - magic-string: 0.30.9 - node-fetch-native: 1.6.4 - ofetch: 1.3.4 - pathe: 1.1.2 - perfect-debounce: 1.0.0 - playwright-core: 1.43.1 - radix3: 1.1.2 - scule: 1.3.0 - std-env: 3.7.0 - ufo: 1.5.3 - unenv: 1.9.0 - unplugin: 1.10.1 - vite: 5.2.8(@types/node@20.12.7) - vitest: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) - vue: 3.4.21(typescript@5.4.5) - vue-router: 4.3.0(vue@3.4.21) - dev: true - /@nuxt/ui-templates@1.3.3: + '@nuxt/ui-templates@1.3.3': resolution: {integrity: sha512-3BG5doAREcD50dbKyXgmjD4b1GzY8CUy3T41jMhHZXNDdaNwOd31IBq+D6dV00OSrDVhzrTVj0IxsUsnMyHvIQ==} - dev: false - /@nuxtjs/mdc@0.5.0: + '@nuxtjs/mdc@0.5.0': resolution: {integrity: sha512-480Ajc7o/YAl9b21btd0oRtVe/UjUWmVSEWauS+H+izwEGdGvJTVfZRdaiAXcXKl+UmUTpf+POel027sE9HAZQ==} - dependencies: - '@nuxt/kit': link:packages/kit - '@shikijs/transformers': 1.1.2 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.3 - '@vue/compiler-core': 3.4.21 - consola: 3.2.3 - debug: 4.3.4 - defu: 6.1.4 - destr: 2.0.3 - detab: 3.0.2 - github-slugger: 2.0.0 - hast-util-to-string: 3.0.0 - mdast-util-to-hast: 13.1.0 - micromark-util-sanitize-uri: 2.0.0 - ohash: 1.1.3 - parse5: 7.1.2 - pathe: 1.1.2 - property-information: 6.4.1 - 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 - remark-emoji: 4.0.1 - remark-gfm: 4.0.0 - remark-mdc: 3.0.2 - remark-parse: 11.0.0 - remark-rehype: 11.1.0 - scule: 1.3.0 - shiki: 1.1.6 - ufo: 1.5.3 - unified: 11.0.4 - unist-builder: 4.0.0 - unist-util-visit: 5.0.0 - unwasm: 0.3.9 - transitivePeerDependencies: - - supports-color - dev: true - /@one-ini/wasm@0.1.1: + '@one-ini/wasm@0.1.1': resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} - dev: true - /@parcel/watcher-android-arm64@2.4.1: + '@parcel/watcher-android-arm64@2.4.1': resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - requiresBuild: true - optional: true - /@parcel/watcher-darwin-arm64@2.4.1: + '@parcel/watcher-darwin-arm64@2.4.1': resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@parcel/watcher-darwin-x64@2.4.1: + '@parcel/watcher-darwin-x64@2.4.1': resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@parcel/watcher-freebsd-x64@2.4.1: + '@parcel/watcher-freebsd-x64@2.4.1': resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - requiresBuild: true - optional: true - /@parcel/watcher-linux-arm-glibc@2.4.1: + '@parcel/watcher-linux-arm-glibc@2.4.1': resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - requiresBuild: true - optional: true - /@parcel/watcher-linux-arm64-glibc@2.4.1: + '@parcel/watcher-linux-arm64-glibc@2.4.1': resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@parcel/watcher-linux-arm64-musl@2.4.1: + '@parcel/watcher-linux-arm64-musl@2.4.1': resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@parcel/watcher-linux-x64-glibc@2.4.1: + '@parcel/watcher-linux-x64-glibc@2.4.1': resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@parcel/watcher-linux-x64-musl@2.4.1: + '@parcel/watcher-linux-x64-musl@2.4.1': resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@parcel/watcher-wasm@2.4.1: + '@parcel/watcher-wasm@2.4.1': resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} engines: {node: '>= 10.0.0'} - dependencies: - is-glob: 4.0.3 - micromatch: 4.0.5 bundledDependencies: - napi-wasm - /@parcel/watcher-win32-arm64@2.4.1: + '@parcel/watcher-win32-arm64@2.4.1': resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - requiresBuild: true - optional: true - /@parcel/watcher-win32-ia32@2.4.1: + '@parcel/watcher-win32-ia32@2.4.1': resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - requiresBuild: true - optional: true - /@parcel/watcher-win32-x64@2.4.1: + '@parcel/watcher-win32-x64@2.4.1': resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@parcel/watcher@2.4.1: + '@parcel/watcher@2.4.1': resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} engines: {node: '>= 10.0.0'} - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.5 - node-addon-api: 7.0.0 - 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 - /@pkgjs/parseargs@0.11.0: + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - requiresBuild: true - optional: true - /@polka/url@1.0.0-next.24: + '@polka/url@1.0.0-next.24': resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} - dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.14.2): + '@rollup/plugin-alias@5.1.0': resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2655,11 +1882,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - rollup: 4.14.2 - slash: 4.0.0 - /@rollup/plugin-commonjs@25.0.7(rollup@4.14.2): + '@rollup/plugin-commonjs@25.0.7': resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2667,16 +1891,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 8.1.0 - is-reference: 1.2.1 - magic-string: 0.30.9 - rollup: 4.14.2 - /@rollup/plugin-inject@5.0.5(rollup@4.14.2): + '@rollup/plugin-inject@5.0.5': resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2684,13 +1900,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - estree-walker: 2.0.2 - magic-string: 0.30.9 - rollup: 4.14.2 - /@rollup/plugin-json@6.1.0(rollup@4.14.2): + '@rollup/plugin-json@6.1.0': resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2698,11 +1909,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - rollup: 4.14.2 - /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.2): + '@rollup/plugin-node-resolve@15.2.3': resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2710,16 +1918,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.8 - rollup: 4.14.2 - /@rollup/plugin-replace@5.0.5(rollup@4.14.2): + '@rollup/plugin-replace@5.0.5': resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2727,12 +1927,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - magic-string: 0.30.9 - rollup: 4.14.2 - /@rollup/plugin-terser@0.4.4(rollup@4.14.2): + '@rollup/plugin-terser@0.4.4': resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2740,20 +1936,12 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - rollup: 4.14.2 - serialize-javascript: 6.0.2 - smob: 1.4.1 - terser: 5.27.0 - /@rollup/pluginutils@4.2.1: + '@rollup/pluginutils@4.2.1': resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@4.14.2): + '@rollup/pluginutils@5.1.0': resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2761,310 +1949,169 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 4.14.2 - /@rollup/rollup-android-arm-eabi@4.14.2: + '@rollup/rollup-android-arm-eabi@4.14.2': resolution: {integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==} cpu: [arm] os: [android] - requiresBuild: true - optional: true - /@rollup/rollup-android-arm64@4.14.2: + '@rollup/rollup-android-arm64@4.14.2': resolution: {integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==} cpu: [arm64] os: [android] - requiresBuild: true - optional: true - /@rollup/rollup-darwin-arm64@4.14.2: + '@rollup/rollup-darwin-arm64@4.14.2': resolution: {integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@rollup/rollup-darwin-x64@4.14.2: + '@rollup/rollup-darwin-x64@4.14.2': resolution: {integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.2: + '@rollup/rollup-linux-arm-gnueabihf@4.14.2': resolution: {integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==} cpu: [arm] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.2: + '@rollup/rollup-linux-arm64-gnu@4.14.2': resolution: {integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.14.2: + '@rollup/rollup-linux-arm64-musl@4.14.2': resolution: {integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.2: + '@rollup/rollup-linux-powerpc64le-gnu@4.14.2': resolution: {integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==} cpu: [ppc64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.14.2: + '@rollup/rollup-linux-riscv64-gnu@4.14.2': resolution: {integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==} cpu: [riscv64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.2: + '@rollup/rollup-linux-s390x-gnu@4.14.2': resolution: {integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==} cpu: [s390x] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-x64-gnu@4.14.2: + '@rollup/rollup-linux-x64-gnu@4.14.2': resolution: {integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-x64-musl@4.14.2: + '@rollup/rollup-linux-x64-musl@4.14.2': resolution: {integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.2: + '@rollup/rollup-win32-arm64-msvc@4.14.2': resolution: {integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==} cpu: [arm64] os: [win32] - requiresBuild: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.2: + '@rollup/rollup-win32-ia32-msvc@4.14.2': resolution: {integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==} cpu: [ia32] os: [win32] - requiresBuild: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.14.2: + '@rollup/rollup-win32-x64-msvc@4.14.2': resolution: {integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@rushstack/eslint-patch@1.10.1: + '@rushstack/eslint-patch@1.10.1': resolution: {integrity: sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg==} - dev: true - /@shikijs/core@1.1.2: + '@shikijs/core@1.1.2': resolution: {integrity: sha512-ERVzNQz88ZkDqUpWeC57Kp+Kmx5RjqeDBR1M8AGWGom4yrkITiTfXCGmjchlDSw12MhDTuPYR4HVFW8uT61RaQ==} - dev: true - /@shikijs/core@1.1.6: + '@shikijs/core@1.1.6': resolution: {integrity: sha512-kt9hhvrWTm0EPtRDIsoAZnSsFlIDBVBBI5CQewpA/NZCPin+MOKRXg+JiWc4y+8fZ/v0HzfDhu/UC+OTZGMt7A==} - dev: true - /@shikijs/transformers@1.1.2: + '@shikijs/transformers@1.1.2': resolution: {integrity: sha512-tldkUMW7RBkU2F6eXbiRMw3ja+hQer1EjwhD2NGOv6K0pgZdVp3JKjU8uisRtg65tyBqrVHq7zlLHVk7EKmUZA==} - dependencies: - shiki: 1.1.2 - dev: true - /@shikijs/twoslash@1.1.6(typescript@5.4.5): + '@shikijs/twoslash@1.1.6': resolution: {integrity: sha512-0HJK7Il7HevTpRvpPlnJ0ow8UyoQxhvxQ0/lhfw1C0xW/7eLtSAtZfSKdel5Nch6HgbbtfucEzuUFmRIRXUFUg==} - dependencies: - '@shikijs/core': 1.1.6 - twoslash: 0.2.4(typescript@5.4.5) - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.5): + '@shikijs/vitepress-twoslash@1.1.6': resolution: {integrity: sha512-OpOu/KszoEIm/pdTMmnFW+cPKj+Vw8Jut4CLivqdwgHysTdMUphyG/nuaYcpVZfCQBu6JLfQ6izgkYrefiKzXQ==} - dependencies: - '@shikijs/twoslash': 1.1.6(typescript@5.4.5) - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) - mdast-util-from-markdown: 2.0.0 - mdast-util-gfm: 3.0.0 - mdast-util-to-hast: 13.1.0 - shiki: 1.1.6 - twoslash: 0.2.4(typescript@5.4.5) - twoslash-vue: 0.2.4(typescript@5.4.5) - vue: 3.4.21(typescript@5.4.5) - transitivePeerDependencies: - - '@nuxt/kit' - - supports-color - - typescript - dev: true - /@sigstore/bundle@2.2.0: + '@sigstore/bundle@2.2.0': resolution: {integrity: sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.3.0 - dev: false - /@sigstore/core@1.0.0: + '@sigstore/core@1.0.0': resolution: {integrity: sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==} engines: {node: ^16.14.0 || >=18.0.0} - dev: false - /@sigstore/protobuf-specs@0.3.0: + '@sigstore/protobuf-specs@0.3.0': resolution: {integrity: sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - /@sigstore/sign@2.2.3: + '@sigstore/sign@2.2.3': resolution: {integrity: sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.2.0 - '@sigstore/core': 1.0.0 - '@sigstore/protobuf-specs': 0.3.0 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /@sigstore/tuf@2.3.1: + '@sigstore/tuf@2.3.1': resolution: {integrity: sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.3.0 - tuf-js: 2.2.0 - transitivePeerDependencies: - - supports-color - dev: false - /@sigstore/verify@1.1.0: + '@sigstore/verify@1.1.0': resolution: {integrity: sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.2.0 - '@sigstore/core': 1.0.0 - '@sigstore/protobuf-specs': 0.3.0 - dev: false - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - /@sindresorhus/is@4.6.0: + '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - dev: true - /@sindresorhus/merge-streams@2.2.0: + '@sindresorhus/merge-streams@2.2.0': resolution: {integrity: sha512-UTce8mUwUW0RikMb/eseJ7ys0BRkZVFB86orHzrfW12ZmFtym5zua8joZ4L7okH2dDFHkcFjqnZ5GocWBXOFtA==} engines: {node: '>=18'} - /@stylistic/eslint-plugin-js@1.7.0(eslint@9.0.0): + '@stylistic/eslint-plugin-js@1.7.0': resolution: {integrity: sha512-PN6On/+or63FGnhhMKSQfYcWutRlzOiYlVdLM6yN7lquoBTqUJHYnl4TA4MHwiAt46X5gRxDr1+xPZ1lOLcL+Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - dependencies: - '@types/eslint': 8.56.7 - acorn: 8.11.3 - escape-string-regexp: 4.0.0 - eslint: 9.0.0 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - dev: true - /@stylistic/eslint-plugin-jsx@1.7.0(eslint@9.0.0): + '@stylistic/eslint-plugin-jsx@1.7.0': resolution: {integrity: sha512-BACdBwXakQvjYIST5N2WWhRbvhRsIxa/F59BiZol+0IH4FSmDXhie7v/yaxDIIA9CbfElzOmIA5nWNYTVXcnwQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) - '@types/eslint': 8.56.7 - eslint: 9.0.0 - estraverse: 5.3.0 - picomatch: 4.0.1 - dev: true - /@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.5): + '@stylistic/eslint-plugin-plus@1.7.0': resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} peerDependencies: eslint: '*' - dependencies: - '@types/eslint': 8.56.7 - '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) - eslint: 9.0.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.5): + '@stylistic/eslint-plugin-ts@1.7.0': resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) - '@types/eslint': 8.56.7 - '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) - eslint: 9.0.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.5): + '@stylistic/eslint-plugin@1.7.0': resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) - '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@9.0.0) - '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.5) - '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.5) - '@types/eslint': 8.56.7 - eslint: 9.0.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@testing-library/dom@9.3.4: + '@testing-library/dom@9.3.4': resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/runtime': 7.23.9 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - dev: true - /@testing-library/vue@8.0.3(vue@3.4.21): + '@testing-library/vue@8.0.3': resolution: {integrity: sha512-wSsbNlZ69ZFQgVlHMtc/ZC/g9BHO7MhyDrd4nHyfEubtMr3kToN/w4/BsSBknGIF8w9UmPbsgbIuq/CbdBHzCA==} engines: {node: '>=14'} peerDependencies: @@ -3073,277 +2120,154 @@ packages: peerDependenciesMeta: '@vue/compiler-sfc': optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@testing-library/dom': 9.3.4 - '@vue/test-utils': 2.4.5 - vue: 3.4.21(typescript@5.4.5) - dev: true - /@tootallnate/once@2.0.0: + '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - dev: false - /@trysound/sax@0.2.0: + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} - dev: false - /@tufjs/canonical-json@2.0.0: + '@tufjs/canonical-json@2.0.0': resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} engines: {node: ^16.14.0 || >=18.0.0} - dev: false - /@tufjs/models@2.0.0: + '@tufjs/models@2.0.0': resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.4 - dev: false - /@types/aria-query@5.0.4: + '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - dev: true - /@types/clear@0.1.4: + '@types/clear@0.1.4': resolution: {integrity: sha512-4nJjoilJPTbYF7Q4y5+F7JFDK8QdcwOItzwVv3RDEMWALT9Mx9UzfxCiUfpbFK05REhieXTCvhbNkiDW/Wfejw==} - dev: true - /@types/connect@3.4.37: + '@types/connect@3.4.37': resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/debug@4.1.12: + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - dependencies: - '@types/ms': 0.7.34 - dev: true - /@types/eslint-scope@3.7.6: + '@types/eslint-scope@3.7.6': resolution: {integrity: sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==} - dependencies: - '@types/eslint': 8.56.7 - '@types/estree': 1.0.5 - /@types/eslint@8.56.7: + '@types/eslint@8.56.7': resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 - /@types/eslint__js@8.42.3: + '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} - dependencies: - '@types/eslint': 8.56.7 - dev: true - /@types/estree@1.0.5: + '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/file-loader@5.0.4: + '@types/file-loader@5.0.4': resolution: {integrity: sha512-aB4X92oi5D2nIGI8/kolnJ47btRM2MQjQS4eJgA/VnCD12x0+kP5v7b5beVQWKHLOcquwUXvv6aMt8PmMy9uug==} - dependencies: - '@types/webpack': 4.41.34 - dev: true - /@types/fs-extra@11.0.4: + '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} - dependencies: - '@types/jsonfile': 6.1.2 - '@types/node': 20.12.7 - dev: true - /@types/hash-sum@1.0.2: + '@types/hash-sum@1.0.2': resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==} - dev: true - /@types/hast@3.0.4: + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - dependencies: - '@types/unist': 3.0.2 - dev: true - /@types/http-proxy@1.17.14: + '@types/http-proxy@1.17.14': resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} - dependencies: - '@types/node': 20.12.7 - /@types/istanbul-lib-coverage@2.0.5: + '@types/istanbul-lib-coverage@2.0.5': resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} - /@types/istanbul-lib-report@3.0.2: + '@types/istanbul-lib-report@3.0.2': resolution: {integrity: sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.5 - dev: false - /@types/istanbul-reports@3.0.3: + '@types/istanbul-reports@3.0.3': resolution: {integrity: sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==} - dependencies: - '@types/istanbul-lib-report': 3.0.2 - dev: false - /@types/json-schema@7.0.15: + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - /@types/jsonfile@6.1.2: + '@types/jsonfile@6.1.2': resolution: {integrity: sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/lodash-es@4.17.12: + '@types/lodash-es@4.17.12': resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - dependencies: - '@types/lodash': 4.14.200 - dev: true - /@types/lodash@4.14.200: + '@types/lodash@4.14.200': resolution: {integrity: sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==} - dev: true - /@types/mdast@4.0.3: + '@types/mdast@4.0.3': resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} - dependencies: - '@types/unist': 3.0.2 - dev: true - /@types/ms@0.7.34: + '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - dev: true - /@types/node-sass@4.11.6: + '@types/node-sass@4.11.6': resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==} - dependencies: - '@types/node': 20.12.7 - dev: true - /@types/node@20.12.7: + '@types/node@20.12.7': resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} - dependencies: - undici-types: 5.26.5 - /@types/normalize-package-data@2.4.4: + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true - /@types/pify@5.0.4: + '@types/pify@5.0.4': resolution: {integrity: sha512-gxKJ1Aw8LbyCsCQWIsip9bYKJCNsKHMoZoQMAe2IWH7U7hgp/l6TvJpbFvu8ZlGBimjZZNvEx2S1ZQlj02ayNQ==} - dev: true - /@types/pug@2.0.10: + '@types/pug@2.0.10': resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} - dev: true - /@types/resolve@1.20.2: + '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - /@types/sass-loader@8.0.8: + '@types/sass-loader@8.0.8': resolution: {integrity: sha512-hjP8aUyTDde2blD6clAGso/+ctC+9Rch/mDpvMe/kZrpXGZBDqf1K/48jWzXOX7hbd4jXQKQMPWdbBv4MRp0yQ==} - dependencies: - '@types/node': 20.12.7 - '@types/node-sass': 4.11.6 - '@types/webpack': 4.41.34 - sass: 1.69.4 - dev: true - /@types/semver@7.5.8: + '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true - /@types/source-list-map@0.1.4: + '@types/source-list-map@0.1.4': resolution: {integrity: sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg==} - dev: true - /@types/tapable@1.0.10: + '@types/tapable@1.0.10': resolution: {integrity: sha512-q8F20SdXG5fdVJQ5yxsVlH+f+oekP42QeHv4s5KlrxTMT0eopXn7ol1rhxMcksf8ph7XNv811iVDE2hOpUvEPg==} - dev: true - /@types/uglify-js@3.17.3: + '@types/uglify-js@3.17.3': resolution: {integrity: sha512-ToldSfJ6wxO21cakcz63oFD1GjqQbKzhZCD57eH7zWuYT5UEZvfUoqvrjX5d+jB9g4a/sFO0n6QSVzzn5sMsjg==} - dependencies: - source-map: 0.6.1 - dev: true - /@types/unist@2.0.10: + '@types/unist@2.0.10': resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} - dev: true - /@types/unist@3.0.2: + '@types/unist@3.0.2': resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} - dev: true - /@types/web-bluetooth@0.0.20: + '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - dev: false - /@types/webpack-bundle-analyzer@4.7.0: + '@types/webpack-bundle-analyzer@4.7.0': resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==} - dependencies: - '@types/node': 20.12.7 - tapable: 2.2.1 - webpack: 5.91.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - dev: true - /@types/webpack-hot-middleware@2.25.9: + '@types/webpack-hot-middleware@2.25.9': resolution: {integrity: sha512-fad4T9VfocBjS2fZxlqkGoXoVUAjVp0EEnKBRqPwnhEEDN/FqJoFkSP5t9O1gPH75qsyG2kkT/GSUqSNTn1ZPg==} - dependencies: - '@types/connect': 3.4.37 - tapable: 2.2.1 - webpack: 5.91.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - dev: true - /@types/webpack-sources@3.2.1: + '@types/webpack-sources@3.2.1': resolution: {integrity: sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==} - dependencies: - '@types/node': 20.12.7 - '@types/source-list-map': 0.1.4 - source-map: 0.7.4 - dev: true - /@types/webpack-virtual-modules@0.4.2: + '@types/webpack-virtual-modules@0.4.2': resolution: {integrity: sha512-0ff/n3TXx1FysQV/kSpF8bxnCXUf7cw3Mp6WbXq0IfrgFK/MBIZqAQFN7VUkGwRzHZb+9DfLPZ3dOI+/L+m9ww==} deprecated: This is a stub types definition. webpack-virtual-modules provides its own type definitions, so you do not need this installed. - dependencies: - webpack-virtual-modules: 0.6.1 - dev: true - /@types/webpack@4.41.34: + '@types/webpack@4.41.34': resolution: {integrity: sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==} - dependencies: - '@types/node': 20.12.7 - '@types/tapable': 1.0.10 - '@types/uglify-js': 3.17.3 - '@types/webpack-sources': 3.2.1 - anymatch: 3.1.3 - source-map: 0.6.1 - dev: true - /@types/yargs-parser@21.0.1: + '@types/yargs-parser@21.0.1': resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} - dev: false - /@types/yargs@17.0.28: + '@types/yargs@17.0.28': resolution: {integrity: sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==} - dependencies: - '@types/yargs-parser': 21.0.1 - dev: false - /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.5): + '@typescript-eslint/eslint-plugin@7.6.0': resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3353,26 +2277,8 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.6.0 - debug: 4.3.4 - eslint: 9.0.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5): + '@typescript-eslint/parser@7.6.0': resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3381,35 +2287,16 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.6.0 - debug: 4.3.4 - eslint: 9.0.0 - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@6.21.0: + '@typescript-eslint/scope-manager@6.21.0': resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - dev: true - /@typescript-eslint/scope-manager@7.6.0: + '@typescript-eslint/scope-manager@7.6.0': resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/visitor-keys': 7.6.0 - dev: true - /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.5): + '@typescript-eslint/type-utils@7.6.0': resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3418,28 +2305,16 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - debug: 4.3.4 - eslint: 9.0.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/types@6.21.0: + '@typescript-eslint/types@6.21.0': resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/types@7.6.0: + '@typescript-eslint/types@7.6.0': resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} engines: {node: ^18.18.0 || >=20.0.0} - dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): + '@typescript-eslint/typescript-estree@6.21.0': resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3447,21 +2322,8 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5): + '@typescript-eslint/typescript-estree@7.6.0': resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3469,514 +2331,206 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/visitor-keys': 7.6.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.4 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.5): + '@typescript-eslint/utils@6.21.0': resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) - eslint: 9.0.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.5): + '@typescript-eslint/utils@7.6.0': resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - eslint: 9.0.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/visitor-keys@6.21.0: + '@typescript-eslint/visitor-keys@6.21.0': resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@7.6.0: + '@typescript-eslint/visitor-keys@7.6.0': resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.6.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@typescript/vfs@1.5.0: + '@typescript/vfs@1.5.0': resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /@ungap/structured-clone@1.2.0: + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - /@unhead/dom@1.9.5: + '@unhead/dom@1.9.5': resolution: {integrity: sha512-t+JvAFX+Qkx+IEZFBQV5rZoj/6SKHd3tqXqxpsER588DWxU0J6dzvAVJrof/vRTMjJ1lM6B8SxKhZppSZ7H2iQ==} - dependencies: - '@unhead/schema': 1.9.5 - '@unhead/shared': 1.9.5 - dev: false - /@unhead/schema@1.9.5: + '@unhead/schema@1.9.5': resolution: {integrity: sha512-n0upGPplBn5Y/4PIqKp7/tzOhz7USos5lFjf8UKvMNoOIitEa+avP2u7gRQ9yOhHmOAH9AXDeX7mhSvhO+Tqxw==} - dependencies: - hookable: 5.5.3 - zhead: 2.2.4 - /@unhead/shared@1.9.5: + '@unhead/shared@1.9.5': resolution: {integrity: sha512-WN2T8th1wYn4A1bb6o8Z59wNVMPkD6YdNQIlmSbEP9zuSYyVEh3BIxqSdxWM/xl8atN8fNwVW06knaF51VmKXA==} - dependencies: - '@unhead/schema': 1.9.5 - dev: false - /@unhead/ssr@1.9.5: + '@unhead/ssr@1.9.5': resolution: {integrity: sha512-l9fqAKM3odX/8Ac8l7v7Nlot5f+e6ktINT/PjBuXf+pHHmPz7+eKWzNL95KVB/o0uxmJr2BVijDwCPYrgmjfjQ==} - dependencies: - '@unhead/schema': 1.9.5 - '@unhead/shared': 1.9.5 - dev: false - /@unhead/vue@1.9.5(vue@3.4.21): + '@unhead/vue@1.9.5': resolution: {integrity: sha512-L3yDB6Mwm92gJNPqZApMwfGluS0agR0HIizkXCKKz3WkZ+ef/negMwTNGpTtd+uqh/+hSyG73Bl4yySuPsD4nA==} peerDependencies: vue: 3.4.21 - dependencies: - '@unhead/schema': 1.9.5 - '@unhead/shared': 1.9.5 - hookable: 5.5.3 - unhead: 1.9.5 - vue: 3.4.21(typescript@5.4.5) - dev: false - /@unocss/astro@0.58.6(rollup@4.14.2)(vite@5.2.8): + '@unocss/astro@0.58.6': resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: vite: 5.2.8 peerDependenciesMeta: vite: optional: true - dependencies: - '@unocss/core': 0.58.6 - '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.2)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.7) - transitivePeerDependencies: - - rollup - dev: false - /@unocss/cli@0.58.6(rollup@4.14.2): + '@unocss/cli@0.58.6': resolution: {integrity: sha512-cfJBiEAKElo9vcA4ZU1WTXeUha5qVBtn3+ZjgdgOvveSX0oY0gOheG+DD2LaEjwWzjCstFU38lblUHWzHRv0sQ==} engines: {node: '>=14'} hasBin: true - dependencies: - '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - '@unocss/config': 0.58.6 - '@unocss/core': 0.58.6 - '@unocss/preset-uno': 0.58.6 - cac: 6.7.14 - chokidar: 3.6.0 - colorette: 2.0.20 - consola: 3.2.3 - fast-glob: 3.3.2 - magic-string: 0.30.9 - pathe: 1.1.2 - perfect-debounce: 1.0.0 - transitivePeerDependencies: - - rollup - dev: false - /@unocss/config@0.58.6: + '@unocss/config@0.58.6': resolution: {integrity: sha512-YyywfigaEzGkDJ0ztp/tvruD+0xfdCcMZUvaGH4IElAwZDdcSsuaHdR1HW3EixCETOyFHBcuFk6sJwfLPIZLTw==} engines: {node: '>=14'} - dependencies: - '@unocss/core': 0.58.6 - unconfig: 0.3.11 - dev: false - /@unocss/core@0.58.6: + '@unocss/core@0.58.6': resolution: {integrity: sha512-m87iuENM/PLqLKnfE2mJbpfzj7NQ99LP2go0r+x5X4kXKppyGRJNQg6RIW3AqTS22jup1YPgd62UNXvvRtHtww==} - dev: false - /@unocss/extractor-arbitrary-variants@0.58.6: + '@unocss/extractor-arbitrary-variants@0.58.6': resolution: {integrity: sha512-iSrjLEM+dtcpCmJ8myttPZ/0Dg4HKYVYpM71rNTybrX1HB/cfRsGwIHobjsvvRnve+LAxC4Hmdi8EXRd8V1xPg==} - dependencies: - '@unocss/core': 0.58.6 - dev: false - /@unocss/inspector@0.58.6: + '@unocss/inspector@0.58.6': resolution: {integrity: sha512-JCcnIwSofdIdpR/GYTZ78d4dMZP8Z2oF/g9f9MlPG96LLLwqXSmYtR83vC34fUWm1hz7FZyTLK5OqTV7VfUb+w==} - dependencies: - '@unocss/core': 0.58.6 - '@unocss/rule-utils': 0.58.6 - gzip-size: 6.0.0 - sirv: 2.0.4 - dev: false - /@unocss/postcss@0.58.6(postcss@8.4.38): + '@unocss/postcss@0.58.6': resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 - dependencies: - '@unocss/config': 0.58.6 - '@unocss/core': 0.58.6 - '@unocss/rule-utils': 0.58.6 - css-tree: 2.3.1 - fast-glob: 3.3.2 - magic-string: 0.30.9 - postcss: 8.4.38 - dev: false - /@unocss/preset-attributify@0.58.6: + '@unocss/preset-attributify@0.58.6': resolution: {integrity: sha512-IW2aIBH0RiYsP50VckgxXhMwjDk/XVZykUUklgko9aT+gNC2xDBm3936RWLVLmHdBHG1Vnnjc71BG6aUAqrtEA==} - dependencies: - '@unocss/core': 0.58.6 - dev: false - /@unocss/preset-icons@0.58.6: + '@unocss/preset-icons@0.58.6': resolution: {integrity: sha512-20P1ISxEX2J5mhyNkMm0nKp2p0qJfmDArolC10Fjyl+GUTCsojDNFfonzQEkHeIIJwzgRcubdtNaotTgYSKSRg==} - dependencies: - '@iconify/utils': 2.1.22 - '@unocss/core': 0.58.6 - ofetch: 1.3.4 - transitivePeerDependencies: - - supports-color - dev: false - /@unocss/preset-mini@0.58.6: + '@unocss/preset-mini@0.58.6': resolution: {integrity: sha512-COaM/04Z6/gawzrFcCwoyD6t0FCpuKRyljKKs3VxitoGxsN9BHKiFE3U/cPSQarpG789rmZg8D/wmLHCChSXvg==} - dependencies: - '@unocss/core': 0.58.6 - '@unocss/extractor-arbitrary-variants': 0.58.6 - '@unocss/rule-utils': 0.58.6 - dev: false - /@unocss/preset-tagify@0.58.6: + '@unocss/preset-tagify@0.58.6': resolution: {integrity: sha512-xhpHMz8KLrFlLXaOCeShu0/yVpe6J8bd2WcOTd5VuU5W1uCsplcaagpfTRkBpaH1tJt/MTTU5e4cQLa20l0JZQ==} - dependencies: - '@unocss/core': 0.58.6 - dev: false - /@unocss/preset-typography@0.58.6: + '@unocss/preset-typography@0.58.6': resolution: {integrity: sha512-s4SSw3SK/JjAqYlga51XnxzPc7jF+TmkEkW09IkYYLPrmqJ76U4i5Po2N7HzyjpVGWnmIp1fQ5mCvbhj4tNyNQ==} - dependencies: - '@unocss/core': 0.58.6 - '@unocss/preset-mini': 0.58.6 - dev: false - /@unocss/preset-uno@0.58.6: + '@unocss/preset-uno@0.58.6': resolution: {integrity: sha512-QFbgvxCvTFqKIA/VGcPM+XcfPGDgbmaiXKbnh7hIbkER6TRxjt4DIGapPt150w/kQT+zC/jerWditSdyn+s3xQ==} - dependencies: - '@unocss/core': 0.58.6 - '@unocss/preset-mini': 0.58.6 - '@unocss/preset-wind': 0.58.6 - '@unocss/rule-utils': 0.58.6 - dev: false - /@unocss/preset-web-fonts@0.58.6: + '@unocss/preset-web-fonts@0.58.6': resolution: {integrity: sha512-W/8102vurABwfnb9QQyp9GBKP80kpy/IADSM7hbqLNaqmgxHASELXkjhqqt+et39Zn2tnXpIHNVWoqG6QNWBwQ==} - dependencies: - '@unocss/core': 0.58.6 - ofetch: 1.3.4 - dev: false - /@unocss/preset-wind@0.58.6: + '@unocss/preset-wind@0.58.6': resolution: {integrity: sha512-zs41CpFVvLB8CutroUeI1iqxzPsztiur9ei0QjRshxpYerPSsTSgdTkF+eul5D1q3BcsebLebzqtCSqnpFOuOA==} - dependencies: - '@unocss/core': 0.58.6 - '@unocss/preset-mini': 0.58.6 - '@unocss/rule-utils': 0.58.6 - dev: false - /@unocss/reset@0.58.6: + '@unocss/reset@0.58.6': resolution: {integrity: sha512-mYyOe5QDRHc1BBRff+G97j3SGGC8s3Vk7cCcXc/l48FvPHKtLCphMZaBS+KkGkzWqwAtxv0QRbGhTixJCVDRug==} - dev: false - /@unocss/rule-utils@0.58.6: + '@unocss/rule-utils@0.58.6': resolution: {integrity: sha512-qbVDeyKzExFY/YeoIbMw/lu8PXEGJzSHrFXRumNHX5lvTu8ggAjH6p9xyvYa/YnuNU0+pFKuYxG8LNK2F8f1EQ==} engines: {node: '>=14'} - dependencies: - '@unocss/core': 0.58.6 - magic-string: 0.30.9 - dev: false - /@unocss/scope@0.58.6: + '@unocss/scope@0.58.6': resolution: {integrity: sha512-22BDrZPOkfEKuXY4NROhY+J25TAXN+GIxZpE4IbT1Wh+dkjnMXyC85VKGzOAuY/0v0zbaj12dYkmtndueQ/04w==} - dev: false - /@unocss/transformer-attributify-jsx-babel@0.58.6: + '@unocss/transformer-attributify-jsx-babel@0.58.6': resolution: {integrity: sha512-IVU/ZozKTFhP9z1I9ZgSKiEx3WfDFDNXbTYTqwNW2SHPmAj5Qf99kn6o7br7Kd1dnxSjKFXOmNfNGkW9AMDraA==} - dependencies: - '@babel/core': 7.24.1 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) - '@babel/preset-typescript': 7.23.3(@babel/core@7.24.1) - '@unocss/core': 0.58.6 - transitivePeerDependencies: - - supports-color - dev: false - /@unocss/transformer-attributify-jsx@0.58.6: + '@unocss/transformer-attributify-jsx@0.58.6': resolution: {integrity: sha512-S+mTR5qwMsEaq8nYtqUgYdYIIRAA4oltxfGMYGj3Gxy9V0uteyo56QNp7IOjlYxAB8Dq9jQ8GLYEQe5JlffO1A==} - dependencies: - '@unocss/core': 0.58.6 - dev: false - /@unocss/transformer-compile-class@0.58.6: + '@unocss/transformer-compile-class@0.58.6': resolution: {integrity: sha512-iung3cPA+IpBHoP6dTs9gkPN/wEVujqMZYxf6FQLjRH+v70rPxqTgaeGDyuQZAYikfDhdUZF8PJ4IUMOxEFsmw==} - dependencies: - '@unocss/core': 0.58.6 - dev: false - /@unocss/transformer-directives@0.58.6: + '@unocss/transformer-directives@0.58.6': resolution: {integrity: sha512-8/+KGRmRnlkAJCRt4VqcYK16SnEr9wf1q7D9OCM2kZhk33Sx5SlsO6vjNZ1IH4c67/WviwNV6+KeS4elnQY8bA==} - dependencies: - '@unocss/core': 0.58.6 - '@unocss/rule-utils': 0.58.6 - css-tree: 2.3.1 - dev: false - /@unocss/transformer-variant-group@0.58.6: + '@unocss/transformer-variant-group@0.58.6': resolution: {integrity: sha512-6IFmfzketh4j+Mc/ik4nU+Oec0cptNR+aVfZZkGb4wd2h1lH+teAT2Y/Vz2xY8rDExOrbjY5y5FgRGd16LY2Rw==} - dependencies: - '@unocss/core': 0.58.6 - dev: false - /@unocss/vite@0.58.6(rollup@4.14.2)(vite@5.2.8): + '@unocss/vite@0.58.6': resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: vite: 5.2.8 - dependencies: - '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - '@unocss/config': 0.58.6 - '@unocss/core': 0.58.6 - '@unocss/inspector': 0.58.6 - '@unocss/scope': 0.58.6 - '@unocss/transformer-directives': 0.58.6 - chokidar: 3.6.0 - fast-glob: 3.3.2 - magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.7) - transitivePeerDependencies: - - rollup - dev: false - /@vercel/nft@0.26.4: + '@vercel/nft@0.26.4': resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} engines: {node: '>=16'} hasBin: true - dependencies: - '@mapbox/node-pre-gyp': 1.0.11 - '@rollup/pluginutils': 4.2.1 - acorn: 8.11.3 - acorn-import-attributes: 1.9.2(acorn@8.11.3) - async-sema: 3.1.1 - bindings: 1.5.0 - estree-walker: 2.0.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - node-gyp-build: 4.6.1 - resolve-from: 5.0.0 - transitivePeerDependencies: - - encoding - - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8)(vue@3.4.21): + '@vitejs/plugin-vue-jsx@3.1.0': resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: 5.2.8 vue: 3.4.21 - dependencies: - '@babel/core': 7.24.1 - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.8(@types/node@20.12.7) - vue: 3.4.21(typescript@5.4.5) - transitivePeerDependencies: - - supports-color - /@vitejs/plugin-vue@5.0.4(vite@5.2.8)(vue@3.4.21): + '@vitejs/plugin-vue@5.0.4': resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: 5.2.8 vue: 3.4.21 - dependencies: - vite: 5.2.8(@types/node@20.12.7) - vue: 3.4.21(typescript@5.4.5) - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + '@vitest/coverage-v8@1.4.0': resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} peerDependencies: vitest: 1.4.0 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.6 - magic-string: 0.30.9 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1) - transitivePeerDependencies: - - supports-color - dev: true - /@vitest/expect@1.0.2: + '@vitest/expect@1.0.2': resolution: {integrity: sha512-mAIo/8uddSWkjQMLFcjqZP3WmkwvvN0OtlyZIu33jFnwme3vZds8m8EDMxtj+Uzni2DwtPfHNjJcTM8zTV1f4A==} - dependencies: - '@vitest/spy': 1.0.2 - '@vitest/utils': 1.0.2 - chai: 4.3.10 - dev: true - /@vitest/expect@1.4.0: + '@vitest/expect@1.4.0': resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} - dependencies: - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - chai: 4.3.10 - dev: true - /@vitest/runner@1.0.2: + '@vitest/runner@1.0.2': resolution: {integrity: sha512-ZcHJXPT2kg/9Hc4fNkCbItlsgZSs3m4vQbxB8LCSdzpbG85bExCmSvu6K9lWpMNdoKfAr1Jn0BwS9SWUcGnbTQ==} - dependencies: - '@vitest/utils': 1.0.2 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - /@vitest/runner@1.4.0: + '@vitest/runner@1.4.0': resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} - dependencies: - '@vitest/utils': 1.4.0 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - /@vitest/snapshot@1.0.2: + '@vitest/snapshot@1.0.2': resolution: {integrity: sha512-9ClDz2/aV5TfWA4reV7XR9p+hE0e7bifhwxlURugj3Fw0YXeTFzHmKCNEHd6wOIFMfthbGGwhlq7TOJ2jDO4/g==} - dependencies: - magic-string: 0.30.9 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - /@vitest/snapshot@1.4.0: + '@vitest/snapshot@1.4.0': resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} - dependencies: - magic-string: 0.30.9 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - /@vitest/spy@1.0.2: + '@vitest/spy@1.0.2': resolution: {integrity: sha512-YlnHmDntp+zNV3QoTVFI5EVHV0AXpiThd7+xnDEbWnD6fw0TH/J4/+3GFPClLimR39h6nA5m0W4Bjm5Edg4A/A==} - dependencies: - tinyspy: 2.2.0 - dev: true - /@vitest/spy@1.4.0: + '@vitest/spy@1.4.0': resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} - dependencies: - tinyspy: 2.2.0 - dev: true - /@vitest/utils@1.0.2: + '@vitest/utils@1.0.2': resolution: {integrity: sha512-GPQkGHAnFAP/+seSbB9pCsj339yRrMgILoI5H2sPevTLCYgBq0VRjF8QSllmnQyvf0EontF6KUIt2t5s2SmqoQ==} - dependencies: - diff-sequences: 29.6.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - /@vitest/utils@1.4.0: + '@vitest/utils@1.4.0': resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - /@volar/language-core@1.11.1: + '@volar/language-core@1.11.1': resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} - dependencies: - '@volar/source-map': 1.11.1 - dev: true - /@volar/language-core@2.2.0-alpha.8: + '@volar/language-core@2.2.0-alpha.8': resolution: {integrity: sha512-Ew1Iw7/RIRNuDLn60fWJdOLApAlfTVPxbPiSLzc434PReC9kleYtaa//Wo2WlN1oiRqneW0pWQQV0CwYqaimLQ==} - dependencies: - '@volar/source-map': 2.2.0-alpha.8 - /@volar/source-map@1.11.1: + '@volar/source-map@1.11.1': resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} - dependencies: - muggle-string: 0.3.1 - dev: true - /@volar/source-map@2.2.0-alpha.8: + '@volar/source-map@2.2.0-alpha.8': resolution: {integrity: sha512-E1ZVmXFJ5DU4fWDcWHzi8OLqqReqIDwhXvIMhVdk6+VipfMVv4SkryXu7/rs4GA/GsebcRyJdaSkKBB3OAkIcA==} - dependencies: - muggle-string: 0.4.1 - /@volar/typescript@2.2.0-alpha.8: + '@volar/typescript@2.2.0-alpha.8': resolution: {integrity: sha512-RLbRDI+17CiayHZs9HhSzlH0FhLl/+XK6o2qoiw2o2GGKcyD1aDoY6AcMd44acYncTOrqoTNoY6LuCiRyiJiGg==} - dependencies: - '@volar/language-core': 2.2.0-alpha.8 - path-browserify: 1.0.1 - /@vue-macros/common@1.10.1(rollup@4.14.2)(vue@3.4.21): + '@vue-macros/common@1.10.1': resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: @@ -3984,271 +2538,97 @@ packages: peerDependenciesMeta: vue: optional: true - dependencies: - '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.14.2) - local-pkg: 0.5.0 - magic-string-ast: 0.3.0 - vue: 3.4.21(typescript@5.4.5) - transitivePeerDependencies: - - rollup - dev: false - /@vue/babel-helper-vue-transform-on@1.1.5: + '@vue/babel-helper-vue-transform-on@1.1.5': resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.24.1): + '@vue/babel-plugin-jsx@1.1.5': resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.1 - '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - '@vue/babel-helper-vue-transform-on': 1.1.5 - camelcase: 6.3.0 - html-tags: 3.3.1 - svg-tags: 1.0.0 - transitivePeerDependencies: - - supports-color - /@vue/compiler-core@3.4.21: + '@vue/compiler-core@3.4.21': resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} - dependencies: - '@babel/parser': 7.24.1 - '@vue/shared': 3.4.21 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - /@vue/compiler-dom@3.4.21: + '@vue/compiler-dom@3.4.21': resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} - dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 - /@vue/compiler-sfc@3.4.21: + '@vue/compiler-sfc@3.4.21': resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} - dependencies: - '@babel/parser': 7.24.1 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - estree-walker: 2.0.2 - magic-string: 0.30.9 - postcss: 8.4.38 - source-map-js: 1.2.0 - /@vue/compiler-ssr@3.4.21: + '@vue/compiler-ssr@3.4.21': resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - /@vue/devtools-api@6.5.1: + '@vue/devtools-api@6.5.1': resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vite@5.2.8)(vue@3.4.21): + '@vue/devtools-applet@7.0.25': resolution: {integrity: sha512-9JwnjRO2tAHxFjA+cHSpQ/DKIqUKILvYaWJkOt1KqkedXPHzUWU1NfQAto+p6ycaKInA5A0VdXdmIl4N8YJCrw==} peerDependencies: vue: 3.4.21 - dependencies: - '@vue/devtools-core': 7.0.25(vite@5.2.8)(vue@3.4.21) - '@vue/devtools-kit': 7.0.25(vue@3.4.21) - '@vue/devtools-shared': 7.0.25 - '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21) - perfect-debounce: 1.0.0 - splitpanes: 3.1.5 - vue: 3.4.21(typescript@5.4.5) - vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21) - transitivePeerDependencies: - - '@unocss/reset' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - floating-vue - - fuse.js - - idb-keyval - - jwt-decode - - nprogress - - qrcode - - sortablejs - - universal-cookie - - unocss - - vite - dev: false - /@vue/devtools-core@7.0.25(vite@5.2.8)(vue@3.4.21): + '@vue/devtools-core@7.0.25': resolution: {integrity: sha512-aCsY4J6SvSBDuGdYADszByT0wy0GgpgdCApxcZzQEqYlyVchX7vqznJQrm7Y1GCLqAvoLaxsQqew7Cz+KQ3Idg==} - dependencies: - '@vue/devtools-kit': 7.0.25(vue@3.4.21) - '@vue/devtools-shared': 7.0.25 - mitt: 3.0.1 - nanoid: 3.3.7 - pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.8) - transitivePeerDependencies: - - vite - - vue - dev: false - /@vue/devtools-kit@7.0.25(vue@3.4.21): + '@vue/devtools-kit@7.0.25': resolution: {integrity: sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==} peerDependencies: vue: 3.4.21 - dependencies: - '@vue/devtools-shared': 7.0.25 - hookable: 5.5.3 - mitt: 3.0.1 - perfect-debounce: 1.0.0 - speakingurl: 14.0.1 - vue: 3.4.21(typescript@5.4.5) - dev: false - /@vue/devtools-shared@7.0.25: + '@vue/devtools-shared@7.0.25': resolution: {integrity: sha512-5+XYhcHSXuJSguYnNwL6/e6VTmXwCfryWQOkffh9ZU2zMByybqqqBrMWqvBkqTmMFCjPdzulo66xXbVbwLaElQ==} - dependencies: - rfdc: 1.3.1 - dev: false - /@vue/devtools-ui@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2)(unocss@0.58.6)(vue@3.4.21): + '@vue/devtools-ui@7.0.25': resolution: {integrity: sha512-OxcwecnKmKm/zIG/VSixRgSqzjRU9UFld26LIq8kunxvr4zswjHT2xHMb/iauBC2c9TNo8Uk5muUTFLmNbYwnA==} peerDependencies: '@unocss/reset': '>=0.50.0-0' floating-vue: '>=2.0.0-0' unocss: '>=0.50.0-0' vue: 3.4.21 - dependencies: - '@unocss/reset': 0.58.6 - '@vueuse/components': 10.9.0(vue@3.4.21) - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) - colord: 2.9.3 - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21) - focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8) - vue: 3.4.21(typescript@5.4.5) - transitivePeerDependencies: - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - nprogress - - qrcode - - sortablejs - - universal-cookie - dev: false - /@vue/language-core@1.8.27(typescript@5.4.5): + '@vue/language-core@1.8.27': resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@volar/language-core': 1.11.1 - '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - computeds: 0.0.1 - minimatch: 9.0.4 - muggle-string: 0.3.1 - path-browserify: 1.0.1 - typescript: 5.4.5 - vue-template-compiler: 2.7.14 - dev: true - /@vue/language-core@2.0.13(typescript@5.4.5): + '@vue/language-core@2.0.13': resolution: {integrity: sha512-oQgM+BM66SU5GKtUMLQSQN0bxHFkFpLSSAiY87wVziPaiNQZuKVDt/3yA7GB9PiQw0y/bTNL0bOc0jM/siYjKg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@volar/language-core': 2.2.0-alpha.8 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - computeds: 0.0.1 - minimatch: 9.0.4 - path-browserify: 1.0.1 - typescript: 5.4.5 - vue-template-compiler: 2.7.14 - /@vue/reactivity@3.4.21: + '@vue/reactivity@3.4.21': resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} - dependencies: - '@vue/shared': 3.4.21 - /@vue/runtime-core@3.4.21: + '@vue/runtime-core@3.4.21': resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} - dependencies: - '@vue/reactivity': 3.4.21 - '@vue/shared': 3.4.21 - /@vue/runtime-dom@3.4.21: + '@vue/runtime-dom@3.4.21': resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} - dependencies: - '@vue/runtime-core': 3.4.21 - '@vue/shared': 3.4.21 - csstype: 3.1.3 - /@vue/server-renderer@3.4.21(vue@3.4.21): + '@vue/server-renderer@3.4.21': resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} peerDependencies: vue: 3.4.21 - dependencies: - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.5) - /@vue/shared@3.4.21: + '@vue/shared@3.4.21': resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - /@vue/test-utils@2.4.5: + '@vue/test-utils@2.4.5': resolution: {integrity: sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==} - dependencies: - js-beautify: 1.14.9 - vue-component-type-helpers: 2.0.6 - dev: true - /@vueuse/components@10.9.0(vue@3.4.21): + '@vueuse/components@10.9.0': resolution: {integrity: sha512-BHQpA0yIi3y7zKa1gYD0FUzLLkcRTqVhP8smnvsCK6GFpd94Nziq1XVPD7YpFeho0k5BzbBiNZF7V/DpkJ967A==} - dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - /@vueuse/core@10.9.0(vue@3.4.21): + '@vueuse/core@10.9.0': resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21): + '@vueuse/integrations@10.9.0': resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} peerDependencies: async-validator: '*' @@ -4288,927 +2668,557 @@ packages: optional: true universal-cookie: optional: true - dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) - focus-trap: 7.5.4 - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - /@vueuse/metadata@10.9.0: + '@vueuse/metadata@10.9.0': resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} - dev: false - /@vueuse/shared@10.9.0(vue@3.4.21): + '@vueuse/shared@10.9.0': resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} - dependencies: - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - /@webassemblyjs/ast@1.12.1: + '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - /@webassemblyjs/floating-point-hex-parser@1.11.6: + '@webassemblyjs/floating-point-hex-parser@1.11.6': resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - /@webassemblyjs/helper-api-error@1.11.6: + '@webassemblyjs/helper-api-error@1.11.6': resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - /@webassemblyjs/helper-buffer@1.12.1: + '@webassemblyjs/helper-buffer@1.12.1': resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - /@webassemblyjs/helper-numbers@1.11.6: + '@webassemblyjs/helper-numbers@1.11.6': resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.6 - '@webassemblyjs/helper-api-error': 1.11.6 - '@xtuc/long': 4.2.2 - /@webassemblyjs/helper-wasm-bytecode@1.11.6: + '@webassemblyjs/helper-wasm-bytecode@1.11.6': resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - /@webassemblyjs/helper-wasm-section@1.12.1: + '@webassemblyjs/helper-wasm-section@1.12.1': resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.12.1 - /@webassemblyjs/ieee754@1.11.6: + '@webassemblyjs/ieee754@1.11.6': resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} - dependencies: - '@xtuc/ieee754': 1.2.0 - /@webassemblyjs/leb128@1.11.6: + '@webassemblyjs/leb128@1.11.6': resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} - dependencies: - '@xtuc/long': 4.2.2 - /@webassemblyjs/utf8@1.11.6: + '@webassemblyjs/utf8@1.11.6': resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - /@webassemblyjs/wasm-edit@1.12.1: + '@webassemblyjs/wasm-edit@1.12.1': resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-opt': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wast-printer': 1.12.1 - /@webassemblyjs/wasm-gen@1.12.1: + '@webassemblyjs/wasm-gen@1.12.1': resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 - /@webassemblyjs/wasm-opt@1.12.1: + '@webassemblyjs/wasm-opt@1.12.1': resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - /@webassemblyjs/wasm-parser@1.12.1: + '@webassemblyjs/wasm-parser@1.12.1': resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-api-error': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 - /@webassemblyjs/wast-printer@1.12.1: + '@webassemblyjs/wast-printer@1.12.1': resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} - dependencies: - '@webassemblyjs/ast': 1.12.1 - '@xtuc/long': 4.2.2 - /@xtuc/ieee754@1.2.0: + '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - /@xtuc/long@4.2.2: + '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - /abbrev@1.1.1: + abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - /abort-controller@3.0.0: + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - /acorn-import-assertions@1.9.0(acorn@8.11.3): + acorn-import-assertions@1.9.0: resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 - dependencies: - acorn: 8.11.3 - /acorn-import-attributes@1.9.2(acorn@8.11.3): + acorn-import-attributes@1.9.2: resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==} peerDependencies: acorn: ^8 - dependencies: - acorn: 8.11.3 - /acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - /acorn-walk@8.3.2: + acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} - /acorn@7.4.1: + acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true - dev: false - /acorn@8.11.3: + acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true - /agent-base@6.0.2: + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - /agent-base@7.1.0: + agent-base@7.1.0: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} engines: {node: '>= 14'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - /agentkeepalive@4.5.0: + agentkeepalive@4.5.0: resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} - dependencies: - humanize-ms: 1.2.1 - dev: false - /aggregate-error@3.1.0: + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: false - /ajv-formats@2.1.1(ajv@8.12.0): + ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true - dependencies: - ajv: 8.12.0 - /ajv-keywords@3.5.2(ajv@6.12.6): + ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: ajv: ^6.9.1 - dependencies: - ajv: 6.12.6 - /ajv-keywords@5.1.0(ajv@8.12.0): + ajv-keywords@5.1.0: resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: ajv: ^8.8.2 - dependencies: - ajv: 8.12.0 - fast-deep-equal: 3.1.3 - /ajv@6.12.6: + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - /ajv@8.12.0: + ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - /ansi-colors@4.1.3: + ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - /ansi-escapes@4.3.2: + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: false - /ansi-html-community@0.0.8: + ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} hasBin: true - dev: false - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-regex@6.0.1: + ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /ansi-styles@6.2.1: + ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - /aproba@2.0.0: + aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - /archiver-utils@5.0.2: + archiver-utils@5.0.2: resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} engines: {node: '>= 14'} - dependencies: - glob: 10.3.10 - graceful-fs: 4.2.11 - is-stream: 2.0.1 - lazystream: 1.0.1 - lodash: 4.17.21 - normalize-path: 3.0.0 - readable-stream: 4.5.2 - /archiver@7.0.1: + archiver@7.0.1: resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} engines: {node: '>= 14'} - dependencies: - archiver-utils: 5.0.2 - async: 3.2.4 - buffer-crc32: 1.0.0 - readable-stream: 4.5.2 - readdir-glob: 1.1.3 - tar-stream: 3.1.6 - zip-stream: 6.0.1 - /are-docs-informative@0.0.2: + are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} - dev: true - /are-we-there-yet@2.0.0: + are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - /are-we-there-yet@3.0.1: + are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - dev: false - /argparse@2.0.1: + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /aria-query@5.1.3: + aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - dependencies: - deep-equal: 2.2.3 - dev: true - /array-buffer-byte-length@1.0.0: + array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.2 - dev: true - /array-union@2.1.0: + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true - /asap@2.0.6: + asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: false - /assert-never@1.2.1: + assert-never@1.2.1: resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} - dev: false - /assertion-error@1.1.0: + assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - /ast-kit@0.11.3(rollup@4.14.2): + ast-kit@0.11.3: resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} - dependencies: - '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - pathe: 1.1.2 - transitivePeerDependencies: - - rollup - dev: false - /ast-kit@0.9.5(rollup@4.14.2): + ast-kit@0.9.5: resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} - dependencies: - '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - pathe: 1.1.2 - transitivePeerDependencies: - - rollup - dev: false - /ast-walker-scope@0.5.0(rollup@4.14.2): + ast-walker-scope@0.5.0: resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} - dependencies: - '@babel/parser': 7.24.1 - ast-kit: 0.9.5(rollup@4.14.2) - transitivePeerDependencies: - - rollup - dev: false - /async-sema@3.1.1: + async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} - /async@3.2.4: + async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - /autoprefixer@10.4.19(postcss@8.4.38): + autoprefixer@10.4.19: resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 - dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001599 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - dev: false - /available-typed-arrays@1.0.6: + available-typed-arrays@1.0.6: resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} engines: {node: '>= 0.4'} - dev: true - /b4a@1.6.4: + b4a@1.6.4: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} - /babel-walk@3.0.0-canary-5: + babel-walk@3.0.0-canary-5: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - /bail@2.0.2: + bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: true - /balanced-match@1.0.2: + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /base64-js@1.5.1: + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - /big-integer@1.6.51: + big-integer@1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} engines: {node: '>=0.6'} - dev: true - /big.js@5.2.2: + big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - /binary-extensions@2.2.0: + binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - /bindings@1.5.0: + bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - dependencies: - file-uri-to-path: 1.0.0 - /birpc@0.2.17: + birpc@0.2.17: resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} - dev: false - /boolbase@1.0.0: + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - /bplist-parser@0.2.0: + bplist-parser@0.2.0: resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.51 - dev: true - /brace-expansion@1.1.11: + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - /brace-expansion@2.0.1: + brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - /braces@3.0.2: + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - /browserslist@4.23.0: + browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - dependencies: - caniuse-lite: 1.0.30001599 - electron-to-chromium: 1.4.681 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - /buffer-crc32@1.0.0: + buffer-crc32@1.0.0: resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} engines: {node: '>=8.0.0'} - /buffer-from@1.1.2: + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - /buffer@6.0.3: + buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - /builtin-modules@3.3.0: + builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - /builtins@5.0.1: + builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - dependencies: - semver: 7.6.0 - dev: false - /bundle-name@3.0.0: + bundle-name@3.0.0: resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} engines: {node: '>=12'} - dependencies: - run-applescript: 5.0.0 - dev: true - /bundle-name@4.1.0: + bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - dependencies: - run-applescript: 7.0.0 - dev: false - /c12@1.10.0: + c12@1.10.0: resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} - dependencies: - chokidar: 3.6.0 - confbox: 0.1.3 - defu: 6.1.4 - dotenv: 16.4.5 - giget: 1.2.1 - jiti: 1.21.0 - mlly: 1.6.1 - ohash: 1.1.3 - pathe: 1.1.2 - perfect-debounce: 1.0.0 - pkg-types: 1.0.3 - rc9: 2.1.2 - /cac@6.7.14: + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - /cacache@17.1.4: + cacache@17.1.4: resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.10 - lru-cache: 7.18.3 - minipass: 7.0.4 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.2.0 - unique-filename: 3.0.0 - dev: false - /cacache@18.0.0: + cacache@18.0.0: resolution: {integrity: sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==} engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.10 - lru-cache: 10.2.0 - minipass: 7.0.4 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.2.0 - unique-filename: 3.0.0 - dev: false - /call-bind@1.0.7: + call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.1 - /callsites@3.1.0: + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - /camelcase@6.3.0: + camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - /caniuse-api@3.0.0: + caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001599 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - dev: false - /caniuse-lite@1.0.30001599: + caniuse-lite@1.0.30001599: resolution: {integrity: sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==} - /case-police@0.6.1: + case-police@0.6.1: resolution: {integrity: sha512-tOgkG3HhtzNVHU+HVHqbpVJ3CICPDihtlgoM2C4dx0RLeo6qcNVeBgiYJN5Bln+stxKrnKrw89CFgqYQDqwZQg==} hasBin: true - dev: true - /ccount@2.0.1: + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: true - /chai@4.3.10: + chai@4.3.10: resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - /chalk@5.3.0: + chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - /changelogen@0.5.5: + changelogen@0.5.5: resolution: {integrity: sha512-IzgToIJ/R9NhVKmL+PW33ozYkv53bXvufDNUSH3GTKXq1iCHGgkbgbtqEWbo8tnWNnt7nPDpjL8PwSG2iS8RVw==} hasBin: true - dependencies: - c12: 1.10.0 - colorette: 2.0.20 - consola: 3.2.3 - convert-gitmoji: 0.1.3 - execa: 8.0.1 - mri: 1.2.0 - node-fetch-native: 1.6.4 - ofetch: 1.3.4 - open: 9.1.0 - pathe: 1.1.2 - pkg-types: 1.0.3 - scule: 1.3.0 - semver: 7.6.0 - std-env: 3.7.0 - yaml: 2.3.4 - dev: true - /char-regex@1.0.2: + char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - dev: true - /character-entities-html4@2.1.0: + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - dev: true - /character-entities-legacy@3.0.0: + character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - dev: true - /character-entities@2.0.2: + character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - dev: true - /character-parser@2.2.0: + character-parser@2.2.0: resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} - dependencies: - is-regex: 1.1.4 - dev: false - /character-reference-invalid@2.0.1: + character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - dev: true - /check-error@1.0.3: + check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - /chokidar@3.6.0: + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - /chownr@2.0.0: + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - /chrome-trace-event@1.0.3: + chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} - /ci-info@3.9.0: + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: false - /ci-info@4.0.0: + ci-info@4.0.0: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} - /citty@0.1.6: + citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - dependencies: - consola: 3.2.3 - /clean-regexp@1.0.0: + clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - /clean-stack@2.2.0: + clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - dev: false - /clear@0.1.0: + clear@0.1.0: resolution: {integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==} - dev: false - /clipboardy@4.0.0: + clipboardy@4.0.0: resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} engines: {node: '>=18'} - dependencies: - execa: 8.0.1 - is-wsl: 3.1.0 - is64bit: 2.0.0 - /cliui@8.0.1: + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - /cluster-key-slot@1.1.2: + cluster-key-slot@1.1.2: resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} engines: {node: '>=0.10.0'} - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-support@1.1.3: + color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true - /colord@2.9.3: + colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - dev: false - /colorette@2.0.20: + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - /comma-separated-tokens@2.0.3: + comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - dev: true - /commander@10.0.1: + commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - dev: true - /commander@11.1.0: + commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} - dev: true - /commander@2.20.3: + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - /commander@7.2.0: + commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - dev: false - /commander@8.3.0: + commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - dev: false - /comment-parser@1.4.1: + comment-parser@1.4.1: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} - dev: true - /commondir@1.0.1: + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - /compress-commons@6.0.2: + compress-commons@6.0.2: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} - dependencies: - crc-32: 1.2.2 - crc32-stream: 6.0.0 - is-stream: 2.0.1 - normalize-path: 3.0.0 - readable-stream: 4.5.2 - /computeds@0.0.1: + computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} - /concat-map@0.0.1: + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /confbox@0.1.3: + confbox@0.1.3: resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} - /config-chain@1.1.13: + config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - dev: true - /consola@3.2.3: + consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} - /console-control-strings@1.1.0: + console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - /constantinople@4.0.1: + constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} - dependencies: - '@babel/parser': 7.24.1 - '@babel/types': 7.24.0 - dev: false - /convert-gitmoji@0.1.3: + convert-gitmoji@0.1.3: resolution: {integrity: sha512-t5yxPyI8h8KPvRwrS/sRrfIpT2gJbmBAY0TFokyUBy3PM44RuFRpZwHdACz+GTSPLRLo3s4qsscOMLjHiXBwzw==} - dev: true - /convert-source-map@2.0.0: + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - /cookie-es@1.1.0: + cookie-es@1.1.0: resolution: {integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==} - /core-js-compat@3.34.0: + core-js-compat@3.34.0: resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==} - dependencies: - browserslist: 4.23.0 - dev: true - /core-util-is@1.0.3: + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cosmiconfig@8.3.6(typescript@5.4.5): + cosmiconfig@8.3.6: resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -5216,15 +3226,8 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - typescript: 5.4.5 - dev: false - /cosmiconfig@9.0.0(typescript@5.4.5): + cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -5232,47 +3235,32 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - env-paths: 2.2.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - typescript: 5.4.5 - dev: false - /crc-32@1.2.2: + crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} engines: {node: '>=0.8'} hasBin: true - /crc32-stream@6.0.0: + crc32-stream@6.0.0: resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} engines: {node: '>= 14'} - dependencies: - crc-32: 1.2.2 - readable-stream: 4.5.2 - /create-require@1.1.1: + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - /croner@8.0.1: + croner@8.0.1: resolution: {integrity: sha512-Hq1+lXVgjJjcS/U+uk6+yVmtxami0r0b+xVtlGyABgdz110l/kOnHWvlSI7nVzrTl8GCdZHwZS4pbBFT7hSL/g==} engines: {node: '>=18.0'} - /cronstrue@2.48.0: + cronstrue@2.48.0: resolution: {integrity: sha512-w+VAWjiBJmKYeeK+i0ur3G47LcKNgFuWwb8LVJTaXSS2ExtQ5zdiIVnuysgB3N457gTaSllme0qTpdsJWK/wIg==} hasBin: true - dev: false - /cross-spawn@7.0.3: + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - /crossws@0.2.4: + crossws@0.2.4: resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} peerDependencies: uWebSockets.js: '*' @@ -5280,16 +3268,13 @@ packages: uWebSockets.js: optional: true - /css-declaration-sorter@7.2.0(postcss@8.4.38): + css-declaration-sorter@7.2.0: resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 - dependencies: - postcss: 8.4.38 - dev: false - /css-loader@7.1.1(webpack@5.91.0): + css-loader@7.1.1: resolution: {integrity: sha512-OxIR5P2mjO1PSXk44bWuQ8XtMK4dpEqpIyERCx3ewOo3I8EmbcxMPUc5ScLtQfgXtOojoMv57So4V/C02HQLsw==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -5300,19 +3285,8 @@ packages: optional: true webpack: optional: true - dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) - postcss-modules-scope: 3.2.0(postcss@8.4.38) - postcss-modules-values: 4.0.0(postcss@8.4.38) - postcss-value-parser: 4.2.0 - semver: 7.6.0 - webpack: 5.91.0 - dev: false - /css-minimizer-webpack-plugin@6.0.0(webpack@5.91.0): + css-minimizer-webpack-plugin@6.0.0: resolution: {integrity: sha512-BLpR9CCDkKvhO3i0oZQgad6v9pCxUuhSc5RT6iUEy9M8hBXi4TJb5vqF2GQ2deqYHmRi3O6IR9hgAZQWg0EBwA==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -5336,6 +3310,6527 @@ packages: optional: true lightningcss: optional: true + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + 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'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + cuint@0.2.2: + resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} + + db0@0.1.4: + resolution: {integrity: sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==} + peerDependencies: + '@libsql/client': ^0.5.2 + better-sqlite3: ^9.4.3 + drizzle-orm: ^0.29.4 + peerDependenciesMeta: + '@libsql/client': + optional: true + better-sqlite3: + optional: true + drizzle-orm: + optional: true + + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + + 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: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + 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'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detab@3.0.2: + resolution: {integrity: sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w==} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + + devalue@4.3.2: + resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + doctypes@1.1.0: + resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dot-prop@8.0.2: + resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==} + engines: {node: '>=16'} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + editorconfig@1.0.4: + resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} + engines: {node: '>=14'} + hasBin: true + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.4.681: + resolution: {integrity: sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + emoticon@4.0.1: + resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + + enhanced-resolve@4.5.0: + resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} + engines: {node: '>=6.9.0'} + + enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + error-stack-parser-es@0.1.1: + resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-module-lexer@1.3.1: + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} + + esbuild-loader@4.1.0: + resolution: {integrity: sha512-543TtIvqbqouEMlOHg4xKoDQkmdImlwIpyAIgpUtDPvMuklU/c2k+Qt2O3VeDBgAwozxmlEbjOzV+F8CZ0g+Bw==} + peerDependencies: + webpack: ^4.40.0 || ^5.0.0 + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.19.11: + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-config-flat-gitignore@0.1.5: + resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} + + eslint-flat-config-utils@0.2.2: + resolution: {integrity: sha512-iWjXCsGBuyqlGhmam4V9IXlxpDfnc7l0VC1YzncROF2PYIPSRpejugrIp2bXPT5mutKF3zq69Vbt7J9su9E/Lw==} + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-plugin-import-x@0.5.0: + resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==} + engines: {node: '>=16'} + peerDependencies: + eslint: ^8.56.0 || ^9.0.0-0 + + eslint-plugin-jsdoc@48.2.3: + resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-no-only-tests@3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + + eslint-plugin-perfectionist@2.8.0: + resolution: {integrity: sha512-XBjQ4ctU1rOzQ4bFJoUowe8XdsIIz42JqNrouFlae1TO78HjoyYBaRP8+gAHDDQCSdHY10pbChyzlJeBA6D51w==} + peerDependencies: + astro-eslint-parser: ^0.16.0 + eslint: '>=8.0.0' + svelte: '>=3.0.0' + svelte-eslint-parser: ^0.33.0 + vue-eslint-parser: '>=9.0.0' + peerDependenciesMeta: + astro-eslint-parser: + optional: true + svelte: + optional: true + svelte-eslint-parser: + optional: true + vue-eslint-parser: + optional: true + + eslint-plugin-unicorn@52.0.0: + resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-plugin-vue@9.24.1: + resolution: {integrity: sha512-wk3SuwmS1pZdcuJlokGYEi/buDOwD6KltvhIZyOnpJ/378dcQ4zchu9PAMbbLAaydCz1iYc5AozszcOOgZIIOg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-typegen@0.2.2: + resolution: {integrity: sha512-hgKW5octZPdbnOvzWYjzdk3fD8P8n2c7RvmYlVF3zLFjkf2wyvAf9QRt/r8a7jYzqh6lZrVgr81XOe5jwz3z9g==} + peerDependencies: + eslint: ^8.45.0 || ^9.0.0 + + eslint-visitor-keys@3.4.3: + 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==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.0.0: + resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + 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} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + externality@1.0.2: + resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} + + fake-indexeddb@5.0.2: + resolution: {integrity: sha512-cB507r5T3D55DfclY01GLkninZLfU7HXV/mhVRTnTRm5k2u+fY7Fof2dBkr80p5t7G7dlA/G5dI87QiMdPpMCQ==} + engines: {node: '>=18'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flat@6.0.1: + resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} + engines: {node: '>=18'} + hasBin: true + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + floating-vue@5.2.2: + resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} + peerDependencies: + '@nuxt/kit': workspace:* + vue: 3.4.21 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + fork-ts-checker-webpack-plugin@9.0.2: + resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} + engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-port-please@3.1.2: + resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} + + get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + + giget@1.2.1: + resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} + hasBin: true + + git-config-path@2.0.0: + resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==} + engines: {node: '>=4'} + + git-up@7.0.0: + resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + + git-url-parse@14.0.0: + resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.0.0: + resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} + engines: {node: '>=18'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + gzip-size@7.0.0: + resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + h3@1.11.1: + resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} + + happy-dom@14.7.1: + resolution: {integrity: sha512-v60Q0evZ4clvMcrAh5/F8EdxDdfHdFrtffz/CNe10jKD+nFweZVxM91tW+UyY2L4AtpgIaXdZ7TQmiO1pfcwbg==} + engines: {node: '>=16.0.0'} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + engines: {node: '>= 0.4.0'} + + hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + + hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-heading-rank@3.0.0: + resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + + 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==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + + html-entities@2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + + http-proxy-agent@7.0.0: + resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + engines: {node: '>= 14'} + + http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + https-proxy-agent@7.0.2: + resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + engines: {node: '>= 14'} + + 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'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore-walk@6.0.3: + resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + image-meta@0.2.0: + resolution: {integrity: sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==} + + immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + + ioredis@5.3.2: + resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} + engines: {node: '>=12.22.0'} + + ip@2.0.1: + resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} + + iron-webcrypto@1.0.0: + resolution: {integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==} + + is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-expression@4.0.0: + resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-installed-globally@1.0.0: + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} + + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + + is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + 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'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-primitive@3.0.1: + resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} + engines: {node: '>=0.10.0'} + + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + + is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + + is-ssh@1.4.0: + resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + + is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + + is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + is64bit@2.0.0: + resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} + engines: {node: '>=18'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + engines: {node: '>=8'} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + + js-beautify@1.14.9: + resolution: {integrity: sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==} + engines: {node: '>=12'} + hasBin: true + + js-stringify@1.0.2: + resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + + jsesc@0.5.0: + 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'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-parse-even-better-errors@3.0.0: + resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + json-schema-to-typescript-lite@14.0.0: + resolution: {integrity: sha512-On0b6UdEgdotLzWk37yNId2wK77P7UfxuCWDEgduoz1VLR4rPbDcQGW6zlHVgL62Bq7gERq0JMmUyAjJigxYHg==} + engines: {node: '>=20.0.0'} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jstransformer@1.0.0: + resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + knitwork@1.1.0: + resolution: {integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + + listhen@1.7.2: + resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} + hasBin: true + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + + lodash.isarguments@3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + + magic-string-ast@0.3.0: + resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} + engines: {node: '>=16.14.0'} + + magic-string@0.30.9: + resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} + engines: {node: '>=12'} + + magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-fetch-happen@11.1.1: + resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + make-fetch-happen@13.0.0: + resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} + engines: {node: ^16.14.0 || >=18.0.0} + + markdown-it@14.0.0: + resolution: {integrity: sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==} + hasBin: true + + markdown-table@2.0.0: + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + markdownlint-cli@0.39.0: + resolution: {integrity: sha512-ZuFN7Xpsbn1Nbp0YYkeLOfXOMOfLQBik2lKRy8pVI/llmKQ2uW7x+8k5OMgF6o7XCsTDSYC/OOmeJ+3qplvnJQ==} + engines: {node: '>=18'} + hasBin: true + + markdownlint-micromark@0.1.8: + resolution: {integrity: sha512-1ouYkMRo9/6gou9gObuMDnvZM8jC/ly3QCFQyoSPCS2XV1ZClU0xpKbL1Ar3bWWRT1RnBZkWUEiNKrI2CwiBQA==} + engines: {node: '>=16'} + + markdownlint@0.33.0: + resolution: {integrity: sha512-4lbtT14A3m0LPX1WS/3d1m7Blg+ZwiLq36WvjQqFGsX3Gik99NV+VXp/PW3n+Q62xyPdbvGOCfjPqjW+/SKMig==} + engines: {node: '>=18'} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + memfs@4.8.1: + resolution: {integrity: sha512-7q/AdPzf2WpwPlPL4v1kE2KsJsHl7EF4+hAeVzlyanr2+YnR21NVn9mDqo+7DEaKDRsQy8nvxPlKH4WqMtiO0w==} + engines: {node: '>= 4.0.0'} + + memory-fs@0.5.0: + resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + + micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + + micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + + micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + + micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + 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'} + hasBin: true + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + mime@4.0.1: + resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} + 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'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + mini-css-extract-plugin@2.8.1: + resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-json-stream@1.0.1: + resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mitt@2.1.0: + resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mkdist@1.3.0: + resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} + hasBin: true + peerDependencies: + sass: ^1.63.6 + typescript: '>=5.1.6' + peerDependenciesMeta: + sass: + optional: true + typescript: + optional: true + + mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@5.0.7: + resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + engines: {node: ^18 || >=20} + hasBin: true + + natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nitropack@2.9.6: + resolution: {integrity: sha512-HP2PE0dREcDIBVkL8Zm6eVyrDd10/GI9hTL00PHvjUM8I9Y/2cv73wRDmxNyInfrx/CJKHATb2U/pQrqpzJyXA==} + engines: {node: ^16.11.0 || >=17.0.0} + hasBin: true + peerDependencies: + xml2js: ^0.6.2 + peerDependenciesMeta: + xml2js: + optional: true + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-addon-api@7.0.0: + resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==} + + node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} + + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} + hasBin: true + + node-gyp@9.4.0: + resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} + engines: {node: ^12.13 || ^14.13 || >=16} + hasBin: true + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + + nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + npm-bundled@3.0.0: + resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-package-arg@11.0.1: + resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-packlist@8.0.0: + resolution: {integrity: sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-pick-manifest@9.0.0: + resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-registry-fetch@16.1.0: + resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + nuxi@3.11.1: + resolution: {integrity: sha512-AW71TpxRHNg8MplQVju9tEFvXPvX42e0wPYknutSStDuAjV99vWTWYed4jxr/grk2FtKAuv2KvdJxcn2W59qyg==} + engines: {node: ^16.10.0 || >=18.0.0} + hasBin: true + + nuxt-content-twoslash@0.0.10: + resolution: {integrity: sha512-rnSX+qiMvCGMrUBWbHUidxQazw7NlCs80bK1uJ9gwXd2rupM7/niko/3b57jIJUZnDIhlvePk2eWpRDskvfajg==} + hasBin: true + peerDependencies: + '@nuxtjs/mdc': '>=0.5.0' + + nypm@0.3.8: + resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.0: + resolution: {integrity: sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==} + + object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + + ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + + ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + 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'} + + open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + + open@8.4.2: + 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.5: + resolution: {integrity: sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA==} + hasBin: true + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pacote@17.0.6: + resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-git-config@3.0.0: + resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==} + engines: {node: '>=8'} + + parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-path@7.0.0: + resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + + parse-url@8.1.0: + resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.1: + resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + engines: {node: '>=12'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pify@6.1.0: + resolution: {integrity: sha512-KocF8ve28eFjjuBKKGvzOBGzG8ew2OqOOSxTTZhirkzH7h3BI1vyzqlR0qbfcDBve1Yzo3FVlWUAtCRrbVN8Fw==} + engines: {node: '>=14.16'} + + pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + + playwright-core@1.43.1: + resolution: {integrity: sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==} + engines: {node: '>=16'} + hasBin: true + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-import-resolver@2.0.0: + resolution: {integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==} + + postcss-import@16.1.0: + resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==} + engines: {node: '>=18.0.0'} + peerDependencies: + postcss: ^8.0.0 + + 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: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.0.5: + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.0: + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-url@10.1.3: + resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.0.0 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + + proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + property-information@6.4.1: + resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + protocols@2.0.1: + resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + + pug-attrs@3.0.0: + resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} + + pug-code-gen@3.0.2: + resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==} + + pug-error@2.0.0: + resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==} + + pug-filters@4.0.0: + resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} + + pug-lexer@5.0.1: + resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} + + pug-linker@4.0.0: + resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} + + pug-load@3.0.0: + resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} + + pug-parser@6.0.0: + resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} + + pug-plain-loader@1.1.0: + resolution: {integrity: sha512-1nYgIJLaahRuHJHhzSPODV44aZfb00bO7kiJiMkke6Hj4SVZftuvx6shZ4BOokk50dJc2RSFqNUBOlus0dniFQ==} + peerDependencies: + pug: ^2.0.0 || ^3.0.0 + + pug-runtime@3.0.1: + resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} + + pug-strip-comments@2.0.0: + resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} + + pug-walk@2.0.0: + resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} + + pug@3.0.2: + resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==} + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + read-package-json@7.0.0: + resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} + engines: {node: ^16.14.0 || >=18.0.0} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + rehype-external-links@3.0.0: + resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + 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-attributes@5.0.0: + resolution: {integrity: sha512-6tJUH4xHFcdO85CZRwAcEtHNCzjZ9V9S0VZLgo1pzbN04qy8jiVCZ3oAxDmBVG3Rth5b1xFTDet5WG/UYZeJLQ==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-mdc@3.0.2: + resolution: {integrity: sha512-HoCaTwIkvYp1Kj9EiKMNpfAjLO53PwiaeA5J2o+uIBfCHjcOWai3oDmCkEZVCIHbHgU/qSZ8JeiQftksnVKTeQ==} + + 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-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + rimraf@5.0.5: + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} + hasBin: true + + rollup-plugin-dts@6.1.0: + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + engines: {node: '>=16'} + peerDependencies: + rollup: ^4.14.2 + typescript: ^4.5 || ^5.0 + + rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: ^4.14.2 + peerDependenciesMeta: + rollup: + optional: true + + rollup@4.14.2: + resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==} + 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'} + + run-con@1.3.2: + resolution: {integrity: sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass@1.69.4: + resolution: {integrity: sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==} + engines: {node: '>=14.0.0'} + hasBin: true + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-placeholder@2.0.1: + resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shiki@1.1.2: + resolution: {integrity: sha512-qNzFwTv5uhEDNUIwp7wHjsrffVeLbmOgWnM5mZZhoiz7G2qAUvqVfUzuWfieD45/YAKipzCtdV9SndacKtABow==} + + shiki@1.1.6: + resolution: {integrity: sha512-j4pcpvaQWHb42cHeV+W6P+X/VcK7Y2ctvEham6zB8wsuRQroT6cEMIkiUmBU2Nqg2qnHZDH6ZyRdVldcy0l6xw==} + + side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sigstore@2.2.2: + resolution: {integrity: sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==} + engines: {node: ^16.14.0 || >=18.0.0} + + simple-git@3.23.0: + resolution: {integrity: sha512-P9ggTW8vb/21CAL/AmnACAhqBDfnqSSZVpV7WuFtsFR9HLunf5IqQvk+OXAQTfkcZep8pKnt3DV3o7w3TegEkQ==} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + 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'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + smob@1.4.1: + resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==} + + socks-proxy-agent@7.0.0: + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} + + socks-proxy-agent@8.0.2: + resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} + engines: {node: '>= 14'} + + socks@2.7.1: + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} + engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + + source-list-map@2.0.1: + resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + + spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + splitpanes@3.1.5: + resolution: {integrity: sha512-r3Mq2ITFQ5a2VXLOy4/Sb2Ptp7OfEO8YIbhVJqJXoFc9hc5nTXXkCvtVDjIGbvC0vdE7tse+xTM9BMjsszP6bw==} + + ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + + streamx@2.15.1: + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + 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'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-color@9.4.0: + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + + svgo@3.2.0: + resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==} + engines: {node: '>=14.0.0'} + hasBin: true + + system-architecture@0.1.0: + resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} + engines: {node: '>=18'} + + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + + tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar-stream@3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + + tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.27.0: + resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + time-fix-plugin@2.0.7: + resolution: {integrity: sha512-uVFet1LQToeUX0rTcSiYVYVoGuBpc8gP/2jnlUzuHMHe+gux6XLsNzxLUweabMwiUj5ejhoIMsUI55nVSEa/Vw==} + peerDependencies: + webpack: '>=4.0.0' + + tiny-invariant@1.3.1: + resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} + + tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + + tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + + tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + 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'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + token-stream@1.0.0: + resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tuf-js@2.2.0: + resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} + engines: {node: ^16.14.0 || >=18.0.0} + + twoslash-protocol@0.2.4: + resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==} + + twoslash-vue@0.2.4: + resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==} + peerDependencies: + typescript: '*' + + twoslash@0.2.4: + resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==} + peerDependencies: + typescript: '*' + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.0.0: + resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + ultrahtml@1.5.3: + resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} + + unbuild@2.0.0: + resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} + hasBin: true + peerDependencies: + typescript: ^5.1.6 + peerDependenciesMeta: + typescript: + optional: true + + unconfig@0.3.11: + resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + unctx@2.3.1: + resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici@5.28.3: + resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} + engines: {node: '>=14.0'} + + unenv@1.9.0: + resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} + + unhead@1.9.5: + resolution: {integrity: sha512-eBKDPO9IMltRze9mHNYIVdosjlqoNFbwJRbykGT/7z/S5uYR2QRCXmIhEsJT4crffy6KQyB5ywLPqjRPx0s57A==} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + + unimport@3.7.1: + resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} + + unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unist-builder@4.0.0: + resolution: {integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + + unocss@0.58.6: + resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.58.6 + vite: 5.2.8 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + + unplugin-vue-router@0.7.0: + resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} + peerDependencies: + vue-router: ^4.1.0 + peerDependenciesMeta: + vue-router: + optional: true + + unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} + + unstorage@1.10.2: + resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} + peerDependencies: + '@azure/app-configuration': ^1.5.0 + '@azure/cosmos': ^4.0.0 + '@azure/data-tables': ^13.2.2 + '@azure/identity': ^4.0.1 + '@azure/keyvault-secrets': ^4.8.0 + '@azure/storage-blob': ^12.17.0 + '@capacitor/preferences': ^5.0.7 + '@netlify/blobs': ^6.5.0 || ^7.0.0 + '@planetscale/database': ^1.16.0 + '@upstash/redis': ^1.28.4 + '@vercel/kv': ^1.0.1 + idb-keyval: ^6.2.1 + ioredis: ^5.3.2 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/kv': + optional: true + idb-keyval: + optional: true + 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==} + hasBin: true + + unwasm@0.3.9: + resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-loader@4.1.1: + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + + urlpattern-polyfill@8.0.2: + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + vite-hot-client@0.2.3: + resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} + peerDependencies: + vite: 5.2.8 + + vite-node@1.0.2: + resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite-node@1.4.0: + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite-plugin-checker@0.6.4: + resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} + engines: {node: '>=14.16'} + peerDependencies: + eslint: '>=7' + meow: ^9.0.0 + optionator: ^0.9.1 + stylelint: '>=13' + typescript: '*' + vite: 5.2.8 + vls: '*' + vti: '*' + vue-tsc: '>=1.3.9' + peerDependenciesMeta: + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + + vite-plugin-inspect@0.8.3: + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: 5.2.8 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + vite-plugin-vue-inspector@4.0.2: + resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} + peerDependencies: + vite: 5.2.8 + + vite@5.2.8: + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitest-environment-nuxt@1.0.0: + resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} + + vitest@1.0.2: + resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': ^1.0.0 + '@vitest/ui': ^1.0.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + vitest@1.4.0: + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + void-elements@3.1.0: + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} + engines: {node: '>=0.10.0'} + + vscode-jsonrpc@6.0.0: + resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} + engines: {node: '>=8.0.0 || >=10.0.0'} + + vscode-languageclient@7.0.0: + resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==} + engines: {vscode: ^1.52.0} + + vscode-languageserver-protocol@3.16.0: + resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} + + vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + + vscode-languageserver-types@3.16.0: + resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} + + vscode-languageserver@7.0.0: + resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} + hasBin: true + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + vue-bundle-renderer@2.0.0: + resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} + + vue-component-type-helpers@2.0.6: + resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} + + vue-demi@0.14.7: + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: 3.4.21 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-devtools-stub@0.1.0: + resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} + + vue-eslint-parser@9.4.2: + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + vue-loader@17.4.2: + resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} + peerDependencies: + '@vue/compiler-sfc': '*' + vue: '*' + webpack: ^4.1.0 || ^5.0.0-0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + vue: + optional: true + + vue-observe-visibility@2.0.0-alpha.1: + resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} + peerDependencies: + vue: 3.4.21 + + vue-resize@2.0.0-alpha.1: + resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} + peerDependencies: + vue: 3.4.21 + + vue-router@4.3.0: + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} + peerDependencies: + vue: 3.4.21 + + vue-template-compiler@2.7.14: + resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + + vue-tsc@2.0.13: + resolution: {integrity: sha512-a3nL3FvguCWVJUQW/jFrUxdeUtiEkbZoQjidqvMeBK//tuE2w6NWQAbdrEpY2+6nSa4kZoKZp8TZUMtHpjt4mQ==} + hasBin: true + peerDependencies: + typescript: '*' + + vue-virtual-scroller@2.0.0-beta.8: + resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} + peerDependencies: + vue: 3.4.21 + + vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + + webpack-dev-middleware@7.2.1: + resolution: {integrity: sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==} + engines: {node: '>= 18.12.0'} + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + + webpack-hot-middleware@2.26.1: + resolution: {integrity: sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==} + + webpack-sources@1.4.3: + resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + + webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpackbar@6.0.1: + resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} + engines: {node: '>=14.21.3'} + peerDependencies: + webpack: 3 || 4 || 5 + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + + which-typed-array@1.1.14: + resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + + why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + with@7.0.2: + resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} + engines: {node: '>= 10.0.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xxhashjs@0.2.2: + resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + zhead@2.2.4: + resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} + + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@antfu/install-pkg@0.1.1': + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + + '@antfu/utils@0.7.7': {} + + '@apidevtools/json-schema-ref-parser@11.5.4': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + + '@babel/code-frame@7.24.2': + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + + '@babel/compat-data@7.23.5': {} + + '@babel/core@7.24.1': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.1': + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-compilation-targets@7.23.6': + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.22.20': {} + + '@babel/helper-function-name@7.23.0': + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + + '@babel/helper-hoist-variables@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-member-expression-to-functions@7.23.0': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-imports@7.22.15': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + '@babel/helper-optimise-call-expression@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-plugin-utils@7.24.0': {} + + '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + '@babel/helper-simple-access@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-split-export-declaration@7.22.6': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-string-parser@7.23.4': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/helper-validator-option@7.23.5': {} + + '@babel/helpers@7.24.1': + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + + '@babel/highlight@7.24.2': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + + '@babel/parser@7.24.1': + dependencies: + '@babel/types': 7.24.0 + + '@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.24.1) + + '@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + + '@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.1) + + '@babel/preset-typescript@7.23.3(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.1) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) + + '@babel/runtime@7.23.9': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/standalone@7.23.9': {} + + '@babel/template@7.24.0': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + + '@babel/traverse@7.24.1': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.0': + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + '@bcoe/v8-coverage@0.2.3': {} + + '@cloudflare/kv-asset-handler@0.3.1': + dependencies: + mime: 3.0.0 + + '@discoveryjs/json-ext@0.5.7': {} + + '@es-joy/jsdoccomment@0.42.0': + dependencies: + comment-parser: 1.4.1 + esquery: 1.5.0 + jsdoc-type-pratt-parser: 4.0.0 + + '@esbuild/aix-ppc64@0.19.11': + optional: true + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.19.11': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.19.11': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.19.11': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.19.11': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.19.11': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.19.11': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.19.11': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.19.11': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.19.11': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.19.11': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.19.11': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.19.11': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.19.11': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.19.11': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.19.11': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.19.11': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.19.11': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.19.11': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.19.11': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.19.11': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.19.11': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.19.11': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@9.0.0)': + dependencies: + eslint: 9.0.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.0': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.0.2': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.0.0': {} + + '@fastify/busboy@2.0.0': {} + + '@floating-ui/core@1.6.0': + dependencies: + '@floating-ui/utils': 0.2.1 + + '@floating-ui/dom@1.1.1': + dependencies: + '@floating-ui/core': 1.6.0 + + '@floating-ui/utils@0.2.1': {} + + '@humanwhocodes/config-array@0.12.3': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.1.22': + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.7 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.6.1 + transitivePeerDependencies: + - supports-color + + '@ioredis/commands@1.2.0': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.5 + '@types/istanbul-reports': 3.0.3 + '@types/node': 20.12.7 + '@types/yargs': 17.0.28 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.1': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@jsdevtools/ono@7.1.3': {} + + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + + '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': + dependencies: + detect-libc: 2.0.2 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0(encoding@0.1.13) + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.6.0 + tar: 6.2.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@netlify/functions@2.6.0': + dependencies: + '@netlify/serverless-functions-api': 1.14.0 + + '@netlify/node-cookies@0.1.0': {} + + '@netlify/serverless-functions-api@1.14.0': + dependencies: + '@netlify/node-cookies': 0.1.0 + urlpattern-polyfill: 8.0.2 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + '@npmcli/agent@2.2.0': + dependencies: + agent-base: 7.1.0 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 + lru-cache: 10.2.0 + socks-proxy-agent: 8.0.2 + transitivePeerDependencies: + - supports-color + + '@npmcli/fs@3.1.0': + dependencies: + semver: 7.6.0 + + '@npmcli/git@5.0.3': + dependencies: + '@npmcli/promise-spawn': 7.0.0 + lru-cache: 10.2.0 + npm-pick-manifest: 9.0.0 + proc-log: 3.0.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.6.0 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + + '@npmcli/installed-package-contents@2.0.2': + dependencies: + npm-bundled: 3.0.0 + npm-normalize-package-bin: 3.0.1 + + '@npmcli/node-gyp@3.0.0': {} + + '@npmcli/promise-spawn@7.0.0': + dependencies: + which: 4.0.0 + + '@npmcli/run-script@7.0.1': + dependencies: + '@npmcli/node-gyp': 3.0.0 + '@npmcli/promise-spawn': 7.0.0 + node-gyp: 9.4.0 + read-package-json-fast: 3.0.2 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + + '@nuxt/devalue@2.0.2': {} + + '@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': + dependencies: + '@nuxt/kit': link:packages/kit + '@nuxt/schema': link:packages/schema + execa: 7.2.0 + nuxt: link:packages/nuxt + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + + '@nuxt/devtools-wizard@1.1.5': + dependencies: + consola: 3.2.3 + diff: 5.2.0 + execa: 7.2.0 + global-directory: 4.0.1 + magicast: 0.3.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + prompts: 2.4.2 + rc9: 2.1.2 + semver: 7.6.0 + + '@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.14.2)(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@antfu/utils': 0.7.7 + '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/devtools-wizard': 1.1.5 + '@nuxt/kit': link:packages/kit + '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-core': 7.0.25(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.5)) + birpc: 0.2.17 + consola: 3.2.3 + cronstrue: 2.48.0 + destr: 2.0.3 + error-stack-parser-es: 0.1.1 + execa: 7.2.0 + fast-glob: 3.3.2 + flatted: 3.3.1 + get-port-please: 3.1.2 + hookable: 5.5.3 + image-meta: 0.2.0 + is-installed-globally: 1.0.0 + launch-editor: 2.6.1 + local-pkg: 0.5.0 + magicast: 0.3.3 + nuxt: link:packages/nuxt + nypm: 0.3.8 + ohash: 1.1.3 + pacote: 17.0.6 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.2 + scule: 1.3.0 + semver: 7.6.0 + simple-git: 3.23.0 + sirv: 2.0.4 + unimport: 3.7.1(rollup@4.14.2) + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + which: 3.0.1 + ws: 8.16.0 + transitivePeerDependencies: + - '@unocss/reset' + - '@vue/composition-api' + - async-validator + - axios + - bluebird + - bufferutil + - change-case + - drauu + - floating-vue + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - rollup + - sortablejs + - supports-color + - universal-cookie + - unocss + - utf-8-validate + - vue + + '@nuxt/eslint-config@0.3.6(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@eslint/js': 9.0.0 + '@nuxt/eslint-plugin': 0.3.6(eslint@9.0.0)(typescript@5.4.5) + '@rushstack/eslint-patch': 1.10.1 + '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5))(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + eslint: 9.0.0 + eslint-config-flat-gitignore: 0.1.5 + eslint-flat-config-utils: 0.2.2 + eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.5) + eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) + eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) + eslint-plugin-vue: 9.24.1(eslint@9.0.0) + globals: 15.0.0 + pathe: 1.1.2 + tslib: 2.6.2 + vue-eslint-parser: 9.4.2(eslint@9.0.0) + transitivePeerDependencies: + - supports-color + - typescript + + '@nuxt/eslint-plugin@0.3.6(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.91.0)': + dependencies: + chalk: 2.4.2 + consola: 3.2.3 + error-stack-parser: 2.1.4 + string-width: 4.2.3 + webpack: 5.91.0 + + '@nuxt/telemetry@2.5.4': + dependencies: + '@nuxt/kit': link:packages/kit + ci-info: 4.0.0 + consola: 3.2.3 + create-require: 1.1.1 + defu: 6.1.4 + destr: 2.0.3 + dotenv: 16.4.5 + git-url-parse: 14.0.0 + is-docker: 3.0.0 + jiti: 1.21.0 + mri: 1.2.0 + nanoid: 5.0.7 + ofetch: 1.3.4 + parse-git-config: 3.0.0 + pathe: 1.1.2 + rc9: 2.1.2 + std-env: 3.7.0 + + '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@nuxt/kit': link:packages/kit + '@nuxt/schema': link:packages/schema + c12: 1.10.0 + consola: 3.2.3 + defu: 6.1.4 + destr: 2.0.3 + estree-walker: 3.0.3 + execa: 8.0.1 + fake-indexeddb: 5.0.2 + get-port-please: 3.1.2 + h3: 1.11.1 + local-pkg: 0.5.0 + magic-string: 0.30.9 + node-fetch-native: 1.6.4 + ofetch: 1.3.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + radix3: 1.1.2 + scule: 1.3.0 + std-env: 3.7.0 + ufo: 1.5.3 + unenv: 1.9.0 + unplugin: 1.10.1 + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) + vue: 3.4.21(typescript@5.4.5) + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.5)) + optionalDependencies: + '@testing-library/vue': 8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)) + '@vue/test-utils': 2.4.5 + happy-dom: 14.7.1 + playwright-core: 1.43.1 + vitest: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + + '@nuxt/ui-templates@1.3.3': {} + + '@nuxtjs/mdc@0.5.0': + dependencies: + '@nuxt/kit': link:packages/kit + '@shikijs/transformers': 1.1.2 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@vue/compiler-core': 3.4.21 + consola: 3.2.3 + debug: 4.3.4 + defu: 6.1.4 + destr: 2.0.3 + detab: 3.0.2 + github-slugger: 2.0.0 + hast-util-to-string: 3.0.0 + mdast-util-to-hast: 13.1.0 + micromark-util-sanitize-uri: 2.0.0 + ohash: 1.1.3 + parse5: 7.1.2 + pathe: 1.1.2 + property-information: 6.4.1 + 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 + remark-emoji: 4.0.1 + remark-gfm: 4.0.0 + remark-mdc: 3.0.2 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + scule: 1.3.0 + shiki: 1.1.6 + ufo: 1.5.3 + unified: 11.0.4 + unist-builder: 4.0.0 + unist-util-visit: 5.0.0 + unwasm: 0.3.9 + transitivePeerDependencies: + - supports-color + + '@one-ini/wasm@0.1.1': {} + + '@parcel/watcher-android-arm64@2.4.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.4.1': + optional: true + + '@parcel/watcher-darwin-x64@2.4.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.4.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.4.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.4.1': + optional: true + + '@parcel/watcher-wasm@2.4.1': + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.5 + + '@parcel/watcher-win32-arm64@2.4.1': + optional: true + + '@parcel/watcher-win32-ia32@2.4.1': + optional: true + + '@parcel/watcher-win32-x64@2.4.1': + optional: true + + '@parcel/watcher@2.4.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.5 + node-addon-api: 7.0.0 + 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 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@polka/url@1.0.0-next.24': {} + + '@rollup/plugin-alias@5.1.0(rollup@4.14.2)': + dependencies: + slash: 4.0.0 + optionalDependencies: + rollup: 4.14.2 + + '@rollup/plugin-commonjs@25.0.7(rollup@4.14.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.9 + optionalDependencies: + rollup: 4.14.2 + + '@rollup/plugin-inject@5.0.5(rollup@4.14.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + estree-walker: 2.0.2 + magic-string: 0.30.9 + optionalDependencies: + rollup: 4.14.2 + + '@rollup/plugin-json@6.1.0(rollup@4.14.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + optionalDependencies: + rollup: 4.14.2 + + '@rollup/plugin-node-resolve@15.2.3(rollup@4.14.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@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.14.2 + + '@rollup/plugin-replace@5.0.5(rollup@4.14.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + magic-string: 0.30.9 + optionalDependencies: + rollup: 4.14.2 + + '@rollup/plugin-terser@0.4.4(rollup@4.14.2)': + dependencies: + serialize-javascript: 6.0.2 + smob: 1.4.1 + terser: 5.27.0 + optionalDependencies: + rollup: 4.14.2 + + '@rollup/pluginutils@4.2.1': + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + + '@rollup/pluginutils@5.1.0(rollup@4.14.2)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.14.2 + + '@rollup/rollup-android-arm-eabi@4.14.2': + optional: true + + '@rollup/rollup-android-arm64@4.14.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.14.2': + optional: true + + '@rollup/rollup-darwin-x64@4.14.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.14.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.14.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.14.2': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.14.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.14.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.14.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.14.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.14.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.14.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.14.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.14.2': + optional: true + + '@rushstack/eslint-patch@1.10.1': {} + + '@shikijs/core@1.1.2': {} + + '@shikijs/core@1.1.6': {} + + '@shikijs/transformers@1.1.2': + dependencies: + shiki: 1.1.2 + + '@shikijs/twoslash@1.1.6(typescript@5.4.5)': + dependencies: + '@shikijs/core': 1.1.6 + twoslash: 0.2.4(typescript@5.4.5) + transitivePeerDependencies: + - supports-color + - typescript + + '@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.5)': + dependencies: + '@shikijs/twoslash': 1.1.6(typescript@5.4.5) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)) + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm: 3.0.0 + mdast-util-to-hast: 13.1.0 + shiki: 1.1.6 + twoslash: 0.2.4(typescript@5.4.5) + twoslash-vue: 0.2.4(typescript@5.4.5) + vue: 3.4.21(typescript@5.4.5) + transitivePeerDependencies: + - '@nuxt/kit' + - supports-color + - typescript + + '@sigstore/bundle@2.2.0': + dependencies: + '@sigstore/protobuf-specs': 0.3.0 + + '@sigstore/core@1.0.0': {} + + '@sigstore/protobuf-specs@0.3.0': {} + + '@sigstore/sign@2.2.3': + dependencies: + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + + '@sigstore/tuf@2.3.1': + dependencies: + '@sigstore/protobuf-specs': 0.3.0 + tuf-js: 2.2.0 + transitivePeerDependencies: + - supports-color + + '@sigstore/verify@1.1.0': + dependencies: + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/merge-streams@2.2.0': {} + + '@stylistic/eslint-plugin-js@1.7.0(eslint@9.0.0)': + dependencies: + '@types/eslint': 8.56.7 + acorn: 8.11.3 + escape-string-regexp: 4.0.0 + eslint: 9.0.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + + '@stylistic/eslint-plugin-jsx@1.7.0(eslint@9.0.0)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) + '@types/eslint': 8.56.7 + eslint: 9.0.0 + estraverse: 5.3.0 + picomatch: 4.0.1 + + '@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@types/eslint': 8.56.7 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) + '@types/eslint': 8.56.7 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) + '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@9.0.0) + '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.5) + '@types/eslint': 8.56.7 + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@testing-library/dom@9.3.4': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/runtime': 7.23.9 + '@types/aria-query': 5.0.4 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@babel/runtime': 7.23.9 + '@testing-library/dom': 9.3.4 + '@vue/test-utils': 2.4.5 + vue: 3.4.21(typescript@5.4.5) + optionalDependencies: + '@vue/compiler-sfc': 3.4.21 + + '@tootallnate/once@2.0.0': {} + + '@trysound/sax@0.2.0': {} + + '@tufjs/canonical-json@2.0.0': {} + + '@tufjs/models@2.0.0': + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 9.0.4 + + '@types/aria-query@5.0.4': {} + + '@types/clear@0.1.4': {} + + '@types/connect@3.4.37': + dependencies: + '@types/node': 20.12.7 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/eslint-scope@3.7.6': + dependencies: + '@types/eslint': 8.56.7 + '@types/estree': 1.0.5 + + '@types/eslint@8.56.7': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/eslint__js@8.42.3': + dependencies: + '@types/eslint': 8.56.7 + + '@types/estree@1.0.5': {} + + '@types/file-loader@5.0.4': + dependencies: + '@types/webpack': 4.41.34 + + '@types/fs-extra@11.0.4': + dependencies: + '@types/jsonfile': 6.1.2 + '@types/node': 20.12.7 + + '@types/hash-sum@1.0.2': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/http-proxy@1.17.14': + dependencies: + '@types/node': 20.12.7 + + '@types/istanbul-lib-coverage@2.0.5': {} + + '@types/istanbul-lib-report@3.0.2': + dependencies: + '@types/istanbul-lib-coverage': 2.0.5 + + '@types/istanbul-reports@3.0.3': + dependencies: + '@types/istanbul-lib-report': 3.0.2 + + '@types/json-schema@7.0.15': {} + + '@types/jsonfile@6.1.2': + dependencies: + '@types/node': 20.12.7 + + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.14.200 + + '@types/lodash@4.14.200': {} + + '@types/mdast@4.0.3': + dependencies: + '@types/unist': 3.0.2 + + '@types/ms@0.7.34': {} + + '@types/node-sass@4.11.6': + dependencies: + '@types/node': 20.12.7 + + '@types/node@20.12.7': + dependencies: + undici-types: 5.26.5 + + '@types/normalize-package-data@2.4.4': {} + + '@types/pify@5.0.4': {} + + '@types/pug@2.0.10': {} + + '@types/resolve@1.20.2': {} + + '@types/sass-loader@8.0.8': + dependencies: + '@types/node': 20.12.7 + '@types/node-sass': 4.11.6 + '@types/webpack': 4.41.34 + sass: 1.69.4 + + '@types/semver@7.5.8': {} + + '@types/source-list-map@0.1.4': {} + + '@types/tapable@1.0.10': {} + + '@types/uglify-js@3.17.3': + dependencies: + source-map: 0.6.1 + + '@types/unist@2.0.10': {} + + '@types/unist@3.0.2': {} + + '@types/web-bluetooth@0.0.20': {} + + '@types/webpack-bundle-analyzer@4.7.0': + dependencies: + '@types/node': 20.12.7 + tapable: 2.2.1 + webpack: 5.91.0 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + - webpack-cli + + '@types/webpack-hot-middleware@2.25.9': + dependencies: + '@types/connect': 3.4.37 + tapable: 2.2.1 + webpack: 5.91.0 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + - webpack-cli + + '@types/webpack-sources@3.2.1': + dependencies: + '@types/node': 20.12.7 + '@types/source-list-map': 0.1.4 + source-map: 0.7.4 + + '@types/webpack-virtual-modules@0.4.2': + dependencies: + webpack-virtual-modules: 0.6.1 + + '@types/webpack@4.41.34': + dependencies: + '@types/node': 20.12.7 + '@types/tapable': 1.0.10 + '@types/uglify-js': 3.17.3 + '@types/webpack-sources': 3.2.1 + anymatch: 3.1.3 + source-map: 0.6.1 + + '@types/yargs-parser@21.0.1': {} + + '@types/yargs@17.0.28': + dependencies: + '@types/yargs-parser': 21.0.1 + + '@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5))(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4 + eslint: 9.0.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4 + eslint: 9.0.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + + '@typescript-eslint/scope-manager@7.6.0': + dependencies: + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 + + '@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + debug: 4.3.4 + eslint: 9.0.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@6.21.0': {} + + '@typescript-eslint/types@7.6.0': {} + + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + eslint: 9.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) + eslint: 9.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@7.6.0': + dependencies: + '@typescript-eslint/types': 7.6.0 + eslint-visitor-keys: 3.4.3 + + '@typescript/vfs@1.5.0': + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + '@ungap/structured-clone@1.2.0': {} + + '@unhead/dom@1.9.5': + dependencies: + '@unhead/schema': 1.9.5 + '@unhead/shared': 1.9.5 + + '@unhead/schema@1.9.5': + dependencies: + hookable: 5.5.3 + zhead: 2.2.4 + + '@unhead/shared@1.9.5': + dependencies: + '@unhead/schema': 1.9.5 + + '@unhead/ssr@1.9.5': + dependencies: + '@unhead/schema': 1.9.5 + '@unhead/shared': 1.9.5 + + '@unhead/vue@1.9.5(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@unhead/schema': 1.9.5 + '@unhead/shared': 1.9.5 + hookable: 5.5.3 + unhead: 1.9.5 + vue: 3.4.21(typescript@5.4.5) + + '@unocss/astro@0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': + dependencies: + '@unocss/core': 0.58.6 + '@unocss/reset': 0.58.6 + '@unocss/vite': 0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + optionalDependencies: + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - rollup + + '@unocss/cli@0.58.6(rollup@4.14.2)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@unocss/config': 0.58.6 + '@unocss/core': 0.58.6 + '@unocss/preset-uno': 0.58.6 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.9 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + + '@unocss/config@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + unconfig: 0.3.11 + + '@unocss/core@0.58.6': {} + + '@unocss/extractor-arbitrary-variants@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + + '@unocss/inspector@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + '@unocss/rule-utils': 0.58.6 + gzip-size: 6.0.0 + sirv: 2.0.4 + + '@unocss/postcss@0.58.6(postcss@8.4.38)': + dependencies: + '@unocss/config': 0.58.6 + '@unocss/core': 0.58.6 + '@unocss/rule-utils': 0.58.6 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.9 + postcss: 8.4.38 + + '@unocss/preset-attributify@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + + '@unocss/preset-icons@0.58.6': + dependencies: + '@iconify/utils': 2.1.22 + '@unocss/core': 0.58.6 + ofetch: 1.3.4 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-mini@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + '@unocss/extractor-arbitrary-variants': 0.58.6 + '@unocss/rule-utils': 0.58.6 + + '@unocss/preset-tagify@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + + '@unocss/preset-typography@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + '@unocss/preset-mini': 0.58.6 + + '@unocss/preset-uno@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + '@unocss/preset-mini': 0.58.6 + '@unocss/preset-wind': 0.58.6 + '@unocss/rule-utils': 0.58.6 + + '@unocss/preset-web-fonts@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + ofetch: 1.3.4 + + '@unocss/preset-wind@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + '@unocss/preset-mini': 0.58.6 + '@unocss/rule-utils': 0.58.6 + + '@unocss/reset@0.58.6': {} + + '@unocss/rule-utils@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + magic-string: 0.30.9 + + '@unocss/scope@0.58.6': {} + + '@unocss/transformer-attributify-jsx-babel@0.58.6': + dependencies: + '@babel/core': 7.24.1 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) + '@babel/preset-typescript': 7.23.3(@babel/core@7.24.1) + '@unocss/core': 0.58.6 + transitivePeerDependencies: + - supports-color + + '@unocss/transformer-attributify-jsx@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + + '@unocss/transformer-compile-class@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + + '@unocss/transformer-directives@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + '@unocss/rule-utils': 0.58.6 + css-tree: 2.3.1 + + '@unocss/transformer-variant-group@0.58.6': + dependencies: + '@unocss/core': 0.58.6 + + '@unocss/vite@0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@unocss/config': 0.58.6 + '@unocss/core': 0.58.6 + '@unocss/inspector': 0.58.6 + '@unocss/scope': 0.58.6 + '@unocss/transformer-directives': 0.58.6 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.9 + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - rollup + + '@vercel/nft@0.26.4(encoding@0.1.13)': + dependencies: + '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) + '@rollup/pluginutils': 4.2.1 + acorn: 8.11.3 + acorn-import-attributes: 1.9.2(acorn@8.11.3) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + node-gyp-build: 4.6.1 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@babel/core': 7.24.1 + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vue: 3.4.21(typescript@5.4.5) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.0.4(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + dependencies: + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vue: 3.4.21(typescript@5.4.5) + + '@vitest/coverage-v8@1.4.0(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.6 + magic-string: 0.30.9 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@1.0.2': + dependencies: + '@vitest/spy': 1.0.2 + '@vitest/utils': 1.0.2 + chai: 4.3.10 + + '@vitest/expect@1.4.0': + dependencies: + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + chai: 4.3.10 + + '@vitest/runner@1.0.2': + dependencies: + '@vitest/utils': 1.0.2 + p-limit: 5.0.0 + pathe: 1.1.2 + + '@vitest/runner@1.4.0': + dependencies: + '@vitest/utils': 1.4.0 + p-limit: 5.0.0 + pathe: 1.1.2 + + '@vitest/snapshot@1.0.2': + dependencies: + magic-string: 0.30.9 + pathe: 1.1.2 + pretty-format: 29.7.0 + + '@vitest/snapshot@1.4.0': + dependencies: + magic-string: 0.30.9 + pathe: 1.1.2 + pretty-format: 29.7.0 + + '@vitest/spy@1.0.2': + dependencies: + tinyspy: 2.2.0 + + '@vitest/spy@1.4.0': + dependencies: + tinyspy: 2.2.0 + + '@vitest/utils@1.0.2': + dependencies: + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + + '@vitest/utils@1.4.0': + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + + '@volar/language-core@1.11.1': + dependencies: + '@volar/source-map': 1.11.1 + + '@volar/language-core@2.2.0-alpha.8': + dependencies: + '@volar/source-map': 2.2.0-alpha.8 + + '@volar/source-map@1.11.1': + dependencies: + muggle-string: 0.3.1 + + '@volar/source-map@2.2.0-alpha.8': + dependencies: + muggle-string: 0.4.1 + + '@volar/typescript@2.2.0-alpha.8': + dependencies: + '@volar/language-core': 2.2.0-alpha.8 + path-browserify: 1.0.1 + + '@vue-macros/common@1.10.1(rollup@4.14.2)(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@babel/types': 7.24.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@vue/compiler-sfc': 3.4.21 + ast-kit: 0.11.3(rollup@4.14.2) + local-pkg: 0.5.0 + magic-string-ast: 0.3.0 + optionalDependencies: + vue: 3.4.21(typescript@5.4.5) + transitivePeerDependencies: + - rollup + + '@vue/babel-helper-vue-transform-on@1.1.5': {} + + '@vue/babel-plugin-jsx@1.1.5(@babel/core@7.24.1)': + dependencies: + '@babel/core': 7.24.1 + '@babel/helper-module-imports': 7.22.15 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.1) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@vue/babel-helper-vue-transform-on': 1.1.5 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@vue/compiler-core@3.4.21': + dependencies: + '@babel/parser': 7.24.1 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-dom@3.4.21': + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-sfc@3.4.21': + dependencies: + '@babel/parser': 7.24.1 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.9 + postcss: 8.4.38 + source-map-js: 1.2.0 + + '@vue/compiler-ssr@3.4.21': + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/devtools-api@6.5.1': {} + + '@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@vue/devtools-core': 7.0.25(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-shared': 7.0.25 + '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.21(typescript@5.4.5)) + perfect-debounce: 1.0.0 + splitpanes: 3.1.5 + vue: 3.4.21(typescript@5.4.5) + vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21(typescript@5.4.5)) + transitivePeerDependencies: + - '@unocss/reset' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - floating-vue + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - sortablejs + - universal-cookie + - unocss + - vite + + '@vue/devtools-core@7.0.25(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-shared': 7.0.25 + mitt: 3.0.1 + nanoid: 3.3.7 + pathe: 1.1.2 + vite-hot-client: 0.2.3(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + transitivePeerDependencies: + - vite + - vue + + '@vue/devtools-kit@7.0.25(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@vue/devtools-shared': 7.0.25 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + vue: 3.4.21(typescript@5.4.5) + + '@vue/devtools-shared@7.0.25': + dependencies: + rfdc: 1.3.1 + + '@vue/devtools-ui@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@unocss/reset': 0.58.6 + '@vueuse/components': 10.9.0(vue@3.4.21(typescript@5.4.5)) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.5)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21(typescript@5.4.5)) + colord: 2.9.3 + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)) + focus-trap: 7.5.4 + unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + vue: 3.4.21(typescript@5.4.5) + transitivePeerDependencies: + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - sortablejs + - universal-cookie + + '@vue/language-core@1.8.27(typescript@5.4.5)': + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.4 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.14 + optionalDependencies: + typescript: 5.4.5 + + '@vue/language-core@2.0.13(typescript@5.4.5)': + dependencies: + '@volar/language-core': 2.2.0-alpha.8 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.4 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.14 + optionalDependencies: + typescript: 5.4.5 + + '@vue/reactivity@3.4.21': + dependencies: + '@vue/shared': 3.4.21 + + '@vue/runtime-core@3.4.21': + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/runtime-dom@3.4.21': + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.4.5) + + '@vue/shared@3.4.21': {} + + '@vue/test-utils@2.4.5': + dependencies: + js-beautify: 1.14.9 + vue-component-type-helpers: 2.0.6 + + '@vueuse/components@10.9.0(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.5)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/core@10.9.0(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.5)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21(typescript@5.4.5))': + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.5)) + optionalDependencies: + focus-trap: 7.5.4 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/metadata@10.9.0': {} + + '@vueuse/shared@10.9.0(vue@3.4.21(typescript@5.4.5))': + dependencies: + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.5)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@webassemblyjs/ast@1.12.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + + '@webassemblyjs/helper-api-error@1.11.6': {} + + '@webassemblyjs/helper-buffer@1.12.1': {} + + '@webassemblyjs/helper-numbers@1.11.6': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + + '@webassemblyjs/helper-wasm-section@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 + + '@webassemblyjs/ieee754@1.11.6': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.11.6': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.11.6': {} + + '@webassemblyjs/wasm-edit@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 + + '@webassemblyjs/wasm-gen@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wasm-opt@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + + '@webassemblyjs/wasm-parser@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wast-printer@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + abbrev@1.1.1: {} + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + acorn-import-assertions@1.9.0(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-import-attributes@1.9.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-walk@8.3.2: {} + + acorn@7.4.1: {} + + acorn@8.11.3: {} + + agent-base@6.0.2: + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + agent-base@7.1.0: + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + agentkeepalive@4.5.0: + dependencies: + humanize-ms: 1.2.1 + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.12.0): + optionalDependencies: + ajv: 8.12.0 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.12.0): + dependencies: + ajv: 8.12.0 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ansi-colors@4.1.3: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-html-community@0.0.8: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + aproba@2.0.0: {} + + archiver-utils@5.0.2: + dependencies: + glob: 10.3.10 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + + archiver@7.0.1: + dependencies: + archiver-utils: 5.0.2 + async: 3.2.4 + buffer-crc32: 1.0.0 + readable-stream: 4.5.2 + readdir-glob: 1.1.3 + tar-stream: 3.1.6 + zip-stream: 6.0.1 + + are-docs-informative@0.0.2: {} + + are-we-there-yet@2.0.0: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + + are-we-there-yet@3.0.1: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + + argparse@2.0.1: {} + + aria-query@5.1.3: + dependencies: + deep-equal: 2.2.3 + + array-buffer-byte-length@1.0.0: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.2 + + array-union@2.1.0: {} + + asap@2.0.6: {} + + assert-never@1.2.1: {} + + assertion-error@1.1.0: {} + + ast-kit@0.11.3(rollup@4.14.2): + dependencies: + '@babel/parser': 7.24.1 + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + + ast-kit@0.9.5(rollup@4.14.2): + dependencies: + '@babel/parser': 7.24.1 + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + + ast-walker-scope@0.5.0(rollup@4.14.2): + dependencies: + '@babel/parser': 7.24.1 + ast-kit: 0.9.5(rollup@4.14.2) + transitivePeerDependencies: + - rollup + + async-sema@3.1.1: {} + + async@3.2.4: {} + + autoprefixer@10.4.19(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001599 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + available-typed-arrays@1.0.6: {} + + b4a@1.6.4: {} + + babel-walk@3.0.0-canary-5: + dependencies: + '@babel/types': 7.24.0 + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + big-integer@1.6.51: {} + + big.js@5.2.2: {} + + binary-extensions@2.2.0: {} + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + birpc@0.2.17: {} + + boolbase@1.0.0: {} + + bplist-parser@0.2.0: + dependencies: + big-integer: 1.6.51 + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + browserslist@4.23.0: + dependencies: + caniuse-lite: 1.0.30001599 + electron-to-chromium: 1.4.681 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + + buffer-crc32@1.0.0: {} + + buffer-from@1.1.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + builtin-modules@3.3.0: {} + + builtins@5.0.1: + dependencies: + semver: 7.6.0 + + bundle-name@3.0.0: + dependencies: + run-applescript: 5.0.0 + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + + c12@1.10.0: + dependencies: + chokidar: 3.6.0 + confbox: 0.1.3 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.1 + jiti: 1.21.0 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.2 + + cac@6.7.14: {} + + cacache@17.1.4: + dependencies: + '@npmcli/fs': 3.1.0 + fs-minipass: 3.0.3 + glob: 10.3.10 + lru-cache: 7.18.3 + minipass: 7.0.4 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.5 + tar: 6.2.0 + unique-filename: 3.0.0 + + cacache@18.0.0: + dependencies: + '@npmcli/fs': 3.1.0 + fs-minipass: 3.0.3 + glob: 10.3.10 + lru-cache: 10.2.0 + minipass: 7.0.4 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.5 + tar: 6.2.0 + unique-filename: 3.0.0 + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 + + callsites@3.1.0: {} + + camelcase@6.3.0: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001599 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001599: {} + + case-police@0.6.1: {} + + ccount@2.0.1: {} + + chai@4.3.10: + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + changelogen@0.5.5: + dependencies: + c12: 1.10.0 + colorette: 2.0.20 + consola: 3.2.3 + convert-gitmoji: 0.1.3 + execa: 8.0.1 + mri: 1.2.0 + node-fetch-native: 1.6.4 + ofetch: 1.3.4 + open: 9.1.0 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + semver: 7.6.0 + std-env: 3.7.0 + yaml: 2.3.4 + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-parser@2.2.0: + dependencies: + is-regex: 1.1.4 + + character-reference-invalid@2.0.1: {} + + check-error@1.0.3: + dependencies: + get-func-name: 2.0.2 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@2.0.0: {} + + chrome-trace-event@1.0.3: {} + + ci-info@3.9.0: {} + + ci-info@4.0.0: {} + + citty@0.1.6: + dependencies: + consola: 3.2.3 + + clean-regexp@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + clean-stack@2.2.0: {} + + clear@0.1.0: {} + + clipboardy@4.0.0: + dependencies: + execa: 8.0.1 + is-wsl: 3.1.0 + is64bit: 2.0.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + cluster-key-slot@1.1.2: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-support@1.1.3: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@11.1.0: {} + + commander@2.20.3: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + comment-parser@1.4.1: {} + + commondir@1.0.1: {} + + compress-commons@6.0.2: + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + + computeds@0.0.1: {} + + concat-map@0.0.1: {} + + confbox@0.1.3: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + consola@3.2.3: {} + + console-control-strings@1.1.0: {} + + constantinople@4.0.1: + dependencies: + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + + convert-gitmoji@0.1.3: {} + + convert-source-map@2.0.0: {} + + cookie-es@1.1.0: {} + + core-js-compat@3.34.0: + dependencies: + browserslist: 4.23.0 + + core-util-is@1.0.3: {} + + cosmiconfig@8.3.6(typescript@5.4.5): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.4.5 + + cosmiconfig@9.0.0(typescript@5.4.5): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.4.5 + + crc-32@1.2.2: {} + + crc32-stream@6.0.0: + dependencies: + crc-32: 1.2.2 + readable-stream: 4.5.2 + + create-require@1.1.1: {} + + croner@8.0.1: {} + + cronstrue@2.48.0: {} + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crossws@0.2.4: {} + + css-declaration-sorter@7.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + css-loader@7.1.1(webpack@5.91.0): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) + postcss-value-parser: 4.2.0 + semver: 7.6.0 + optionalDependencies: + webpack: 5.91.0 + + css-minimizer-webpack-plugin@6.0.0(webpack@5.91.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 cssnano: 6.1.2(postcss@8.4.38) @@ -5344,49 +9839,30 @@ packages: schema-utils: 4.2.0 serialize-javascript: 6.0.2 webpack: 5.91.0 - dev: false - /css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-select@5.1.0: dependencies: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 domutils: 3.1.0 nth-check: 2.1.1 - dev: false - /css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + css-tree@2.2.1: dependencies: mdn-data: 2.0.28 source-map-js: 1.2.0 - dev: false - /css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-tree@2.3.1: dependencies: mdn-data: 2.0.30 source-map-js: 1.2.0 - dev: false - /css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - dev: false + css-what@6.1.0: {} - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true + cssesc@3.0.0: {} - /cssnano-preset-default@6.1.2(postcss@8.4.38): - resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + cssnano-preset-default@6.1.2(postcss@8.4.38): dependencies: browserslist: 4.23.0 css-declaration-sorter: 7.2.0(postcss@8.4.38) @@ -5419,111 +9895,52 @@ packages: postcss-reduce-transforms: 6.0.2(postcss@8.4.38) postcss-svgo: 6.0.3(postcss@8.4.38) postcss-unique-selectors: 6.0.4(postcss@8.4.38) - dev: false - /cssnano-utils@4.0.2(postcss@8.4.38): - resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + cssnano-utils@4.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 - dev: false - /cssnano@6.1.2(postcss@8.4.38): - resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + cssnano@6.1.2(postcss@8.4.38): dependencies: cssnano-preset-default: 6.1.2(postcss@8.4.38) lilconfig: 3.1.1 postcss: 8.4.38 - dev: false - /csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + csso@5.0.5: dependencies: css-tree: 2.2.1 - dev: false - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.1.3: {} - /cuint@0.2.2: - resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} - dev: false + cuint@0.2.2: {} - /db0@0.1.4: - resolution: {integrity: sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==} - peerDependencies: - '@libsql/client': ^0.5.2 - better-sqlite3: ^9.4.3 - drizzle-orm: ^0.29.4 - peerDependenciesMeta: - '@libsql/client': - optional: true - better-sqlite3: - optional: true - drizzle-orm: - optional: true + db0@0.1.4: {} - /de-indent@1.0.2: - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + de-indent@1.0.2: {} - /debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - dev: false + debounce@1.2.1: {} - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@2.6.9: dependencies: ms: 2.0.0 - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@3.2.7: dependencies: ms: 2.1.3 - dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4: dependencies: ms: 2.1.2 - /decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 - dev: true - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + deep-eql@4.1.3: dependencies: type-detect: 4.0.8 - dev: true - /deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} + deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.7 @@ -5543,309 +9960,184 @@ packages: which-boxed-primitive: 1.0.2 which-collection: 1.0.1 which-typed-array: 1.1.14 - dev: true - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true + deep-extend@0.6.0: {} - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deep-is@0.1.4: {} - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + deepmerge@4.3.1: {} - /default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} + default-browser-id@3.0.0: dependencies: bplist-parser: 0.2.0 untildify: 4.0.0 - dev: true - /default-browser-id@5.0.0: - resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} - engines: {node: '>=18'} - dev: false + default-browser-id@5.0.0: {} - /default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} + 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 - dev: true - /default-browser@5.2.1: - resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} - engines: {node: '>=18'} + default-browser@5.2.1: dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.0 - dev: false - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} + define-lazy-prop@2.0.0: {} - /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} + define-lazy-prop@3.0.0: {} - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 - dev: true - /defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + defu@6.1.4: {} - /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + delegates@1.0.0: {} - /denque@2.1.0: - resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} - engines: {node: '>=0.10'} + denque@2.1.0: {} - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + depd@2.0.0: {} - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - dev: true + dequal@2.0.3: {} - /destr@2.0.3: - resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + destr@2.0.3: {} - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + destroy@1.2.0: {} - /detab@3.0.2: - resolution: {integrity: sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w==} - dev: true + detab@3.0.2: {} - /detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true + detect-libc@1.0.3: {} - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} + detect-libc@2.0.2: {} - /devalue@4.3.2: - resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} + devalue@4.3.2: {} - /devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + devlop@1.1.0: dependencies: dequal: 2.0.3 - dev: true - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + diff-sequences@29.6.3: {} - /diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - dev: false + diff@5.2.0: {} - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /doctypes@1.1.0: - resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} - dev: false + doctypes@1.1.0: {} - /dom-accessibility-api@0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dev: true + dom-accessibility-api@0.5.16: {} - /dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 - dev: false - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: false + domelementtype@2.3.0: {} - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + domhandler@5.0.3: dependencies: domelementtype: 2.3.0 - dev: false - /domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + domutils@3.1.0: dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 - dev: false - /dot-prop@8.0.2: - resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==} - engines: {node: '>=16'} + dot-prop@8.0.2: dependencies: type-fest: 3.13.1 - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} + dotenv@16.4.5: {} - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + duplexer@0.1.2: {} - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + eastasianwidth@0.2.0: {} - /editorconfig@1.0.4: - resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} - engines: {node: '>=14'} - hasBin: true + editorconfig@1.0.4: dependencies: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 semver: 7.6.0 - dev: true - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + ee-first@1.1.1: {} - /electron-to-chromium@1.4.681: - resolution: {integrity: sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==} + electron-to-chromium@1.4.681: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emoji-regex@9.2.2: {} - /emojilib@2.4.0: - resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - dev: true + emojilib@2.4.0: {} - /emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} + emojis-list@3.0.0: {} - /emoticon@4.0.1: - resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} - dev: true + emoticon@4.0.1: {} - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} + encodeurl@1.0.2: {} - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 - dev: false optional: true - /enhanced-resolve@4.5.0: - resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} - engines: {node: '>=6.9.0'} + enhanced-resolve@4.5.0: dependencies: graceful-fs: 4.2.11 memory-fs: 0.5.0 tapable: 1.1.3 - dev: false - /enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} - engines: {node: '>=10.13.0'} + enhanced-resolve@5.16.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + entities@4.5.0: {} - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - dev: false + env-paths@2.2.1: {} - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: false + err-code@2.0.3: {} - /errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} - hasBin: true + errno@0.1.8: dependencies: prr: 1.0.1 - dev: false - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - /error-stack-parser-es@0.1.1: - resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} - dev: false + error-stack-parser-es@0.1.1: {} - /error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + error-stack-parser@2.1.4: dependencies: stackframe: 1.3.4 - dev: false - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} + es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + es-errors@1.3.0: {} - /es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + es-get-iterator@1.1.3: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 @@ -5856,15 +10148,10 @@ packages: is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 - dev: true - /es-module-lexer@1.3.1: - resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} + es-module-lexer@1.3.1: {} - /esbuild-loader@4.1.0(webpack@5.91.0): - resolution: {integrity: sha512-543TtIvqbqouEMlOHg4xKoDQkmdImlwIpyAIgpUtDPvMuklU/c2k+Qt2O3VeDBgAwozxmlEbjOzV+F8CZ0g+Bw==} - peerDependencies: - webpack: ^4.40.0 || ^5.0.0 + esbuild-loader@4.1.0(webpack@5.91.0): dependencies: esbuild: 0.20.2 get-tsconfig: 4.7.3 @@ -5872,11 +10159,7 @@ packages: webpack: 5.91.0 webpack-sources: 1.4.3 - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.18.20: optionalDependencies: '@esbuild/android-arm': 0.18.20 '@esbuild/android-arm64': 0.18.20 @@ -5900,13 +10183,8 @@ packages: '@esbuild/win32-arm64': 0.18.20 '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - dev: true - /esbuild@0.19.11: - resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.19.11: optionalDependencies: '@esbuild/aix-ppc64': 0.19.11 '@esbuild/android-arm': 0.19.11 @@ -5931,13 +10209,8 @@ packages: '@esbuild/win32-arm64': 0.19.11 '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 - dev: true - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.20.2: optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 '@esbuild/android-arm': 0.20.2 @@ -5963,54 +10236,35 @@ packages: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + escalade@3.1.1: {} - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-html@1.0.3: {} - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + escape-string-regexp@1.0.5: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + escape-string-regexp@4.0.0: {} - /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} + escape-string-regexp@5.0.0: {} - /eslint-config-flat-gitignore@0.1.5: - resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} + eslint-config-flat-gitignore@0.1.5: dependencies: find-up: 7.0.0 parse-gitignore: 2.0.0 - dev: true - /eslint-flat-config-utils@0.2.2: - resolution: {integrity: sha512-iWjXCsGBuyqlGhmam4V9IXlxpDfnc7l0VC1YzncROF2PYIPSRpejugrIp2bXPT5mutKF3zq69Vbt7J9su9E/Lw==} + eslint-flat-config-utils@0.2.2: dependencies: '@types/eslint': 8.56.7 pathe: 1.1.2 - dev: true - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 is-core-module: 2.13.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.5): - resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==} - engines: {node: '>=16'} - peerDependencies: - eslint: ^8.56.0 || ^9.0.0-0 + eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.5): dependencies: '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) debug: 4.3.4 @@ -6024,13 +10278,8 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /eslint-plugin-jsdoc@48.2.3(eslint@9.0.0): - resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} - engines: {node: '>=18'} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint-plugin-jsdoc@48.2.3(eslint@9.0.0): dependencies: '@es-joy/jsdoccomment': 0.42.0 are-docs-informative: 0.0.2 @@ -6044,45 +10293,22 @@ packages: spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-no-only-tests@3.1.0: - resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} - engines: {node: '>=5.0.0'} - dev: true + eslint-plugin-no-only-tests@3.1.0: {} - /eslint-plugin-perfectionist@2.8.0(eslint@9.0.0)(typescript@5.4.5): - resolution: {integrity: sha512-XBjQ4ctU1rOzQ4bFJoUowe8XdsIIz42JqNrouFlae1TO78HjoyYBaRP8+gAHDDQCSdHY10pbChyzlJeBA6D51w==} - peerDependencies: - astro-eslint-parser: ^0.16.0 - eslint: '>=8.0.0' - svelte: '>=3.0.0' - svelte-eslint-parser: ^0.33.0 - vue-eslint-parser: '>=9.0.0' - peerDependenciesMeta: - astro-eslint-parser: - optional: true - svelte: - optional: true - svelte-eslint-parser: - optional: true - vue-eslint-parser: - optional: true + eslint-plugin-perfectionist@2.8.0(eslint@9.0.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.0.0)): dependencies: '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 minimatch: 9.0.4 natural-compare-lite: 1.4.0 + optionalDependencies: + vue-eslint-parser: 9.4.2(eslint@9.0.0) transitivePeerDependencies: - supports-color - typescript - dev: true - /eslint-plugin-unicorn@52.0.0(eslint@9.0.0): - resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.56.0' + eslint-plugin-unicorn@52.0.0(eslint@9.0.0): dependencies: '@babel/helper-validator-identifier': 7.22.20 '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) @@ -6103,13 +10329,8 @@ packages: strip-indent: 3.0.0 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-vue@9.24.1(eslint@9.0.0): - resolution: {integrity: sha512-wk3SuwmS1pZdcuJlokGYEi/buDOwD6KltvhIZyOnpJ/378dcQ4zchu9PAMbbLAaydCz1iYc5AozszcOOgZIIOg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint-plugin-vue@9.24.1(eslint@9.0.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) eslint: 9.0.0 @@ -6122,53 +10343,34 @@ packages: xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-scope@8.0.1: - resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-typegen@0.2.2(eslint@9.0.0): - resolution: {integrity: sha512-hgKW5octZPdbnOvzWYjzdk3fD8P8n2c7RvmYlVF3zLFjkf2wyvAf9QRt/r8a7jYzqh6lZrVgr81XOe5jwz3z9g==} - peerDependencies: - eslint: ^8.45.0 || ^9.0.0 + eslint-scope@8.0.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-typegen@0.2.2(eslint@9.0.0): dependencies: '@types/eslint': 8.56.7 eslint: 9.0.0 json-schema-to-typescript-lite: 14.0.0 ohash: 1.1.3 - dev: true - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@3.4.3: {} - /eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@4.0.0: {} - /eslint@9.0.0: - resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true + eslint@9.0.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@eslint-community/regexpp': 4.10.0 @@ -6207,70 +10409,45 @@ packages: transitivePeerDependencies: - supports-color - /espree@10.0.1: - resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@10.0.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 4.0.0 - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 - dev: true - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + estraverse@4.3.0: {} - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + estraverse@5.3.0: {} - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-walker@2.0.2: {} - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + esutils@2.0.3: {} - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} + etag@1.8.1: {} - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} + event-target-shim@5.0.1: {} - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + events@3.3.0: {} - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@5.1.1: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -6282,9 +10459,7 @@ packages: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - /execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + execa@7.2.0: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -6296,9 +10471,7 @@ packages: signal-exit: 3.0.7 strip-final-newline: 3.0.0 - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + execa@8.0.1: dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -6310,37 +10483,24 @@ packages: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: false + exponential-backoff@3.1.1: {} - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true + extend@3.0.2: {} - /externality@1.0.2: - resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} + externality@1.0.2: dependencies: enhanced-resolve: 5.16.0 mlly: 1.6.1 pathe: 1.1.2 ufo: 1.5.3 - dev: false - /fake-indexeddb@5.0.2: - resolution: {integrity: sha512-cB507r5T3D55DfclY01GLkninZLfU7HXV/mhVRTnTRm5k2u+fY7Fof2dBkr80p5t7G7dlA/G5dI87QiMdPpMCQ==} - engines: {node: '>=18'} - dev: true + fake-indexeddb@5.0.2: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-deep-equal@3.1.3: {} - /fast-fifo@1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + fast-fifo@1.3.2: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -6348,129 +10508,81 @@ packages: merge2: 1.4.1 micromatch: 4.0.5 - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-levenshtein@2.0.6: {} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fastq@1.15.0: dependencies: reusify: 1.0.4 - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - dev: false - /file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 - /file-loader@6.2.0(webpack@5.91.0): - resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 + file-loader@6.2.0(webpack@5.91.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 webpack: 5.91.0 - dev: false - /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + file-uri-to-path@1.0.0: {} - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - /find-up@7.0.0: - resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} - engines: {node: '>=18'} + find-up@7.0.0: dependencies: locate-path: 7.2.0 path-exists: 5.0.0 unicorn-magic: 0.1.0 - dev: true - /flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - /flat@6.0.1: - resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} - engines: {node: '>=18'} - hasBin: true - dev: true + flat@6.0.1: {} - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.1: {} - /floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21): - resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} - peerDependencies: - '@nuxt/kit': workspace:* - vue: 3.4.21 - peerDependenciesMeta: - '@nuxt/kit': - optional: true + floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)): dependencies: '@floating-ui/dom': 1.1.1 - '@nuxt/kit': link:packages/kit vue: 3.4.21(typescript@5.4.5) - vue-resize: 2.0.0-alpha.1(vue@3.4.21) + vue-resize: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)) + optionalDependencies: + '@nuxt/kit': link:packages/kit - /focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + focus-trap@7.5.4: dependencies: tabbable: 6.2.0 - dev: false - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.5)(webpack@5.91.0): - resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} - engines: {node: '>=12.13.0', yarn: '>=1.0.0'} - peerDependencies: - typescript: '>3.6.0' - webpack: ^5.11.0 + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.5)(webpack@5.91.0): dependencies: '@babel/code-frame': 7.24.2 chalk: 4.1.2 @@ -6486,70 +10598,43 @@ packages: tapable: 2.2.1 typescript: 5.4.5 webpack: 5.91.0 - dev: false - /fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - dev: false + fraction.js@4.3.7: {} - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} + fresh@0.5.2: {} - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: false - - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + + fs-minipass@2.1.0: dependencies: minipass: 3.3.6 - /fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + fs-minipass@3.0.3: dependencies: minipass: 7.0.4 - dev: false - /fs-monkey@1.0.5: - resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} - dev: false + fs-monkey@1.0.5: {} - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fs.realpath@1.0.0: {} - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true + fsevents@2.3.3: optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-bind@1.1.2: {} - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names@1.2.3: {} - /gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} + gauge@3.0.2: dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -6561,9 +10646,7 @@ packages: strip-ansi: 6.0.1 wide-align: 1.1.5 - /gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + gauge@4.0.4: dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -6573,23 +10656,14 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 - dev: false - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + gensync@1.0.0-beta.2: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + get-caller-file@2.0.5: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} + get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 @@ -6597,30 +10671,19 @@ packages: has-symbols: 1.0.3 hasown: 2.0.0 - /get-port-please@3.1.2: - resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} + get-port-please@3.1.2: {} - /get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - dev: true + get-stdin@9.0.0: {} - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + get-stream@6.0.1: {} - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} + get-stream@8.0.1: {} - /get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + get-tsconfig@4.7.3: dependencies: resolve-pkg-maps: 1.0.0 - /giget@1.2.1: - resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} - hasBin: true + giget@1.2.1: dependencies: citty: 0.1.6 consola: 3.2.3 @@ -6631,44 +10694,30 @@ packages: pathe: 1.1.2 tar: 6.2.0 - /git-config-path@2.0.0: - resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==} - engines: {node: '>=4'} + git-config-path@2.0.0: {} - /git-up@7.0.0: - resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + git-up@7.0.0: dependencies: is-ssh: 1.4.0 parse-url: 8.1.0 - /git-url-parse@14.0.0: - resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} + git-url-parse@14.0.0: dependencies: git-up: 7.0.0 - /github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - dev: true + github-slugger@2.0.0: {} - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob-to-regexp@0.4.1: {} - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob@10.3.10: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 @@ -6676,8 +10725,7 @@ packages: minipass: 7.0.4 path-scurry: 1.10.1 - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6686,9 +10734,7 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6696,36 +10742,21 @@ packages: minimatch: 5.1.6 once: 1.4.0 - /global-directory@4.0.1: - resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} - engines: {node: '>=18'} + global-directory@4.0.1: dependencies: ini: 4.1.1 - dev: false - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} + globals@11.12.0: {} - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} + globals@14.0.0: {} - /globals@15.0.0: - resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} - engines: {node: '>=18'} - dev: true + globals@15.0.0: {} - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -6733,22 +10764,16 @@ packages: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - dev: true - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + globby@13.2.2: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 - dev: true - /globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} - engines: {node: '>=18'} + globby@14.0.1: dependencies: '@sindresorhus/merge-streams': 2.2.0 fast-glob: 3.3.2 @@ -6757,32 +10782,23 @@ packages: slash: 5.1.0 unicorn-magic: 0.1.0 - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graceful-fs@4.2.11: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + graphemer@1.4.0: {} - /gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - dependencies: - duplexer: 0.1.2 - dev: false - - /gzip-size@7.0.0: - resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + gzip-size@6.0.0: dependencies: duplexer: 0.1.2 - /h3@1.11.1: - resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} + gzip-size@7.0.0: + dependencies: + duplexer: 0.1.2 + + h3@1.11.1: dependencies: cookie-es: 1.1.0 crossws: 0.2.4 @@ -6797,65 +10813,41 @@ packages: transitivePeerDependencies: - uWebSockets.js - /happy-dom@14.7.1: - resolution: {integrity: sha512-v60Q0evZ4clvMcrAh5/F8EdxDdfHdFrtffz/CNe10jKD+nFweZVxM91tW+UyY2L4AtpgIaXdZ7TQmiO1pfcwbg==} - engines: {node: '>=16.0.0'} + happy-dom@14.7.1: dependencies: entities: 4.5.0 webidl-conversions: 7.0.0 whatwg-mimetype: 3.0.0 - dev: true - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true + has-bigints@1.0.2: {} - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} + has-proto@1.0.1: {} - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + has-symbols@1.0.3: {} - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 - /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + has-unicode@2.0.1: {} - /has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} - engines: {node: '>= 0.4.0'} - dev: true + has@1.0.4: {} - /hash-sum@2.0.0: - resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + hash-sum@2.0.0: {} - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} + hasown@2.0.0: dependencies: function-bind: 1.1.2 - /hast-util-from-parse5@8.0.1: - resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + hast-util-from-parse5@8.0.1: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.2 @@ -6865,28 +10857,20 @@ packages: vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 - dev: true - /hast-util-heading-rank@3.0.0: - resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} + hast-util-heading-rank@3.0.0: dependencies: '@types/hast': 3.0.4 - dev: true - /hast-util-is-element@3.0.0: - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + hast-util-is-element@3.0.0: dependencies: '@types/hast': 3.0.4 - dev: true - /hast-util-parse-selector@4.0.0: - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + hast-util-parse-selector@4.0.0: dependencies: '@types/hast': 3.0.4 - dev: true - /hast-util-raw@9.0.2: - resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + hast-util-raw@9.0.2: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.2 @@ -6901,10 +10885,8 @@ packages: vfile: 6.0.1 web-namespaces: 2.0.1 zwitch: 2.0.4 - dev: true - /hast-util-to-parse5@8.0.0: - resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + hast-util-to-parse5@8.0.0: dependencies: '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 @@ -6913,64 +10895,40 @@ packages: space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 - dev: true - /hast-util-to-string@3.0.0: - resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + hast-util-to-string@3.0.0: dependencies: '@types/hast': 3.0.4 - dev: true - /hastscript@8.0.0: - resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + hastscript@8.0.0: dependencies: '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 property-information: 6.4.1 space-separated-tokens: 2.0.2 - dev: true - /he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true + he@1.2.0: {} - /hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hookable@5.5.3: {} - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true + hosted-git-info@2.8.9: {} - /hosted-git-info@7.0.1: - resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} - engines: {node: ^16.14.0 || >=18.0.0} + hosted-git-info@7.0.1: dependencies: lru-cache: 10.2.0 - dev: false - /html-entities@2.4.0: - resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} - dev: false + html-entities@2.4.0: {} - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-escaper@2.0.2: {} - /html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} + html-tags@3.3.1: {} - /html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - dev: true + html-void-elements@3.0.0: {} - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: false + http-cache-semantics@4.1.1: {} - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + http-errors@2.0.0: dependencies: depd: 2.0.0 inherits: 2.0.4 @@ -6978,154 +10936,97 @@ packages: statuses: 2.0.1 toidentifier: 1.0.1 - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} - engines: {node: '>= 14'} + http-proxy-agent@7.0.0: dependencies: agent-base: 7.1.0 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /http-shutdown@1.2.2: - resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + http-shutdown@1.2.2: {} - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 debug: 4.3.4 transitivePeerDependencies: - supports-color - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} + https-proxy-agent@7.0.2: dependencies: agent-base: 7.1.0 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /httpxy@0.1.5: - resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==} + httpxy@0.1.5: {} - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + human-signals@2.1.0: {} - /human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} + human-signals@4.3.1: {} - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} + human-signals@5.0.0: {} - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 - dev: false - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - requiresBuild: true + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 - dev: false optional: true - /icss-utils@5.1.0(postcss@8.4.38): - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + icss-utils@5.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 - dev: false - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ieee754@1.2.1: {} - /ignore-walk@6.0.3: - resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ignore-walk@6.0.3: dependencies: minimatch: 9.0.4 - dev: false - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} + ignore@5.3.1: {} - /image-meta@0.2.0: - resolution: {integrity: sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==} - dev: false + image-meta@0.2.0: {} - /immutable@4.3.4: - resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} - dev: true + immutable@4.3.4: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + imurmurhash@0.1.4: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + indent-string@4.0.0: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@1.3.8: {} - /ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ini@4.1.1: {} - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} + internal-slot@1.0.5: dependencies: get-intrinsic: 1.2.4 has: 1.0.4 side-channel: 1.0.4 - dev: true - /ioredis@5.3.2: - resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} - engines: {node: '>=12.22.0'} + ioredis@5.3.2: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 @@ -7139,333 +11040,201 @@ packages: transitivePeerDependencies: - supports-color - /ip@2.0.1: - resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} - dev: false + ip@2.0.1: {} - /iron-webcrypto@1.0.0: - resolution: {integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==} + iron-webcrypto@1.0.0: {} - /is-absolute-url@4.0.1: - resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + is-absolute-url@4.0.1: {} - /is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - dev: true + is-alphabetical@2.0.1: {} - /is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-alphanumerical@2.0.1: dependencies: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - dev: true - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} + is-arguments@1.1.1: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.2: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 is-typed-array: 1.1.12 - dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.2.1: {} - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.2.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.7: {} - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.13.1: dependencies: hasown: 2.0.0 - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - dev: true + is-decimal@2.0.1: {} - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true + is-docker@2.2.1: {} - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true + is-docker@3.0.0: {} - /is-expression@4.0.0: - resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} + is-expression@4.0.0: dependencies: acorn: 7.4.1 object-assign: 4.1.1 - dev: false - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - dev: true + is-hexadecimal@2.0.1: {} - /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 - /is-installed-globally@1.0.0: - resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} - engines: {node: '>=18'} + is-installed-globally@1.0.0: dependencies: global-directory: 4.0.1 is-path-inside: 4.0.0 - dev: false - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: false + is-lambda@1.0.1: {} - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - dev: true + is-map@2.0.2: {} - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + is-module@1.0.0: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-number@7.0.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + is-path-inside@3.0.3: {} - /is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} - dev: false + is-path-inside@4.0.0: {} - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: true + is-plain-obj@4.1.0: {} - /is-primitive@3.0.1: - resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} - engines: {node: '>=0.10.0'} + is-primitive@3.0.1: {} - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: false + is-promise@2.2.2: {} - /is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + is-reference@1.2.1: dependencies: '@types/estree': 1.0.5 - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - dev: true + is-set@2.0.2: {} - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 - dev: true - /is-ssh@1.4.0: - resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + is-ssh@1.4.0: dependencies: protocols: 2.0.1 - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + is-stream@2.0.1: {} - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-stream@3.0.0: {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.12: dependencies: which-typed-array: 1.1.14 - dev: true - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - dev: true + is-weakmap@2.0.1: {} - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakset@2.0.2: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - dev: true - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 - /is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} + is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 - /is64bit@2.0.0: - resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} - engines: {node: '>=18'} + is64bit@2.0.0: dependencies: system-architecture: 0.1.0 - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@1.0.0: {} - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@2.0.5: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@2.0.0: {} - /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - dev: false + isexe@3.1.1: {} - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true + istanbul-lib-coverage@3.2.2: {} - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 - dev: true - /istanbul-lib-source-maps@5.0.4: - resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} - engines: {node: '>=10'} + istanbul-lib-source-maps@5.0.4: dependencies: '@jridgewell/trace-mapping': 0.3.25 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color - dev: true - /istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} - engines: {node: '>=8'} + istanbul-reports@3.1.6: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - dev: true - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -7473,199 +11242,120 @@ packages: ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: false - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + jest-worker@27.5.1: dependencies: '@types/node': 20.12.7 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@29.7.0: dependencies: '@types/node': 20.12.7 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: false - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true + jiti@1.21.0: {} - /js-beautify@1.14.9: - resolution: {integrity: sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==} - engines: {node: '>=12'} - hasBin: true + js-beautify@1.14.9: dependencies: config-chain: 1.1.13 editorconfig: 1.0.4 glob: 8.1.0 nopt: 6.0.0 - dev: true - /js-stringify@1.0.2: - resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} - dev: false + js-stringify@1.0.2: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - requiresBuild: true + js-tokens@4.0.0: {} - /js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + js-tokens@9.0.0: {} - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - /jsdoc-type-pratt-parser@4.0.0: - resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} - engines: {node: '>=12.0.0'} - dev: true + jsdoc-type-pratt-parser@4.0.0: {} - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true + jsesc@0.5.0: {} - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true + jsesc@2.5.2: {} - /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - dev: true + jsesc@3.0.2: {} - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-buffer@3.0.1: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-parse-even-better-errors@2.3.1: {} - /json-parse-even-better-errors@3.0.0: - resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + json-parse-even-better-errors@3.0.0: {} - /json-schema-to-typescript-lite@14.0.0: - resolution: {integrity: sha512-On0b6UdEgdotLzWk37yNId2wK77P7UfxuCWDEgduoz1VLR4rPbDcQGW6zlHVgL62Bq7gERq0JMmUyAjJigxYHg==} - engines: {node: '>=20.0.0'} + json-schema-to-typescript-lite@14.0.0: dependencies: '@apidevtools/json-schema-ref-parser': 11.5.4 '@types/json-schema': 7.0.15 - dev: true - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@0.4.1: {} - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-schema-traverse@1.0.0: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stable-stringify-without-jsonify@1.0.1: {} - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json5@1.0.2: dependencies: minimist: 1.2.8 - dev: false - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true + json5@2.2.3: {} - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + jsonc-parser@3.2.1: {} - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: false + jsonparse@1.3.1: {} - /jstransformer@1.0.0: - resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} + jstransformer@1.0.0: dependencies: is-promise: 2.2.2 promise: 7.3.1 - dev: false - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: false + kleur@3.0.3: {} - /klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} + klona@2.0.6: {} - /knitwork@1.1.0: - resolution: {integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==} + knitwork@1.1.0: {} - /kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - dev: false + kolorist@1.8.0: {} - /launch-editor@2.6.1: - resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + launch-editor@2.6.1: dependencies: picocolors: 1.0.0 shell-quote: 1.8.1 - dev: false - /lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} + lazystream@1.0.1: dependencies: readable-stream: 2.3.8 - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - /lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} - dev: false + lilconfig@3.1.1: {} - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lines-and-columns@1.2.4: {} - /linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + linkify-it@5.0.0: dependencies: uc.micro: 2.0.0 - dev: true - /listhen@1.7.2: - resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} - hasBin: true + listhen@1.7.2: dependencies: '@parcel/watcher': 2.4.1 '@parcel/watcher-wasm': 2.4.1 @@ -7688,153 +11378,96 @@ packages: transitivePeerDependencies: - uWebSockets.js - /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} + loader-runner@4.3.0: {} - /loader-utils@1.4.2: - resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} - engines: {node: '>=4.0.0'} + loader-utils@1.4.2: dependencies: big.js: 5.2.2 emojis-list: 3.0.0 json5: 1.0.2 - dev: false - /loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} + loader-utils@2.0.4: dependencies: big.js: 5.2.2 emojis-list: 3.0.0 json5: 2.2.3 - /local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} - dev: false + local-pkg@0.4.3: {} - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} + local-pkg@0.5.0: dependencies: mlly: 1.6.1 pkg-types: 1.0.3 - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + locate-path@7.2.0: dependencies: p-locate: 6.0.0 - dev: true - /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + lodash-es@4.17.21: {} - /lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + lodash.defaults@4.2.0: {} - /lodash.isarguments@3.1.0: - resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + lodash.isarguments@3.1.0: {} - /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: false + lodash.memoize@4.1.2: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.merge@4.6.2: {} - /lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - dev: false + lodash.uniq@4.5.0: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.21: {} - /longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - dev: true + longest-streak@3.1.0: {} - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@2.3.7: dependencies: get-func-name: 2.0.2 - dev: true - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + lru-cache@10.2.0: {} - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: false + lru-cache@7.18.3: {} - /lz-string@1.5.0: - resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true - dev: true + lz-string@1.5.0: {} - /magic-string-ast@0.3.0: - resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} - engines: {node: '>=16.14.0'} + magic-string-ast@0.3.0: dependencies: magic-string: 0.30.9 - dev: false - /magic-string@0.30.9: - resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} - engines: {node: '>=12'} + magic-string@0.30.9: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + magicast@0.3.3: dependencies: '@babel/parser': 7.24.1 '@babel/types': 7.24.0 source-map-js: 1.2.0 - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + make-dir@3.1.0: dependencies: semver: 6.3.1 - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + make-dir@4.0.0: dependencies: semver: 7.6.0 - dev: true - /make-fetch-happen@11.1.1: - resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + make-fetch-happen@11.1.1: dependencies: agentkeepalive: 4.5.0 cacache: 17.1.4 @@ -7853,11 +11486,8 @@ packages: ssri: 10.0.5 transitivePeerDependencies: - supports-color - dev: false - /make-fetch-happen@13.0.0: - resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} - engines: {node: ^16.14.0 || >=18.0.0} + make-fetch-happen@13.0.0: dependencies: '@npmcli/agent': 2.2.0 cacache: 18.0.0 @@ -7872,11 +11502,8 @@ packages: ssri: 10.0.5 transitivePeerDependencies: - supports-color - dev: false - /markdown-it@14.0.0: - resolution: {integrity: sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==} - hasBin: true + markdown-it@14.0.0: dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -7884,22 +11511,14 @@ packages: mdurl: 2.0.0 punycode.js: 2.3.1 uc.micro: 2.0.0 - dev: true - /markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + markdown-table@2.0.0: dependencies: repeat-string: 1.6.1 - dev: false - /markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - dev: true + markdown-table@3.0.3: {} - /markdownlint-cli@0.39.0: - resolution: {integrity: sha512-ZuFN7Xpsbn1Nbp0YYkeLOfXOMOfLQBik2lKRy8pVI/llmKQ2uW7x+8k5OMgF6o7XCsTDSYC/OOmeJ+3qplvnJQ==} - engines: {node: '>=18'} - hasBin: true + markdownlint-cli@0.39.0: dependencies: commander: 11.1.0 get-stdin: 9.0.0 @@ -7910,32 +11529,22 @@ packages: markdownlint: 0.33.0 minimatch: 9.0.4 run-con: 1.3.2 - dev: true - /markdownlint-micromark@0.1.8: - resolution: {integrity: sha512-1ouYkMRo9/6gou9gObuMDnvZM8jC/ly3QCFQyoSPCS2XV1ZClU0xpKbL1Ar3bWWRT1RnBZkWUEiNKrI2CwiBQA==} - engines: {node: '>=16'} - dev: true + markdownlint-micromark@0.1.8: {} - /markdownlint@0.33.0: - resolution: {integrity: sha512-4lbtT14A3m0LPX1WS/3d1m7Blg+ZwiLq36WvjQqFGsX3Gik99NV+VXp/PW3n+Q62xyPdbvGOCfjPqjW+/SKMig==} - engines: {node: '>=18'} + markdownlint@0.33.0: dependencies: markdown-it: 14.0.0 markdownlint-micromark: 0.1.8 - dev: true - /mdast-util-find-and-replace@3.0.1: - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + mdast-util-find-and-replace@3.0.1: dependencies: '@types/mdast': 4.0.3 escape-string-regexp: 5.0.0 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - dev: true - /mdast-util-from-markdown@2.0.0: - resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + mdast-util-from-markdown@2.0.0: dependencies: '@types/mdast': 4.0.3 '@types/unist': 3.0.2 @@ -7951,20 +11560,16 @@ packages: unist-util-stringify-position: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-autolink-literal@2.0.0: - resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + mdast-util-gfm-autolink-literal@2.0.0: dependencies: '@types/mdast': 4.0.3 ccount: 2.0.1 devlop: 1.1.0 mdast-util-find-and-replace: 3.0.1 micromark-util-character: 2.1.0 - dev: true - /mdast-util-gfm-footnote@2.0.0: - resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + mdast-util-gfm-footnote@2.0.0: dependencies: '@types/mdast': 4.0.3 devlop: 1.1.0 @@ -7973,20 +11578,16 @@ packages: micromark-util-normalize-identifier: 2.0.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + mdast-util-gfm-strikethrough@2.0.0: dependencies: '@types/mdast': 4.0.3 mdast-util-from-markdown: 2.0.0 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + mdast-util-gfm-table@2.0.0: dependencies: '@types/mdast': 4.0.3 devlop: 1.1.0 @@ -7995,10 +11596,8 @@ packages: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + mdast-util-gfm-task-list-item@2.0.0: dependencies: '@types/mdast': 4.0.3 devlop: 1.1.0 @@ -8006,10 +11605,8 @@ packages: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm@3.0.0: - resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + mdast-util-gfm@3.0.0: dependencies: mdast-util-from-markdown: 2.0.0 mdast-util-gfm-autolink-literal: 2.0.0 @@ -8020,17 +11617,13 @@ packages: mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + mdast-util-phrasing@4.1.0: dependencies: '@types/mdast': 4.0.3 unist-util-is: 6.0.0 - dev: true - /mdast-util-to-hast@13.1.0: - resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + mdast-util-to-hast@13.1.0: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.3 @@ -8041,10 +11634,8 @@ packages: unist-util-position: 5.0.0 unist-util-visit: 5.0.0 vfile: 6.0.1 - dev: true - /mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + mdast-util-to-markdown@2.1.0: dependencies: '@types/mdast': 4.0.3 '@types/unist': 3.0.2 @@ -8054,56 +11645,35 @@ packages: micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 zwitch: 2.0.4 - dev: true - /mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdast-util-to-string@4.0.0: dependencies: '@types/mdast': 4.0.3 - dev: true - /mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - dev: false + mdn-data@2.0.28: {} - /mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - dev: false + mdn-data@2.0.30: {} - /mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - dev: true + mdurl@2.0.0: {} - /memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} + memfs@3.5.3: dependencies: fs-monkey: 1.0.5 - dev: false - /memfs@4.8.1: - resolution: {integrity: sha512-7q/AdPzf2WpwPlPL4v1kE2KsJsHl7EF4+hAeVzlyanr2+YnR21NVn9mDqo+7DEaKDRsQy8nvxPlKH4WqMtiO0w==} - engines: {node: '>= 4.0.0'} + memfs@4.8.1: dependencies: tslib: 2.6.2 - /memory-fs@0.5.0: - resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} - engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + memory-fs@0.5.0: dependencies: errno: 0.1.8 readable-stream: 2.3.8 - dev: false - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + merge2@1.4.1: {} - /micromark-core-commonmark@2.0.0: - resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + micromark-core-commonmark@2.0.0: dependencies: decode-named-character-reference: 1.0.2 devlop: 1.1.0 @@ -8121,19 +11691,15 @@ packages: micromark-util-subtokenize: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-autolink-literal@2.0.0: - resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + micromark-extension-gfm-autolink-literal@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-sanitize-uri: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-footnote@2.0.0: - resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + micromark-extension-gfm-footnote@2.0.0: dependencies: devlop: 1.1.0 micromark-core-commonmark: 2.0.0 @@ -8143,10 +11709,8 @@ packages: micromark-util-sanitize-uri: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + micromark-extension-gfm-strikethrough@2.0.0: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.0 @@ -8154,36 +11718,28 @@ packages: micromark-util-resolve-all: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-table@2.0.0: - resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + micromark-extension-gfm-table@2.0.0: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + micromark-extension-gfm-tagfilter@2.0.0: dependencies: micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm-task-list-item@2.0.1: - resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + micromark-extension-gfm-task-list-item@2.0.1: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + micromark-extension-gfm@3.0.0: dependencies: micromark-extension-gfm-autolink-literal: 2.0.0 micromark-extension-gfm-footnote: 2.0.0 @@ -8193,140 +11749,100 @@ packages: micromark-extension-gfm-task-list-item: 2.0.1 micromark-util-combine-extensions: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-factory-destination@2.0.0: - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + micromark-factory-destination@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-factory-label@2.0.0: - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + micromark-factory-label@2.0.0: dependencies: devlop: 1.1.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-factory-space@2.0.0: - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + micromark-factory-space@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 - dev: true - /micromark-factory-title@2.0.0: - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + micromark-factory-title@2.0.0: dependencies: micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-factory-whitespace@2.0.0: - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + micromark-factory-whitespace@2.0.0: dependencies: micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-util-character@2.1.0: - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + micromark-util-character@2.1.0: dependencies: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-util-chunked@2.0.0: - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + micromark-util-chunked@2.0.0: dependencies: micromark-util-symbol: 2.0.0 - dev: true - /micromark-util-classify-character@2.0.0: - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + micromark-util-classify-character@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-util-combine-extensions@2.0.0: - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + micromark-util-combine-extensions@2.0.0: dependencies: micromark-util-chunked: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-util-decode-numeric-character-reference@2.0.1: - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + micromark-util-decode-numeric-character-reference@2.0.1: dependencies: micromark-util-symbol: 2.0.0 - dev: true - /micromark-util-decode-string@2.0.0: - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + micromark-util-decode-string@2.0.0: dependencies: decode-named-character-reference: 1.0.2 micromark-util-character: 2.1.0 micromark-util-decode-numeric-character-reference: 2.0.1 micromark-util-symbol: 2.0.0 - dev: true - /micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} - dev: true + micromark-util-encode@2.0.0: {} - /micromark-util-html-tag-name@2.0.0: - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} - dev: true + micromark-util-html-tag-name@2.0.0: {} - /micromark-util-normalize-identifier@2.0.0: - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + micromark-util-normalize-identifier@2.0.0: dependencies: micromark-util-symbol: 2.0.0 - dev: true - /micromark-util-resolve-all@2.0.0: - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + micromark-util-resolve-all@2.0.0: dependencies: micromark-util-types: 2.0.0 - dev: true - /micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-sanitize-uri@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 - dev: true - /micromark-util-subtokenize@2.0.0: - resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + micromark-util-subtokenize@2.0.0: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: true - /micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} - dev: true + micromark-util-symbol@2.0.0: {} - /micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} - dev: true + micromark-util-types@2.0.0: {} - /micromark@4.0.0: - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromark@4.0.0: dependencies: '@types/debug': 4.1.12 debug: 4.3.4 @@ -8347,201 +11863,113 @@ packages: micromark-util-types: 2.0.0 transitivePeerDependencies: - supports-color - dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true + mime@1.6.0: {} - /mime@2.5.2: - resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: false + mime@2.5.2: {} - /mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true + mime@3.0.0: {} - /mime@4.0.1: - resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} - engines: {node: '>=16'} - hasBin: true + mime@4.0.1: {} - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + mimic-fn@2.1.0: {} - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} + mimic-fn@4.0.0: {} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true + min-indent@1.0.1: {} - /mini-css-extract-plugin@2.8.1(webpack@5.91.0): - resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 + mini-css-extract-plugin@2.8.1(webpack@5.91.0): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 webpack: 5.91.0 - dev: false - /minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} - dependencies: - brace-expansion: 1.1.11 - dev: false - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.0.8: dependencies: brace-expansion: 1.1.11 - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - /minimatch@9.0.1: - resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.1: dependencies: brace-expansion: 2.0.1 - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 - /minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass-collect@1.0.2: dependencies: minipass: 3.3.6 - dev: false - /minipass-fetch@3.0.4: - resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + minipass-fetch@3.0.4: dependencies: minipass: 7.0.4 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 - dev: false - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} + minipass-flush@1.0.5: dependencies: minipass: 3.3.6 - dev: false - /minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + minipass-json-stream@1.0.1: dependencies: jsonparse: 1.3.1 minipass: 3.3.6 - dev: false - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} + minipass-pipeline@1.2.4: dependencies: minipass: 3.3.6 - dev: false - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} + minipass-sized@1.0.3: dependencies: minipass: 3.3.6 - dev: false - /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} + minipass@3.3.6: dependencies: yallist: 4.0.0 - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} + minipass@5.0.0: {} - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} + minipass@7.0.4: {} - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + minizlib@2.1.2: dependencies: minipass: 3.3.6 yallist: 4.0.0 - /mitt@2.1.0: - resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} - dev: false + mitt@2.1.0: {} - /mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - dev: false + mitt@3.0.1: {} - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true + mkdirp@1.0.4: {} - /mkdist@1.3.0(typescript@5.4.5): - resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} - hasBin: true - peerDependencies: - sass: ^1.63.6 - typescript: '>=5.1.6' - peerDependenciesMeta: - sass: - optional: true - typescript: - optional: true + mkdist@1.3.0(sass@1.69.4)(typescript@5.4.5): dependencies: citty: 0.1.6 defu: 6.1.4 @@ -8552,76 +11980,44 @@ packages: mlly: 1.6.1 mri: 1.2.0 pathe: 1.1.2 + optionalDependencies: + sass: 1.69.4 typescript: 5.4.5 - dev: true - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + mlly@1.6.1: dependencies: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.5.3 - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} + mri@1.2.0: {} - /mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} - engines: {node: '>=10'} - dev: false + mrmime@2.0.0: {} - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + ms@2.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + ms@2.1.3: {} - /muggle-string@0.3.1: - resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} - dev: true + muggle-string@0.3.1: {} - /muggle-string@0.4.1: - resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + muggle-string@0.4.1: {} - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + nanoid@3.3.7: {} - /nanoid@5.0.7: - resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} - engines: {node: ^18 || >=20} - hasBin: true + nanoid@5.0.7: {} - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true + natural-compare-lite@1.4.0: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + natural-compare@1.4.0: {} - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: false + negotiator@0.6.3: {} - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + neo-async@2.6.2: {} - /nitropack@2.9.6: - resolution: {integrity: sha512-HP2PE0dREcDIBVkL8Zm6eVyrDd10/GI9hTL00PHvjUM8I9Y/2cv73wRDmxNyInfrx/CJKHATb2U/pQrqpzJyXA==} - engines: {node: ^16.11.0 || >=17.0.0} - hasBin: true - peerDependencies: - xml2js: ^0.6.2 - peerDependenciesMeta: - xml2js: - optional: true + nitropack@2.9.6(encoding@0.1.13): dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 @@ -8634,7 +12030,7 @@ packages: '@rollup/plugin-terser': 0.4.4(rollup@4.14.2) '@rollup/pluginutils': 5.1.0(rollup@4.14.2) '@types/http-proxy': 1.17.14 - '@vercel/nft': 0.26.4 + '@vercel/nft': 0.26.4(encoding@0.1.13) archiver: 7.0.1 c12: 1.10.0 chalk: 5.3.0 @@ -8710,49 +12106,30 @@ packages: - supports-color - uWebSockets.js - /node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - dev: false + node-abort-controller@3.1.1: {} - /node-addon-api@7.0.0: - resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==} + node-addon-api@7.0.0: {} - /node-emoji@2.1.3: - resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} - engines: {node: '>=18'} + node-emoji@2.1.3: dependencies: '@sindresorhus/is': 4.6.0 char-regex: 1.0.2 emojilib: 2.4.0 skin-tone: 2.0.0 - dev: true - /node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + node-fetch-native@1.6.4: {} - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 - /node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} + node-forge@1.3.1: {} - /node-gyp-build@4.6.1: - resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} - hasBin: true + node-gyp-build@4.6.1: {} - /node-gyp@9.4.0: - resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} - engines: {node: ^12.13 || ^14.13 || >=16} - hasBin: true + node-gyp@9.4.0: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 @@ -8767,102 +12144,64 @@ packages: which: 2.0.2 transitivePeerDependencies: - supports-color - dev: false - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.14: {} - /nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true + nopt@5.0.0: dependencies: abbrev: 1.1.1 - /nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true + nopt@6.0.0: dependencies: abbrev: 1.1.1 - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data@6.0.0: - resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} - engines: {node: ^16.14.0 || >=18.0.0} + normalize-package-data@6.0.0: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 semver: 7.6.0 validate-npm-package-license: 3.0.4 - dev: false - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + normalize-path@3.0.0: {} - /normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - dev: false + normalize-range@0.1.2: {} - /npm-bundled@3.0.0: - resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-bundled@3.0.0: dependencies: npm-normalize-package-bin: 3.0.1 - dev: false - /npm-install-checks@6.3.0: - resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-install-checks@6.3.0: dependencies: semver: 7.6.0 - dev: false - /npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + npm-normalize-package-bin@3.0.1: {} - /npm-package-arg@11.0.1: - resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} - engines: {node: ^16.14.0 || >=18.0.0} + npm-package-arg@11.0.1: dependencies: hosted-git-info: 7.0.1 proc-log: 3.0.0 semver: 7.6.0 validate-npm-package-name: 5.0.0 - dev: false - /npm-packlist@8.0.0: - resolution: {integrity: sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-packlist@8.0.0: dependencies: ignore-walk: 6.0.3 - dev: false - /npm-pick-manifest@9.0.0: - resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} - engines: {node: ^16.14.0 || >=18.0.0} + npm-pick-manifest@9.0.0: dependencies: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 11.0.1 semver: 7.6.0 - dev: false - /npm-registry-fetch@16.1.0: - resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} - engines: {node: ^16.14.0 || >=18.0.0} + npm-registry-fetch@16.1.0: dependencies: make-fetch-happen: 13.0.0 minipass: 7.0.4 @@ -8873,55 +12212,38 @@ packages: proc-log: 3.0.0 transitivePeerDependencies: - supports-color - dev: false - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.1.0: dependencies: path-key: 4.0.0 - /npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + npmlog@5.0.1: dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 gauge: 3.0.2 set-blocking: 2.0.0 - /npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + npmlog@6.0.2: dependencies: are-we-there-yet: 3.0.1 console-control-strings: 1.1.0 gauge: 4.0.4 set-blocking: 2.0.0 - dev: false - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 - /nuxi@3.11.1: - resolution: {integrity: sha512-AW71TpxRHNg8MplQVju9tEFvXPvX42e0wPYknutSStDuAjV99vWTWYed4jxr/grk2FtKAuv2KvdJxcn2W59qyg==} - engines: {node: ^16.10.0 || >=18.0.0} - hasBin: true + nuxi@3.11.1: optionalDependencies: fsevents: 2.3.3 - /nuxt-content-twoslash@0.0.10(@nuxtjs/mdc@0.5.0): - resolution: {integrity: sha512-rnSX+qiMvCGMrUBWbHUidxQazw7NlCs80bK1uJ9gwXd2rupM7/niko/3b57jIJUZnDIhlvePk2eWpRDskvfajg==} - hasBin: true - peerDependencies: - '@nuxtjs/mdc': '>=0.5.0' + nuxt-content-twoslash@0.0.10(@nuxtjs/mdc@0.5.0): dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -8940,12 +12262,8 @@ packages: unist-util-visit: 5.0.0 transitivePeerDependencies: - supports-color - dev: true - /nypm@0.3.8: - resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} - engines: {node: ^14.16.0 || >=16.10.0} - hasBin: true + nypm@0.3.8: dependencies: citty: 0.1.6 consola: 3.2.3 @@ -8953,101 +12271,69 @@ packages: pathe: 1.1.2 ufo: 1.5.3 - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + object-assign@4.1.1: {} - /object-inspect@1.13.0: - resolution: {integrity: sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==} - dev: true + object-inspect@1.13.0: {} - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} + object-is@1.1.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - dev: true - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-keys@1.1.1: {} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.4: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /ofetch@1.3.4: - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + ofetch@1.3.4: dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 ufo: 1.5.3 - /ohash@1.1.3: - resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + ohash@1.1.3: {} - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - /open@10.1.0: - resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} - engines: {node: '>=18'} + open@10.1.0: dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 is-inside-container: 1.0.0 is-wsl: 3.1.0 - dev: false - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - /open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} + 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 - dev: true - /openapi-typescript@6.7.5: - resolution: {integrity: sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA==} - hasBin: true + openapi-typescript@6.7.5: dependencies: ansi-colors: 4.1.3 fast-glob: 3.3.2 @@ -9056,14 +12342,9 @@ packages: undici: 5.28.3 yargs-parser: 21.1.1 - /opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true - dev: false + opener@1.5.2: {} - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -9072,69 +12353,41 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-limit@4.0.0: dependencies: yocto-queue: 1.0.0 - dev: true - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} + p-limit@5.0.0: dependencies: yocto-queue: 1.0.0 - dev: true - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-locate@6.0.0: dependencies: p-limit: 4.0.0 - dev: true - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - dev: false - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true + p-try@2.2.0: {} - /pacote@17.0.6: - resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true + pacote@17.0.6: dependencies: '@npmcli/git': 5.0.3 '@npmcli/installed-package-contents': 2.0.2 @@ -9157,16 +12410,12 @@ packages: transitivePeerDependencies: - bluebird - supports-color - dev: false - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - /parse-entities@4.0.1: - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + parse-entities@4.0.1: dependencies: '@types/unist': 2.0.10 character-entities: 2.0.2 @@ -9176,635 +12425,350 @@ packages: is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 - dev: true - /parse-git-config@3.0.0: - resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==} - engines: {node: '>=8'} + parse-git-config@3.0.0: dependencies: git-config-path: 2.0.0 ini: 1.3.8 - /parse-gitignore@2.0.0: - resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} - engines: {node: '>=14'} - dev: true + parse-gitignore@2.0.0: {} - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - /parse-path@7.0.0: - resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + parse-path@7.0.0: dependencies: protocols: 2.0.1 - /parse-url@8.1.0: - resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + parse-url@8.1.0: dependencies: parse-path: 7.0.0 - /parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5@7.1.2: dependencies: entities: 4.5.0 - dev: true - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + parseurl@1.3.3: {} - /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-browserify@1.0.1: {} - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + path-exists@4.0.0: {} - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + path-exists@5.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + path-is-absolute@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-key@3.1.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} + path-key@4.0.0: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.10.1: dependencies: lru-cache: 10.2.0 minipass: 7.0.4 - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-type@4.0.0: {} - /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} + path-type@5.0.0: {} - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@1.1.2: {} - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + pathval@1.1.1: {} - /perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + perfect-debounce@1.0.0: {} - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picomatch@2.3.1: {} - /picomatch@4.0.1: - resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} - engines: {node: '>=12'} - dev: true + picomatch@4.0.1: {} - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: false + pify@2.3.0: {} - /pify@6.1.0: - resolution: {integrity: sha512-KocF8ve28eFjjuBKKGvzOBGzG8ew2OqOOSxTTZhirkzH7h3BI1vyzqlR0qbfcDBve1Yzo3FVlWUAtCRrbVN8Fw==} - engines: {node: '>=14.16'} - dev: false + pify@6.1.0: {} - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.0.3: dependencies: jsonc-parser: 3.2.1 mlly: 1.6.1 pathe: 1.1.2 - /playwright-core@1.43.1: - resolution: {integrity: sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==} - engines: {node: '>=16'} - hasBin: true - dev: true + playwright-core@1.43.1: {} - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true + pluralize@8.0.0: {} - /postcss-calc@9.0.1(postcss@8.4.38): - resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.2 + postcss-calc@9.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 - dev: false - /postcss-colormin@6.1.0(postcss@8.4.38): - resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-colormin@6.1.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-convert-values@6.1.0(postcss@8.4.38): - resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-convert-values@6.1.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-discard-comments@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-discard-comments@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 - dev: false - /postcss-discard-duplicates@6.0.3(postcss@8.4.38): - resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-discard-duplicates@6.0.3(postcss@8.4.38): dependencies: postcss: 8.4.38 - dev: false - /postcss-discard-empty@6.0.3(postcss@8.4.38): - resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-discard-empty@6.0.3(postcss@8.4.38): dependencies: postcss: 8.4.38 - dev: false - /postcss-discard-overridden@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-discard-overridden@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 - dev: false - /postcss-import-resolver@2.0.0: - resolution: {integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==} + postcss-import-resolver@2.0.0: dependencies: enhanced-resolve: 4.5.0 - dev: false - /postcss-import@16.1.0(postcss@8.4.38): - resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==} - engines: {node: '>=18.0.0'} - peerDependencies: - postcss: ^8.0.0 + postcss-import@16.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - dev: false - /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0): - resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} - engines: {node: '>= 18.12.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true + postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0): dependencies: cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.0 postcss: 8.4.38 semver: 7.6.0 + optionalDependencies: webpack: 5.91.0 transitivePeerDependencies: - typescript - dev: false - /postcss-merge-longhand@6.0.5(postcss@8.4.38): - resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-merge-longhand@6.0.5(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 stylehacks: 6.1.1(postcss@8.4.38) - dev: false - /postcss-merge-rules@6.1.1(postcss@8.4.38): - resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-merge-rules@6.1.1(postcss@8.4.38): dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 cssnano-utils: 4.0.2(postcss@8.4.38) postcss: 8.4.38 postcss-selector-parser: 6.0.16 - dev: false - /postcss-minify-font-values@6.1.0(postcss@8.4.38): - resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-minify-font-values@6.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-gradients@6.0.3(postcss@8.4.38): - resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-minify-gradients@6.0.3(postcss@8.4.38): dependencies: colord: 2.9.3 cssnano-utils: 4.0.2(postcss@8.4.38) postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-params@6.1.0(postcss@8.4.38): - resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-minify-params@6.1.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 cssnano-utils: 4.0.2(postcss@8.4.38) postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-selectors@6.0.4(postcss@8.4.38): - resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-minify-selectors@6.0.4(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-selector-parser: 6.0.16 - dev: false - /postcss-modules-extract-imports@3.1.0(postcss@8.4.38): - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + postcss-modules-extract-imports@3.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 - dev: false - /postcss-modules-local-by-default@4.0.5(postcss@8.4.38): - resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + postcss-modules-local-by-default@4.0.5(postcss@8.4.38): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 - dev: false - /postcss-modules-scope@3.2.0(postcss@8.4.38): - resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + postcss-modules-scope@3.2.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-selector-parser: 6.0.16 - dev: false - /postcss-modules-values@4.0.0(postcss@8.4.38): - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + postcss-modules-values@4.0.0(postcss@8.4.38): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 - dev: false - /postcss-normalize-charset@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-charset@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 - dev: false - /postcss-normalize-display-values@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-display-values@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-positions@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-positions@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-repeat-style@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-repeat-style@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-string@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-string@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-timing-functions@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-timing-functions@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-unicode@6.1.0(postcss@8.4.38): - resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-unicode@6.1.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-url@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-url@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-whitespace@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-normalize-whitespace@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-ordered-values@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-ordered-values@6.0.2(postcss@8.4.38): dependencies: cssnano-utils: 4.0.2(postcss@8.4.38) postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-reduce-initial@6.1.0(postcss@8.4.38): - resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-reduce-initial@6.1.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 postcss: 8.4.38 - dev: false - /postcss-reduce-transforms@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-reduce-transforms@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 - dev: false - /postcss-selector-parser@6.0.16: - resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} - engines: {node: '>=4'} + postcss-selector-parser@6.0.16: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo@6.0.3(postcss@8.4.38): - resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} - engines: {node: ^14 || ^16 || >= 18} - peerDependencies: - postcss: ^8.4.31 + postcss-svgo@6.0.3(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 svgo: 3.2.0 - dev: false - /postcss-unique-selectors@6.0.4(postcss@8.4.38): - resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + postcss-unique-selectors@6.0.4(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-selector-parser: 6.0.16 - dev: false - /postcss-url@10.1.3(postcss@8.4.38): - resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} - engines: {node: '>=10'} - peerDependencies: - postcss: ^8.0.0 + postcss-url@10.1.3(postcss@8.4.38): dependencies: make-dir: 3.1.0 mime: 2.5.2 minimatch: 3.0.8 postcss: 8.4.38 xxhashjs: 0.2.2 - dev: false - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: false + postcss-value-parser@4.2.0: {} - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + prelude-ls@1.2.1: {} - /pretty-bytes@6.1.1: - resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} - engines: {node: ^14.13.1 || >=16.0.0} + pretty-bytes@6.1.1: {} - /pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 react-is: 17.0.2 - dev: true - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true - /pretty-time@1.1.0: - resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} - engines: {node: '>=4'} - dev: false + pretty-time@1.1.0: {} - /proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + proc-log@3.0.0: {} - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process-nextick-args@2.0.1: {} - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} + process@0.11.10: {} - /promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - dev: false + promise-inflight@1.0.1: {} - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + promise-retry@2.0.1: dependencies: err-code: 2.0.3 retry: 0.12.0 - dev: false - /promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + promise@7.3.1: dependencies: asap: 2.0.6 - dev: false - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: false - /property-information@6.4.1: - resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} - dev: true + property-information@6.4.1: {} - /proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - dev: true + proto-list@1.2.4: {} - /protocols@2.0.1: - resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + protocols@2.0.1: {} - /prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - dev: false + prr@1.0.1: {} - /pug-attrs@3.0.0: - resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} + pug-attrs@3.0.0: dependencies: constantinople: 4.0.1 js-stringify: 1.0.2 pug-runtime: 3.0.1 - dev: false - /pug-code-gen@3.0.2: - resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==} + pug-code-gen@3.0.2: dependencies: constantinople: 4.0.1 doctypes: 1.1.0 @@ -9814,76 +12778,52 @@ packages: pug-runtime: 3.0.1 void-elements: 3.1.0 with: 7.0.2 - dev: false - /pug-error@2.0.0: - resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==} - dev: false + pug-error@2.0.0: {} - /pug-filters@4.0.0: - resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} + pug-filters@4.0.0: dependencies: constantinople: 4.0.1 jstransformer: 1.0.0 pug-error: 2.0.0 pug-walk: 2.0.0 resolve: 1.22.8 - dev: false - /pug-lexer@5.0.1: - resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} + pug-lexer@5.0.1: dependencies: character-parser: 2.2.0 is-expression: 4.0.0 pug-error: 2.0.0 - dev: false - /pug-linker@4.0.0: - resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} + pug-linker@4.0.0: dependencies: pug-error: 2.0.0 pug-walk: 2.0.0 - dev: false - /pug-load@3.0.0: - resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} + pug-load@3.0.0: dependencies: object-assign: 4.1.1 pug-walk: 2.0.0 - dev: false - /pug-parser@6.0.0: - resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} + pug-parser@6.0.0: dependencies: pug-error: 2.0.0 token-stream: 1.0.0 - dev: false - /pug-plain-loader@1.1.0(pug@3.0.2): - resolution: {integrity: sha512-1nYgIJLaahRuHJHhzSPODV44aZfb00bO7kiJiMkke6Hj4SVZftuvx6shZ4BOokk50dJc2RSFqNUBOlus0dniFQ==} - peerDependencies: - pug: ^2.0.0 || ^3.0.0 + pug-plain-loader@1.1.0(pug@3.0.2): dependencies: loader-utils: 1.4.2 pug: 3.0.2 - dev: false - /pug-runtime@3.0.1: - resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} - dev: false + pug-runtime@3.0.1: {} - /pug-strip-comments@2.0.0: - resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} + pug-strip-comments@2.0.0: dependencies: pug-error: 2.0.0 - dev: false - /pug-walk@2.0.0: - resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} - dev: false + pug-walk@2.0.0: {} - /pug@3.0.2: - resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==} + pug@3.0.2: dependencies: pug-code-gen: 3.0.2 pug-filters: 4.0.0 @@ -9893,94 +12833,62 @@ packages: pug-parser: 6.0.0 pug-runtime: 3.0.1 pug-strip-comments: 2.0.0 - dev: false - /punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - dev: true + punycode.js@2.3.1: {} - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} + punycode@2.3.0: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-microtask@1.2.3: {} - /queue-tick@1.0.1: - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + queue-tick@1.0.1: {} - /radix3@1.1.2: - resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + radix3@1.1.2: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} + range-parser@1.2.1: {} - /rc9@2.1.2: - resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + rc9@2.1.2: dependencies: defu: 6.1.4 destr: 2.0.3 - /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: true + react-is@17.0.2: {} - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + react-is@18.2.0: {} - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-cache@1.0.0: dependencies: pify: 2.3.0 - dev: false - /read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + read-package-json-fast@3.0.2: dependencies: json-parse-even-better-errors: 3.0.0 npm-normalize-package-bin: 3.0.1 - dev: false - /read-package-json@7.0.0: - resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} - engines: {node: ^16.14.0 || >=18.0.0} + read-package-json@7.0.0: dependencies: glob: 10.3.10 json-parse-even-better-errors: 3.0.0 normalize-package-data: 6.0.0 npm-normalize-package-bin: 3.0.1 - dev: false - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 - dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -9990,17 +12898,13 @@ packages: string_decoder: 1.1.1 util-deprecate: 1.0.2 - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readable-stream@4.5.2: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 @@ -10008,54 +12912,35 @@ packages: process: 0.11.10 string_decoder: 1.3.0 - /readdir-glob@1.1.3: - resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + readdir-glob@1.1.3: dependencies: minimatch: 5.1.6 - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - /redis-errors@1.2.0: - resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} - engines: {node: '>=4'} + redis-errors@1.2.0: {} - /redis-parser@3.0.0: - resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} - engines: {node: '>=4'} + redis-parser@3.0.0: dependencies: redis-errors: 1.2.0 - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - dev: true + regenerator-runtime@0.14.1: {} - /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - dev: true + regexp-tree@0.1.27: {} - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.1: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 set-function-name: 2.0.1 - dev: true - /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true + regjsparser@0.10.0: dependencies: jsesc: 0.5.0 - dev: true - /rehype-external-links@3.0.0: - resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} + rehype-external-links@3.0.0: dependencies: '@types/hast': 3.0.4 '@ungap/structured-clone': 1.2.0 @@ -10063,54 +12948,41 @@ packages: is-absolute-url: 4.0.1 space-separated-tokens: 2.0.2 unist-util-visit: 5.0.0 - dev: true - /rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.4 hast-util-raw: 9.0.2 vfile: 6.0.1 - dev: true - /rehype-slug@6.0.0: - resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} + rehype-slug@6.0.0: dependencies: '@types/hast': 3.0.4 github-slugger: 2.0.0 hast-util-heading-rank: 3.0.0 hast-util-to-string: 3.0.0 unist-util-visit: 5.0.0 - dev: true - /rehype-sort-attribute-values@5.0.0: - resolution: {integrity: sha512-dQdHdCIRnpiU+BkrLSqH+aM4lWJyLqGzv49KvH4gHj+JxYwNqvGhoTXckS3AJu4V9ZutwsTcawP0pC7PhwX0tQ==} + rehype-sort-attribute-values@5.0.0: dependencies: '@types/hast': 3.0.4 hast-util-is-element: 3.0.0 unist-util-visit: 5.0.0 - dev: true - /rehype-sort-attributes@5.0.0: - resolution: {integrity: sha512-6tJUH4xHFcdO85CZRwAcEtHNCzjZ9V9S0VZLgo1pzbN04qy8jiVCZ3oAxDmBVG3Rth5b1xFTDet5WG/UYZeJLQ==} + rehype-sort-attributes@5.0.0: dependencies: '@types/hast': 3.0.4 unist-util-visit: 5.0.0 - dev: true - /remark-emoji@4.0.1: - resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + remark-emoji@4.0.1: dependencies: '@types/mdast': 4.0.3 emoticon: 4.0.1 mdast-util-find-and-replace: 3.0.1 node-emoji: 2.1.3 unified: 11.0.4 - dev: true - /remark-gfm@4.0.0: - resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + remark-gfm@4.0.0: dependencies: '@types/mdast': 4.0.3 mdast-util-gfm: 3.0.0 @@ -10120,10 +12992,8 @@ packages: unified: 11.0.4 transitivePeerDependencies: - supports-color - dev: true - /remark-mdc@3.0.2: - resolution: {integrity: sha512-HoCaTwIkvYp1Kj9EiKMNpfAjLO53PwiaeA5J2o+uIBfCHjcOWai3oDmCkEZVCIHbHgU/qSZ8JeiQftksnVKTeQ==} + remark-mdc@3.0.2: dependencies: '@types/mdast': 4.0.3 '@types/unist': 3.0.2 @@ -10145,10 +13015,8 @@ packages: unist-util-visit-parents: 6.0.1 transitivePeerDependencies: - supports-color - dev: true - /remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.3 mdast-util-from-markdown: 2.0.0 @@ -10156,119 +13024,71 @@ packages: unified: 11.0.4 transitivePeerDependencies: - supports-color - dev: true - /remark-rehype@11.1.0: - resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + remark-rehype@11.1.0: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.3 mdast-util-to-hast: 13.1.0 unified: 11.0.4 vfile: 6.0.1 - dev: true - /remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.3 mdast-util-to-markdown: 2.1.0 unified: 11.0.4 - dev: true - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: false + repeat-string@1.6.1: {} - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + require-directory@2.1.1: {} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + require-from-string@2.0.2: {} - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolve-from@4.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolve-from@5.0.0: {} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve-pkg-maps@1.0.0: {} - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: false + retry@0.12.0: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.0.4: {} - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false + rfdc@1.3.1: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - /rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} - hasBin: true + rimraf@5.0.5: dependencies: glob: 10.3.10 - dev: true - /rollup-plugin-dts@6.1.0(rollup@4.14.2)(typescript@5.4.5): - resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} - engines: {node: '>=16'} - peerDependencies: - rollup: ^4.14.2 - typescript: ^4.5 || ^5.0 + rollup-plugin-dts@6.1.0(rollup@4.14.2)(typescript@5.4.5): dependencies: magic-string: 0.30.9 rollup: 4.14.2 typescript: 5.4.5 optionalDependencies: '@babel/code-frame': 7.24.2 - dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.14.2): - resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - rollup: ^4.14.2 - peerDependenciesMeta: - rollup: - optional: true + rollup-plugin-visualizer@5.12.0(rollup@4.14.2): dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.14.2 source-map: 0.7.4 yargs: 17.7.2 + optionalDependencies: + rollup: 4.14.2 - /rollup@4.14.2: - resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + rollup@4.14.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: @@ -10289,94 +13109,60 @@ packages: '@rollup/rollup-win32-x64-msvc': 4.14.2 fsevents: 2.3.3 - /run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} + run-applescript@5.0.0: dependencies: execa: 5.1.1 - dev: true - /run-applescript@7.0.0: - resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} - engines: {node: '>=18'} - dev: false + run-applescript@7.0.0: {} - /run-con@1.3.2: - resolution: {integrity: sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==} - hasBin: true + run-con@1.3.2: dependencies: deep-extend: 0.6.0 ini: 4.1.1 minimist: 1.2.8 strip-json-comments: 3.1.1 - dev: true - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.1.2: {} - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-buffer@5.2.1: {} - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - requiresBuild: true - dev: false + safer-buffer@2.1.2: optional: true - /sass@1.69.4: - resolution: {integrity: sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==} - engines: {node: '>=14.0.0'} - hasBin: true + sass@1.69.4: dependencies: chokidar: 3.6.0 immutable: 4.3.4 source-map-js: 1.2.0 - dev: true - /schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} + schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - /schema-utils@4.2.0: - resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} - engines: {node: '>= 12.13.0'} + schema-utils@4.2.0: dependencies: '@types/json-schema': 7.0.15 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) - /scule@1.3.0: - resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + scule@1.3.0: {} - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - dev: true + semver@5.7.2: {} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true + semver@6.3.1: {} - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.0: dependencies: lru-cache: 6.0.0 - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} + send@0.18.0: dependencies: debug: 2.6.9 depd: 2.0.0 @@ -10394,19 +13180,15 @@ packages: transitivePeerDependencies: - supports-color - /serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 - /serve-placeholder@2.0.1: - resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} + serve-placeholder@2.0.1: dependencies: defu: 6.1.4 - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} + serve-static@1.15.0: dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -10415,12 +13197,9 @@ packages: transitivePeerDependencies: - supports-color - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-blocking@2.0.0: {} - /set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} - engines: {node: '>= 0.4'} + set-function-length@1.2.1: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -10429,66 +13208,43 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.2 - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + set-function-name@2.0.1: dependencies: define-data-property: 1.1.4 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - dev: true - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + setprototypeof@1.2.0: {} - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - dev: false + shell-quote@1.8.1: {} - /shiki@1.1.2: - resolution: {integrity: sha512-qNzFwTv5uhEDNUIwp7wHjsrffVeLbmOgWnM5mZZhoiz7G2qAUvqVfUzuWfieD45/YAKipzCtdV9SndacKtABow==} + shiki@1.1.2: dependencies: '@shikijs/core': 1.1.2 - dev: true - /shiki@1.1.6: - resolution: {integrity: sha512-j4pcpvaQWHb42cHeV+W6P+X/VcK7Y2ctvEham6zB8wsuRQroT6cEMIkiUmBU2Nqg2qnHZDH6ZyRdVldcy0l6xw==} + shiki@1.1.6: dependencies: '@shikijs/core': 1.1.6 - dev: true - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.4: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 object-inspect: 1.13.0 - dev: true - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true + siginfo@2.0.0: {} - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@3.0.7: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + signal-exit@4.1.0: {} - /sigstore@2.2.2: - resolution: {integrity: sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==} - engines: {node: ^16.14.0 || >=18.0.0} + sigstore@2.2.2: dependencies: '@sigstore/bundle': 2.2.0 '@sigstore/core': 1.0.0 @@ -10498,304 +13254,195 @@ packages: '@sigstore/verify': 1.1.0 transitivePeerDependencies: - supports-color - dev: false - /simple-git@3.23.0: - resolution: {integrity: sha512-P9ggTW8vb/21CAL/AmnACAhqBDfnqSSZVpV7WuFtsFR9HLunf5IqQvk+OXAQTfkcZep8pKnt3DV3o7w3TegEkQ==} + simple-git@3.23.0: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} + sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.24 mrmime: 2.0.0 totalist: 3.0.1 - dev: false - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: false + sisteransi@1.0.5: {} - /skin-tone@2.0.0: - resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} - engines: {node: '>=8'} + skin-tone@2.0.0: dependencies: unicode-emoji-modifier-base: 1.0.0 - dev: true - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + slash@4.0.0: {} - /slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} + slash@5.1.0: {} - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: false + smart-buffer@4.2.0: {} - /smob@1.4.1: - resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==} + smob@1.4.1: {} - /socks-proxy-agent@7.0.0: - resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} - engines: {node: '>= 10'} + socks-proxy-agent@7.0.0: dependencies: agent-base: 6.0.2 debug: 4.3.4 socks: 2.7.1 transitivePeerDependencies: - supports-color - dev: false - /socks-proxy-agent@8.0.2: - resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} - engines: {node: '>= 14'} + socks-proxy-agent@8.0.2: dependencies: agent-base: 7.1.0 debug: 4.3.4 socks: 2.7.1 transitivePeerDependencies: - supports-color - dev: false - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + socks@2.7.1: dependencies: ip: 2.0.1 smart-buffer: 4.2.0 - dev: false - /source-list-map@2.0.1: - resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + source-list-map@2.0.1: {} - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} + source-map-js@1.2.0: {} - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + source-map@0.6.1: {} - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} + source-map@0.7.4: {} - /space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - dev: true + space-separated-tokens@2.0.2: {} - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.16 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + spdx-exceptions@2.3.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.16 - /spdx-expression-parse@4.0.0: - resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + spdx-expression-parse@4.0.0: dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.16 - dev: true - /spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + spdx-license-ids@3.0.16: {} - /speakingurl@14.0.1: - resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} - engines: {node: '>=0.10.0'} - dev: false + speakingurl@14.0.1: {} - /splitpanes@3.1.5: - resolution: {integrity: sha512-r3Mq2ITFQ5a2VXLOy4/Sb2Ptp7OfEO8YIbhVJqJXoFc9hc5nTXXkCvtVDjIGbvC0vdE7tse+xTM9BMjsszP6bw==} - dev: false + splitpanes@3.1.5: {} - /ssri@10.0.5: - resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ssri@10.0.5: dependencies: minipass: 7.0.4 - dev: false - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true + stackback@0.0.2: {} - /stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - dev: false + stackframe@1.3.4: {} - /standard-as-callback@2.1.0: - resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + standard-as-callback@2.1.0: {} - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + statuses@2.0.1: {} - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.7.0: {} - /stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} + stop-iteration-iterator@1.0.0: dependencies: internal-slot: 1.0.5 - dev: true - /streamx@2.15.1: - resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + streamx@2.15.1: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - /stringify-entities@4.0.3: - resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + stringify-entities@4.0.3: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + strip-final-newline@2.0.0: {} - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} + strip-final-newline@3.0.0: {} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 - dev: true - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + strip-json-comments@3.1.1: {} - /strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + strip-literal@1.3.0: dependencies: acorn: 8.11.3 - /strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + strip-literal@2.1.0: dependencies: js-tokens: 9.0.0 - /stylehacks@6.1.1(postcss@8.4.38): - resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + stylehacks@6.1.1(postcss@8.4.38): dependencies: browserslist: 4.23.0 postcss: 8.4.38 postcss-selector-parser: 6.0.16 - dev: false - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - /supports-color@9.4.0: - resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} - engines: {node: '>=12'} + supports-color@9.4.0: {} - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /svg-tags@1.0.0: - resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + svg-tags@1.0.0: {} - /svgo@3.2.0: - resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==} - engines: {node: '>=14.0.0'} - hasBin: true + svgo@3.2.0: dependencies: '@trysound/sax': 0.2.0 commander: 7.2.0 @@ -10804,35 +13451,22 @@ packages: css-what: 6.1.0 csso: 5.0.5 picocolors: 1.0.0 - dev: false - /system-architecture@0.1.0: - resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} - engines: {node: '>=18'} + system-architecture@0.1.0: {} - /tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - dev: false + tabbable@6.2.0: {} - /tapable@1.1.3: - resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} - engines: {node: '>=6'} - dev: false + tapable@1.1.3: {} - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} + tapable@2.2.1: {} - /tar-stream@3.1.6: - resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + tar-stream@3.1.6: dependencies: b4a: 1.6.4 fast-fifo: 1.3.2 streamx: 2.15.1 - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} - engines: {node: '>=10'} + tar@6.2.0: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -10841,21 +13475,7 @@ packages: mkdirp: 1.0.4 yallist: 4.0.0 - /terser-webpack-plugin@5.3.10(webpack@5.91.0): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true + terser-webpack-plugin@5.3.10(webpack@5.91.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -10864,124 +13484,70 @@ packages: terser: 5.27.0 webpack: 5.91.0 - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} - engines: {node: '>=10'} - hasBin: true + terser@5.27.0: dependencies: '@jridgewell/source-map': 0.3.5 acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - dev: true - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + text-table@0.2.0: {} - /time-fix-plugin@2.0.7(webpack@5.91.0): - resolution: {integrity: sha512-uVFet1LQToeUX0rTcSiYVYVoGuBpc8gP/2jnlUzuHMHe+gux6XLsNzxLUweabMwiUj5ejhoIMsUI55nVSEa/Vw==} - peerDependencies: - webpack: '>=4.0.0' + time-fix-plugin@2.0.7(webpack@5.91.0): dependencies: webpack: 5.91.0 - dev: false - /tiny-invariant@1.3.1: - resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} - dev: false + tiny-invariant@1.3.1: {} - /tinybench@2.5.1: - resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} - dev: true + tinybench@2.5.1: {} - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true + tinypool@0.8.2: {} - /tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} - engines: {node: '>=14.0.0'} - dev: true + tinyspy@2.2.0: {} - /titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} - dev: true + titleize@3.0.0: {} - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + to-fast-properties@2.0.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} + toidentifier@1.0.1: {} - /token-stream@1.0.0: - resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} - dev: false + token-stream@1.0.0: {} - /totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - dev: false + totalist@3.0.1: {} - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@0.0.3: {} - /trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - dev: true + trim-lines@3.0.1: {} - /trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - dev: true + trough@2.2.0: {} - /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: typescript: 5.4.5 - dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.2: {} - /tuf-js@2.2.0: - resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} - engines: {node: ^16.14.0 || >=18.0.0} + tuf-js@2.2.0: dependencies: '@tufjs/models': 2.0.0 debug: 4.3.4 make-fetch-happen: 13.0.0 transitivePeerDependencies: - supports-color - dev: false - /twoslash-protocol@0.2.4: - resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==} - dev: true + twoslash-protocol@0.2.4: {} - /twoslash-vue@0.2.4(typescript@5.4.5): - resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==} - peerDependencies: - typescript: '*' + twoslash-vue@0.2.4(typescript@5.4.5): dependencies: '@vue/language-core': 1.8.27(typescript@5.4.5) twoslash: 0.2.4(typescript@5.4.5) @@ -10989,79 +13555,40 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /twoslash@0.2.4(typescript@5.4.5): - resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==} - peerDependencies: - typescript: '*' + twoslash@0.2.4(typescript@5.4.5): dependencies: '@typescript/vfs': 1.5.0 twoslash-protocol: 0.2.4 typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true + type-detect@4.0.8: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: false + type-fest@0.21.3: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.6.0: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.8.1: {} - /type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} + type-fest@3.13.1: {} - /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true + typescript@5.4.5: {} - /uc.micro@2.0.0: - resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} - dev: true + uc.micro@2.0.0: {} - /ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + ufo@1.5.3: {} - /ultrahtml@1.5.3: - resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} - dev: false + ultrahtml@1.5.3: {} - /unbuild@2.0.0(typescript@5.4.5): - resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} - hasBin: true - peerDependencies: - typescript: ^5.1.6 - peerDependenciesMeta: - typescript: - optional: true + unbuild@2.0.0(sass@1.69.4)(typescript@5.4.5): dependencies: '@rollup/plugin-alias': 5.1.0(rollup@4.14.2) '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.2) @@ -11078,7 +13605,7 @@ packages: hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.9 - mkdist: 1.3.0(typescript@5.4.5) + mkdist: 1.3.0(sass@1.69.4)(typescript@5.4.5) mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 @@ -11086,44 +13613,36 @@ packages: rollup: 4.14.2 rollup-plugin-dts: 6.1.0(rollup@4.14.2)(typescript@5.4.5) scule: 1.3.0 - typescript: 5.4.5 untyped: 1.4.2 + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - sass - supports-color - dev: true - /unconfig@0.3.11: - resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} + unconfig@0.3.11: dependencies: '@antfu/utils': 0.7.7 defu: 6.1.4 jiti: 1.21.0 mlly: 1.6.1 - dev: false - /uncrypto@0.1.3: - resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + uncrypto@0.1.3: {} - /unctx@2.3.1: - resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==} + unctx@2.3.1: dependencies: acorn: 8.11.3 estree-walker: 3.0.3 magic-string: 0.30.9 unplugin: 1.10.1 - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@5.26.5: {} - /undici@5.28.3: - resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} - engines: {node: '>=14.0'} + undici@5.28.3: dependencies: '@fastify/busboy': 2.0.0 - /unenv@1.9.0: - resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} + unenv@1.9.0: dependencies: consola: 3.2.3 defu: 6.1.4 @@ -11131,26 +13650,18 @@ packages: node-fetch-native: 1.6.4 pathe: 1.1.2 - /unhead@1.9.5: - resolution: {integrity: sha512-eBKDPO9IMltRze9mHNYIVdosjlqoNFbwJRbykGT/7z/S5uYR2QRCXmIhEsJT4crffy6KQyB5ywLPqjRPx0s57A==} + unhead@1.9.5: dependencies: '@unhead/dom': 1.9.5 '@unhead/schema': 1.9.5 '@unhead/shared': 1.9.5 hookable: 5.5.3 - dev: false - /unicode-emoji-modifier-base@1.0.0: - resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} - engines: {node: '>=4'} - dev: true + unicode-emoji-modifier-base@1.0.0: {} - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} + unicorn-magic@0.1.0: {} - /unified@11.0.4: - resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + unified@11.0.4: dependencies: '@types/unist': 3.0.2 bail: 2.0.2 @@ -11159,10 +13670,8 @@ packages: is-plain-obj: 4.1.0 trough: 2.2.0 vfile: 6.0.1 - dev: true - /unimport@3.7.1(rollup@4.14.2): - resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} + unimport@3.7.1(rollup@4.14.2): dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.14.2) acorn: 8.11.3 @@ -11180,76 +13689,46 @@ packages: transitivePeerDependencies: - rollup - /unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-filename@3.0.0: dependencies: unique-slug: 4.0.0 - dev: false - /unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-slug@4.0.0: dependencies: imurmurhash: 0.1.4 - dev: false - /unist-builder@4.0.0: - resolution: {integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==} + unist-builder@4.0.0: dependencies: '@types/unist': 3.0.2 - dev: true - /unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.2 - dev: true - /unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.2 - dev: true - /unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.2 - dev: true - /unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 - dev: true - /unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - dev: true - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + universalify@2.0.0: {} - /unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8): - resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} - engines: {node: '>=14'} - peerDependencies: - '@unocss/webpack': 0.58.6 - vite: 5.2.8 - peerDependenciesMeta: - '@unocss/webpack': - optional: true - vite: - optional: true + unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.58.6(rollup@4.14.2)(vite@5.2.8) + '@unocss/astro': 0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) '@unocss/cli': 0.58.6(rollup@4.14.2) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -11268,25 +13747,19 @@ packages: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.2)(vite@5.2.8) - vite: 5.2.8(@types/node@20.12.7) + '@unocss/vite': 0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + optionalDependencies: + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - postcss - rollup - supports-color - dev: false - /unplugin-vue-router@0.7.0(rollup@4.14.2)(vue-router@4.3.0)(vue@3.4.21): - resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} - peerDependencies: - vue-router: ^4.1.0 - peerDependenciesMeta: - vue-router: - optional: true + unplugin-vue-router@0.7.0(rollup@4.14.2)(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)): dependencies: '@babel/types': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - '@vue-macros/common': 1.10.1(rollup@4.14.2)(vue@3.4.21) + '@vue-macros/common': 1.10.1(rollup@4.14.2)(vue@3.4.21(typescript@5.4.5)) ast-walker-scope: 0.5.0(rollup@4.14.2) chokidar: 3.6.0 fast-glob: 3.3.2 @@ -11296,96 +13769,46 @@ packages: pathe: 1.1.2 scule: 1.3.0 unplugin: 1.10.1 - vue-router: 4.3.0(vue@3.4.21) yaml: 2.3.4 + optionalDependencies: + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.5)) transitivePeerDependencies: - rollup - vue - dev: false - /unplugin@1.10.1: - resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} - engines: {node: '>=14.0.0'} + unplugin@1.10.1: dependencies: acorn: 8.11.3 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - /unstorage@1.10.2(ioredis@5.3.2): - resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} - peerDependencies: - '@azure/app-configuration': ^1.5.0 - '@azure/cosmos': ^4.0.0 - '@azure/data-tables': ^13.2.2 - '@azure/identity': ^4.0.1 - '@azure/keyvault-secrets': ^4.8.0 - '@azure/storage-blob': ^12.17.0 - '@capacitor/preferences': ^5.0.7 - '@netlify/blobs': ^6.5.0 || ^7.0.0 - '@planetscale/database': ^1.16.0 - '@upstash/redis': ^1.28.4 - '@vercel/kv': ^1.0.1 - idb-keyval: ^6.2.1 - ioredis: ^5.3.2 - peerDependenciesMeta: - '@azure/app-configuration': - optional: true - '@azure/cosmos': - optional: true - '@azure/data-tables': - optional: true - '@azure/identity': - optional: true - '@azure/keyvault-secrets': - optional: true - '@azure/storage-blob': - optional: true - '@capacitor/preferences': - optional: true - '@netlify/blobs': - optional: true - '@planetscale/database': - optional: true - '@upstash/redis': - optional: true - '@vercel/kv': - optional: true - idb-keyval: - optional: true - ioredis: - optional: true + unstorage@1.10.2(ioredis@5.3.2): dependencies: anymatch: 3.1.3 chokidar: 3.6.0 destr: 2.0.3 h3: 1.11.1 - ioredis: 5.3.2 listhen: 1.7.2 lru-cache: 10.2.0 mri: 1.2.0 node-fetch-native: 1.6.4 ofetch: 1.3.4 ufo: 1.5.3 + optionalDependencies: + ioredis: 5.3.2 transitivePeerDependencies: - uWebSockets.js - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true + untildify@4.0.0: {} - /untun@0.1.3: - resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} - hasBin: true + untun@0.1.3: dependencies: citty: 0.1.6 consola: 3.2.3 pathe: 1.1.2 - /untyped@1.4.2: - resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} - hasBin: true + untyped@1.4.2: dependencies: '@babel/core': 7.24.1 '@babel/standalone': 7.23.9 @@ -11397,8 +13820,7 @@ packages: transitivePeerDependencies: - supports-color - /unwasm@0.3.9: - resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==} + unwasm@0.3.9: dependencies: knitwork: 1.1.0 magic-string: 0.30.9 @@ -11407,130 +13829,73 @@ packages: pkg-types: 1.0.3 unplugin: 1.10.1 - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.13(browserslist@4.23.0): dependencies: browserslist: 4.23.0 escalade: 3.1.1 picocolors: 1.0.0 - /uqr@0.1.2: - resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + uqr@0.1.2: {} - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.0 - /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.91.0): - resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} - engines: {node: '>= 10.13.0'} - peerDependencies: - file-loader: '*' - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - file-loader: - optional: true + url-loader@4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0): dependencies: - file-loader: 6.2.0(webpack@5.91.0) loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 webpack: 5.91.0 - dev: false + optionalDependencies: + file-loader: 6.2.0(webpack@5.91.0) - /urlpattern-polyfill@8.0.2: - resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + urlpattern-polyfill@8.0.2: {} - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util-deprecate@1.0.2: {} - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@9.2.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.5 convert-source-map: 2.0.0 - dev: true - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - /validate-npm-package-name@5.0.0: - resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validate-npm-package-name@5.0.0: dependencies: builtins: 5.0.1 - dev: false - /vfile-location@5.0.2: - resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + vfile-location@5.0.2: dependencies: '@types/unist': 3.0.2 vfile: 6.0.1 - dev: true - /vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 - dev: true - /vfile@6.0.1: - resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + vfile@6.0.1: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - dev: true - /vite-hot-client@0.2.3(vite@5.2.8): - resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} - peerDependencies: - vite: 5.2.8 + vite-hot-client@0.2.3(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): dependencies: - vite: 5.2.8(@types/node@20.12.7) - dev: false + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) - /vite-node@1.0.2(@types/node@20.12.7): - resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true + vite-node@1.0.2(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.7) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-node@1.4.0(@types/node@20.12.7): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -11541,70 +13906,50 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint@9.0.0)(typescript@5.4.5)(vite@5.2.8)(vue-tsc@2.0.13): - resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} - engines: {node: '>=14.16'} - peerDependencies: - eslint: '>=7' - meow: ^9.0.0 - optionator: ^0.9.1 - stylelint: '>=13' - typescript: '*' - vite: 5.2.8 - vls: '*' - vti: '*' - vue-tsc: '>=1.3.9' - peerDependenciesMeta: - eslint: - optional: true - meow: - optional: true - optionator: - optional: true - stylelint: - optional: true - typescript: - optional: true - vls: - optional: true - vti: - optional: true - vue-tsc: - optional: true + vite-node@1.4.0(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0): + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vite-plugin-checker@0.6.4(eslint@9.0.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.13(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 chalk: 4.1.2 chokidar: 3.6.0 commander: 8.3.0 - eslint: 9.0.0 fast-glob: 3.3.2 fs-extra: 11.2.0 npm-run-path: 4.0.1 semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - typescript: 5.4.5 - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 + optionalDependencies: + eslint: 9.0.0 + optionator: 0.9.3 + typescript: 5.4.5 vue-tsc: 2.0.13(typescript@5.4.5) - dev: false - /vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.2)(vite@5.2.8): - resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} - engines: {node: '>=14'} - peerDependencies: - '@nuxt/kit': '*' - vite: 5.2.8 - peerDependenciesMeta: - '@nuxt/kit': - optional: true + vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): dependencies: '@antfu/utils': 0.7.7 - '@nuxt/kit': link:packages/kit '@rollup/pluginutils': 5.1.0(rollup@4.14.2) debug: 4.3.4 error-stack-parser-es: 0.1.1 @@ -11613,16 +13958,14 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + optionalDependencies: + '@nuxt/kit': link:packages/kit transitivePeerDependencies: - rollup - supports-color - dev: false - /vite-plugin-vue-inspector@4.0.2(vite@5.2.8): - resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} - peerDependencies: - vite: 5.2.8 + vite-plugin-vue-inspector@4.0.2(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): dependencies: '@babel/core': 7.24.1 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.1) @@ -11633,50 +13976,24 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color - dev: false - /vite@5.2.8(@types/node@20.12.7): - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0): dependencies: - '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.14.2 optionalDependencies: + '@types/node': 20.12.7 fsevents: 2.3.3 + sass: 1.69.4 + terser: 5.27.0 - /vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21): - resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)): dependencies: - '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3)(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11692,34 +14009,9 @@ packages: - vitest - vue - vue-router - dev: true - /vitest@1.0.2(@types/node@20.12.7)(happy-dom@14.7.1): - resolution: {integrity: sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': ^1.0.0 - '@vitest/ui': ^1.0.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + vitest@1.0.2(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0): dependencies: - '@types/node': 20.12.7 '@vitest/expect': 1.0.2 '@vitest/runner': 1.0.2 '@vitest/snapshot': 1.0.2 @@ -11730,7 +14022,6 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.7.1 local-pkg: 0.5.0 magic-string: 0.30.9 pathe: 1.1.2 @@ -11739,9 +14030,12 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.7) - vite-node: 1.0.2(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.0.2(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.12.7 + happy-dom: 14.7.1 transitivePeerDependencies: - less - lightningcss @@ -11750,34 +14044,9 @@ packages: - sugarss - supports-color - terser - dev: true - /vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0): dependencies: - '@types/node': 20.12.7 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -11787,7 +14056,6 @@ packages: chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 - happy-dom: 14.7.1 local-pkg: 0.5.0 magic-string: 0.30.9 pathe: 1.1.2 @@ -11796,9 +14064,12 @@ packages: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.7) - vite-node: 1.4.0(@types/node@20.12.7) + vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite-node: 1.4.0(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.12.7 + happy-dom: 14.7.1 transitivePeerDependencies: - less - lightningcss @@ -11807,86 +14078,45 @@ packages: - sugarss - supports-color - terser - dev: true - /void-elements@3.1.0: - resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} - engines: {node: '>=0.10.0'} - dev: false + void-elements@3.1.0: {} - /vscode-jsonrpc@6.0.0: - resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} - engines: {node: '>=8.0.0 || >=10.0.0'} - dev: false + vscode-jsonrpc@6.0.0: {} - /vscode-languageclient@7.0.0: - resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==} - engines: {vscode: ^1.52.0} + vscode-languageclient@7.0.0: dependencies: minimatch: 3.1.2 semver: 7.6.0 vscode-languageserver-protocol: 3.16.0 - dev: false - /vscode-languageserver-protocol@3.16.0: - resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} + vscode-languageserver-protocol@3.16.0: dependencies: vscode-jsonrpc: 6.0.0 vscode-languageserver-types: 3.16.0 - dev: false - /vscode-languageserver-textdocument@1.0.11: - resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} - dev: false + vscode-languageserver-textdocument@1.0.11: {} - /vscode-languageserver-types@3.16.0: - resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} - dev: false + vscode-languageserver-types@3.16.0: {} - /vscode-languageserver@7.0.0: - resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} - hasBin: true + vscode-languageserver@7.0.0: dependencies: vscode-languageserver-protocol: 3.16.0 - dev: false - /vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - dev: false + vscode-uri@3.0.8: {} - /vue-bundle-renderer@2.0.0: - resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} + vue-bundle-renderer@2.0.0: dependencies: ufo: 1.5.3 - /vue-component-type-helpers@2.0.6: - resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} - dev: true + vue-component-type-helpers@2.0.6: {} - /vue-demi@0.14.7(vue@3.4.21): - resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: 3.4.21 - peerDependenciesMeta: - '@vue/composition-api': - optional: true + vue-demi@0.14.7(vue@3.4.21(typescript@5.4.5)): dependencies: vue: 3.4.21(typescript@5.4.5) - dev: false - /vue-devtools-stub@0.1.0: - resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} - dev: false + vue-devtools-stub@0.1.0: {} - /vue-eslint-parser@9.4.2(eslint@9.0.0): - resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' + vue-eslint-parser@9.4.2(eslint@9.0.0): dependencies: debug: 4.3.4 eslint: 9.0.0 @@ -11898,116 +14128,71 @@ packages: semver: 7.6.0 transitivePeerDependencies: - supports-color - dev: true - /vue-loader@17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21)(webpack@5.91.0): - resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} - peerDependencies: - '@vue/compiler-sfc': '*' - vue: '*' - webpack: ^4.1.0 || ^5.0.0-0 - peerDependenciesMeta: - '@vue/compiler-sfc': - optional: true - vue: - optional: true + vue-loader@17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5))(webpack@5.91.0): dependencies: - '@vue/compiler-sfc': 3.4.21 chalk: 4.1.2 hash-sum: 2.0.0 - vue: 3.4.21(typescript@5.4.5) watchpack: 2.4.1 webpack: 5.91.0 - - /vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21): - resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} - peerDependencies: - vue: 3.4.21 - dependencies: + optionalDependencies: + '@vue/compiler-sfc': 3.4.21 vue: 3.4.21(typescript@5.4.5) - dev: false - /vue-resize@2.0.0-alpha.1(vue@3.4.21): - resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} - peerDependencies: - vue: 3.4.21 + vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)): dependencies: vue: 3.4.21(typescript@5.4.5) - /vue-router@4.3.0(vue@3.4.21): - resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} - peerDependencies: - vue: 3.4.21 + vue-resize@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)): + dependencies: + vue: 3.4.21(typescript@5.4.5) + + vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)): dependencies: '@vue/devtools-api': 6.5.1 vue: 3.4.21(typescript@5.4.5) - /vue-template-compiler@2.7.14: - resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + vue-template-compiler@2.7.14: dependencies: de-indent: 1.0.2 he: 1.2.0 - /vue-tsc@2.0.13(typescript@5.4.5): - resolution: {integrity: sha512-a3nL3FvguCWVJUQW/jFrUxdeUtiEkbZoQjidqvMeBK//tuE2w6NWQAbdrEpY2+6nSa4kZoKZp8TZUMtHpjt4mQ==} - hasBin: true - peerDependencies: - typescript: '*' + vue-tsc@2.0.13(typescript@5.4.5): dependencies: '@volar/typescript': 2.2.0-alpha.8 '@vue/language-core': 2.0.13(typescript@5.4.5) semver: 7.6.0 typescript: 5.4.5 - /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21): - resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} - peerDependencies: - vue: 3.4.21 + vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21(typescript@5.4.5)): dependencies: mitt: 2.1.0 vue: 3.4.21(typescript@5.4.5) - vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21) - vue-resize: 2.0.0-alpha.1(vue@3.4.21) - dev: false + vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)) + vue-resize: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)) - /vue@3.4.21(typescript@5.4.5): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + vue@3.4.21(typescript@5.4.5): dependencies: '@vue/compiler-dom': 3.4.21 '@vue/compiler-sfc': 3.4.21 '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.4.5)) '@vue/shared': 3.4.21 + optionalDependencies: typescript: 5.4.5 - /watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} - engines: {node: '>=10.13.0'} + watchpack@2.4.1: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - /web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - dev: true + web-namespaces@2.0.1: {} - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@3.0.1: {} - /webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - dev: true + webidl-conversions@7.0.0: {} - /webpack-bundle-analyzer@4.10.2: - resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} - engines: {node: '>= 10.13.0'} - hasBin: true + webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7 acorn: 8.11.3 @@ -12024,16 +14209,8 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /webpack-dev-middleware@7.2.1(webpack@5.91.0): - resolution: {integrity: sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true + webpack-dev-middleware@7.2.1(webpack@5.91.0): dependencies: colorette: 2.0.20 memfs: 4.8.1 @@ -12041,38 +14218,25 @@ packages: on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 + optionalDependencies: webpack: 5.91.0 - /webpack-hot-middleware@2.26.1: - resolution: {integrity: sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==} + webpack-hot-middleware@2.26.1: dependencies: ansi-html-community: 0.0.8 html-entities: 2.4.0 strip-ansi: 6.0.1 - dev: false - /webpack-sources@1.4.3: - resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} + webpack-sources@1.4.3: dependencies: source-list-map: 2.0.1 source-map: 0.6.1 - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} + webpack-sources@3.2.3: {} - /webpack-virtual-modules@0.6.1: - resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + webpack-virtual-modules@0.6.1: {} - /webpack@5.91.0: - resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true + webpack@5.91.0: dependencies: '@types/eslint-scope': 3.7.6 '@types/estree': 1.0.5 @@ -12103,11 +14267,7 @@ packages: - esbuild - uglify-js - /webpackbar@6.0.1(webpack@5.91.0): - resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} - engines: {node: '>=14.21.3'} - peerDependencies: - webpack: 3 || 4 || 5 + webpackbar@6.0.1(webpack@5.91.0): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -12118,173 +14278,100 @@ packages: std-env: 3.7.0 webpack: 5.91.0 wrap-ansi: 7.0.0 - dev: false - /whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - dev: true + whatwg-mimetype@3.0.0: {} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.1: dependencies: is-map: 2.0.2 is-set: 2.0.2 is-weakmap: 2.0.1 is-weakset: 2.0.2 - dev: true - /which-typed-array@1.1.14: - resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.14: dependencies: available-typed-arrays: 1.0.6 call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /which@3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true + which@3.0.1: dependencies: isexe: 2.0.0 - dev: false - /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true + which@4.0.0: dependencies: isexe: 3.1.1 - dev: false - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true + why-is-node-running@2.2.2: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - dev: true - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + wide-align@1.1.5: dependencies: string-width: 4.2.3 - /with@7.0.2: - resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} - engines: {node: '>= 10.0.0'} + with@7.0.2: dependencies: '@babel/parser': 7.24.1 '@babel/types': 7.24.0 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 - dev: false - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wrappy@1.0.2: {} - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false + ws@7.5.9: {} - /ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false + ws@8.16.0: {} - /xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - dev: true + xml-name-validator@4.0.0: {} - /xxhashjs@0.2.2: - resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} + xxhashjs@0.2.2: dependencies: cuint: 0.2.2 - dev: false - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + y18n@5.0.8: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@3.1.1: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@4.0.0: {} - /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} + yaml@2.3.4: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + yargs-parser@21.1.1: {} - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs@17.7.2: dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -12294,26 +14381,16 @@ packages: y18n: 5.0.8 yargs-parser: 21.1.1 - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + yocto-queue@0.1.0: {} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true + yocto-queue@1.0.0: {} - /zhead@2.2.4: - resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} + zhead@2.2.4: {} - /zip-stream@6.0.1: - resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} - engines: {node: '>= 14'} + zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 compress-commons: 6.0.2 readable-stream: 4.5.2 - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - dev: true + zwitch@2.0.4: {} From bde696a0db748d6292f7bc01c9b1780563482a11 Mon Sep 17 00:00:00 2001 From: kawadah <45890038+kawadah@users.noreply.github.com> Date: Wed, 17 Apr 2024 03:58:54 +0900 Subject: [PATCH 451/470] docs: fix `srcDir` description mentioning deprecated `static/` directory (#26804) --- packages/schema/src/config/common.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index 49287b757b..e68a2d7302 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -79,7 +79,7 @@ export default defineUntypedSchema({ * ------| middleware/ * ------| pages/ * ------| plugins/ - * ------| static/ + * ------| public/ * ------| store/ * ------| server/ * ------| app.config.ts From 8feb5fe5a4cc3ed9c47360bf9783640fc6fbe541 Mon Sep 17 00:00:00 2001 From: Edwin Fadul <34517197+edwinfadul@users.noreply.github.com> Date: Wed, 17 Apr 2024 04:24:53 -0500 Subject: [PATCH 452/470] docs: provide example of passing props to a child page (#26805) --- docs/2.guide/2.directory-structure/1.pages.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index 6ebd687bb1..ce1821b83b 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -193,6 +193,14 @@ To display the `child.vue` component, you have to insert the `<NuxtPage>` compon </template> ``` +```vue {}[pages/child.vue] +<script setup lang="ts"> +const props = defineProps(['foobar']) + +console.log(props.foobar) +</script> +``` + ### Child Route Keys If you want more control over when the `<NuxtPage>` component is re-rendered (for example, for transitions), you can either pass a string or function via the `pageKey` prop, or you can define a `key` value via `definePageMeta`: From 9119475db20bc62109eb9d1720d60b4069085f92 Mon Sep 17 00:00:00 2001 From: Edwin Fadul <34517197+edwinfadul@users.noreply.github.com> Date: Wed, 17 Apr 2024 04:26:40 -0500 Subject: [PATCH 453/470] docs: provide example of exposing a `pageRef` from a child page (#26806) --- docs/3.api/1.components/2.nuxt-page.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/3.api/1.components/2.nuxt-page.md b/docs/3.api/1.components/2.nuxt-page.md index dd57c2fb0c..c8930e350c 100644 --- a/docs/3.api/1.components/2.nuxt-page.md +++ b/docs/3.api/1.components/2.nuxt-page.md @@ -86,6 +86,18 @@ function logFoo () { </template> ```` +````vue [my-page.vue] +<script setup lang="ts"> +const foo = () => { + console.log('foo method called') +} + +defineExpose({ + foo, +}) +</script> +```` + ## Custom Props In addition, `<NuxtPage>` also accepts custom props that you may need to pass further down the hierarchy. From 6d7a558c6953f1b7483c3aa55378e593bbe8b678 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:48:51 +0100 Subject: [PATCH 454/470] chore(deps): update all non-major dependencies (main) (#26768) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- package.json | 18 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 8 +- packages/schema/package.json | 10 +- packages/vite/package.json | 4 +- packages/webpack/package.json | 6 +- pnpm-lock.yaml | 915 ++++++++++++++++--------------- test/bundle.test.ts | 4 +- 10 files changed, 491 insertions(+), 482 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0885a8be2a..2d5be0c00f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 + uses: github/codeql-action/init@df5a14dc28094dc936e103b37d749c6628682b60 # v3.25.0 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 + uses: github/codeql-action/analyze@df5a14dc28094dc936e103b37d749c6628682b60 # v3.25.0 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 7398d2c13b..b407245924 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 + uses: github/codeql-action/upload-sarif@df5a14dc28094dc936e103b37d749c6628682b60 # v3.25.0 with: sarif_file: results.sarif diff --git a/package.json b/package.json index a0a9dab386..e50dab3cc6 100644 --- a/package.json +++ b/package.json @@ -37,15 +37,15 @@ "@nuxt/schema": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "rollup": "^4.14.2", + "rollup": "^4.14.3", "nuxt": "workspace:*", - "vite": "5.2.8", - "vue": "3.4.21", + "vite": "5.2.9", + "vue": "3.4.23", "magic-string": "^0.30.9" }, "devDependencies": { "@eslint/js": "9.0.0", - "@nuxt/eslint-config": "0.3.6", + "@nuxt/eslint-config": "0.3.7", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.1", "@nuxt/webpack-builder": "workspace:*", @@ -62,8 +62,8 @@ "devalue": "4.3.2", "eslint": "9.0.0", "eslint-plugin-no-only-tests": "3.1.0", - "eslint-plugin-perfectionist": "2.8.0", - "eslint-typegen": "0.2.2", + "eslint-plugin-perfectionist": "2.9.0", + "eslint-typegen": "0.2.3", "execa": "8.0.1", "fs-extra": "11.2.0", "globby": "14.0.1", @@ -85,11 +85,11 @@ "ufo": "1.5.3", "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", - "vue": "3.4.21", - "vue-router": "4.3.0", + "vue": "3.4.23", + "vue-router": "4.3.1", "vue-tsc": "2.0.13" }, - "packageManager": "pnpm@9.0.0", + "packageManager": "pnpm@9.0.1", "engines": { "node": "^14.18.0 || >=16.10.0" }, diff --git a/packages/kit/package.json b/packages/kit/package.json index ad6605f47c..e5de0a2323 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -52,7 +52,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.6", "unbuild": "latest", - "vite": "5.2.8", + "vite": "5.2.9", "vitest": "1.4.0", "webpack": "5.91.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index f348c0dcc5..ed371c94dd 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -69,7 +69,7 @@ "@unhead/dom": "^1.9.5", "@unhead/ssr": "^1.9.5", "@unhead/vue": "^1.9.5", - "@vue/shared": "^3.4.21", + "@vue/shared": "^3.4.23", "acorn": "8.11.3", "c12": "^1.10.0", "chokidar": "^3.6.0", @@ -111,10 +111,10 @@ "unplugin-vue-router": "^0.7.0", "unstorage": "^1.10.2", "untyped": "^1.4.2", - "vue": "^3.4.21", + "vue": "^3.4.23", "vue-bundle-renderer": "^2.0.0", "vue-devtools-stub": "^0.1.0", - "vue-router": "^4.3.0" + "vue-router": "^4.3.1" }, "devDependencies": { "@parcel/watcher": "2.4.1", @@ -122,7 +122,7 @@ "@types/fs-extra": "11.0.4", "@vitejs/plugin-vue": "5.0.4", "unbuild": "latest", - "vite": "5.2.8", + "vite": "5.2.9", "vitest": "1.4.0" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index c74cf39bc1..0a897e6c58 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -41,8 +41,8 @@ "@unhead/schema": "1.9.5", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", - "@vue/compiler-core": "3.4.21", - "@vue/compiler-sfc": "3.4.21", + "@vue/compiler-core": "3.4.23", + "@vue/compiler-sfc": "3.4.23", "@vue/language-core": "2.0.13", "c12": "1.10.0", "esbuild-loader": "4.1.0", @@ -53,11 +53,11 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.2.8", - "vue": "3.4.21", + "vite": "5.2.9", + "vue": "3.4.23", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", - "vue-router": "4.3.0", + "vue-router": "4.3.1", "webpack": "5.91.0", "webpack-dev-middleware": "7.2.1" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index a8ce75dd3d..8850b004be 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -29,7 +29,7 @@ "@types/estree": "1.0.5", "@types/fs-extra": "11.0.4", "unbuild": "latest", - "vue": "3.4.21" + "vue": "3.4.23" }, "dependencies": { "@nuxt/kit": "workspace:*", @@ -62,7 +62,7 @@ "ufo": "^1.5.3", "unenv": "^1.9.0", "unplugin": "^1.10.1", - "vite": "^5.2.8", + "vite": "^5.2.9", "vite-node": "^1.4.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.0.0" diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 3a72a053a5..65a3255e1e 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -42,8 +42,8 @@ "hash-sum": "^2.0.0", "lodash-es": "4.17.21", "magic-string": "^0.30.9", - "memfs": "^4.8.1", - "mini-css-extract-plugin": "^2.8.1", + "memfs": "^4.8.2", + "mini-css-extract-plugin": "^2.9.0", "mlly": "^1.6.1", "ohash": "^1.1.3", "pathe": "^1.1.2", @@ -78,7 +78,7 @@ "@types/webpack-hot-middleware": "2.25.9", "@types/webpack-virtual-modules": "0.4.2", "unbuild": "latest", - "vue": "3.4.21" + "vue": "3.4.23" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e881e9d54a..acae400e4b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,10 +9,10 @@ overrides: '@nuxt/schema': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - rollup: ^4.14.2 + rollup: ^4.14.3 nuxt: workspace:* - vite: 5.2.8 - vue: 3.4.21 + vite: 5.2.9 + vue: 3.4.23 magic-string: ^0.30.9 importers: @@ -23,20 +23,20 @@ importers: specifier: 9.0.0 version: 9.0.0 '@nuxt/eslint-config': - specifier: 0.3.6 - version: 0.3.6(eslint@9.0.0)(typescript@5.4.5) + specifier: 0.3.7 + version: 0.3.7(eslint@9.0.0)(typescript@5.4.5) '@nuxt/kit': specifier: workspace:* version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.1 - version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) + version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack '@testing-library/vue': specifier: 8.0.3 - version: 8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)) + version: 8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)) '@types/eslint__js': specifier: 8.42.3 version: 8.42.3 @@ -74,11 +74,11 @@ importers: specifier: 3.1.0 version: 3.1.0 eslint-plugin-perfectionist: - specifier: 2.8.0 - version: 2.8.0(eslint@9.0.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.0.0)) + specifier: 2.9.0 + version: 2.9.0(eslint@9.0.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.0.0)) eslint-typegen: - specifier: 0.2.2 - version: 0.2.2(eslint@9.0.0) + specifier: 0.2.3 + version: 0.2.3(eslint@9.0.0) execa: specifier: 8.0.1 version: 8.0.1 @@ -141,13 +141,13 @@ importers: version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) + version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) vue-router: - specifier: 4.3.0 - version: 4.3.0(vue@3.4.21(typescript@5.4.5)) + specifier: 4.3.1 + version: 4.3.1(vue@3.4.23(typescript@5.4.5)) vue-tsc: specifier: 2.0.13 version: 2.0.13(typescript@5.4.5) @@ -204,7 +204,7 @@ importers: version: 2.3.1 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.2) + version: 3.7.1(rollup@4.14.3) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -228,8 +228,8 @@ importers: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: - specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + specifier: 5.2.9 + version: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) @@ -244,7 +244,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.1.5 - version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.14.2)(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + version: 1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.14.3)(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -271,10 +271,10 @@ importers: version: 1.9.5 '@unhead/vue': specifier: ^1.9.5 - version: 1.9.5(vue@3.4.21(typescript@5.4.5)) + version: 1.9.5(vue@3.4.23(typescript@5.4.5)) '@vue/shared': - specifier: ^3.4.21 - version: 3.4.21 + specifier: ^3.4.23 + version: 3.4.23 acorn: specifier: 8.11.3 version: 8.11.3 @@ -385,13 +385,13 @@ importers: version: 1.9.0 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.2) + version: 3.7.1(rollup@4.14.3) unplugin: specifier: ^1.10.1 version: 1.10.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.14.2)(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) + version: 0.7.0(rollup@4.14.3)(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -399,8 +399,8 @@ importers: specifier: ^1.4.2 version: 1.4.2 vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -408,8 +408,8 @@ importers: specifier: ^0.1.0 version: 0.1.0 vue-router: - specifier: ^4.3.0 - version: 4.3.0(vue@3.4.21(typescript@5.4.5)) + specifier: ^4.3.1 + version: 4.3.1(vue@3.4.23(typescript@5.4.5)) devDependencies: '@parcel/watcher': specifier: 2.4.1 @@ -422,13 +422,13 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + version: 5.0.4(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) unbuild: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: - specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + specifier: 5.2.9 + version: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) @@ -464,7 +464,7 @@ importers: version: 1.5.3 unimport: specifier: ^3.7.1 - version: 3.7.1(rollup@4.14.2) + version: 3.7.1(rollup@4.14.3) untyped: specifier: ^1.4.2 version: 1.4.2 @@ -486,16 +486,16 @@ importers: version: 1.9.5 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + version: 5.0.4(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: 3.1.0 - version: 3.1.0(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + version: 3.1.0(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) '@vue/compiler-core': - specifier: 3.4.21 - version: 3.4.21 + specifier: 3.4.23 + version: 3.4.23 '@vue/compiler-sfc': - specifier: 3.4.21 - version: 3.4.21 + specifier: 3.4.23 + version: 3.4.23 '@vue/language-core': specifier: 2.0.13 version: 2.0.13(typescript@5.4.5) @@ -527,20 +527,20 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + specifier: 5.2.9 + version: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) vue-bundle-renderer: specifier: 2.0.0 version: 2.0.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5))(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5))(webpack@5.91.0) vue-router: - specifier: 4.3.0 - version: 4.3.0(vue@3.4.21(typescript@5.4.5)) + specifier: 4.3.1 + version: 4.3.1(vue@3.4.23(typescript@5.4.5)) webpack: specifier: 5.91.0 version: 5.91.0 @@ -555,13 +555,13 @@ importers: version: link:../kit '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.14.2) + version: 5.0.5(rollup@4.14.3) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + version: 5.0.4(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) + version: 3.1.0(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -624,7 +624,7 @@ importers: version: 8.4.38 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.14.2) + version: 5.12.0(rollup@4.14.3) std-env: specifier: ^3.7.0 version: 3.7.0 @@ -641,14 +641,14 @@ importers: specifier: ^1.10.1 version: 1.10.1 vite: - specifier: 5.2.8 - version: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + specifier: 5.2.9 + version: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vite-node: specifier: ^1.4.0 version: 1.4.0(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.0.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.13(typescript@5.4.5)) + version: 0.6.4(eslint@9.0.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.13(typescript@5.4.5)) vue-bundle-renderer: specifier: ^2.0.0 version: 2.0.0 @@ -669,8 +669,8 @@ importers: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) packages/webpack: dependencies: @@ -726,11 +726,11 @@ importers: specifier: ^0.30.9 version: 0.30.9 memfs: - specifier: ^4.8.1 - version: 4.8.1 + specifier: ^4.8.2 + version: 4.8.2 mini-css-extract-plugin: - specifier: ^2.8.1 - version: 2.8.1(webpack@5.91.0) + specifier: ^2.9.0 + version: 2.9.0(webpack@5.91.0) mlly: specifier: ^1.6.1 version: 1.6.1 @@ -784,7 +784,7 @@ importers: version: 2.0.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5))(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5))(webpack@5.91.0) webpack: specifier: ^5.91.0 version: 5.91.0 @@ -829,8 +829,8 @@ importers: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) playground: dependencies: @@ -838,8 +838,8 @@ importers: specifier: workspace:* version: link:../packages/nuxt vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) test/fixtures/basic: dependencies: @@ -857,8 +857,8 @@ importers: specifier: latest version: 1.10.1 vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) test/fixtures/basic-types: dependencies: @@ -873,11 +873,11 @@ importers: specifier: 1.0.2 version: 1.0.2(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) vue-router: specifier: latest - version: 4.3.0(vue@3.4.21(typescript@5.4.5)) + version: 4.3.1(vue@3.4.23(typescript@5.4.5)) test/fixtures/minimal: dependencies: @@ -885,8 +885,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) test/fixtures/minimal-types: dependencies: @@ -894,8 +894,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) test/fixtures/runtime-compiler: dependencies: @@ -909,8 +909,8 @@ importers: specifier: workspace:* version: link:../../../packages/nuxt vue: - specifier: 3.4.21 - version: 3.4.21(typescript@5.4.5) + specifier: 3.4.23 + version: 3.4.23(typescript@5.4.5) devDependencies: typescript: specifier: latest @@ -1703,7 +1703,7 @@ packages: resolution: {integrity: sha512-Nb/NKFCRtxyqcPD6snB52rXtbRQMjGtn3ncpa8cLWsnoqnkd9emQ4uwV8IwCNxTnqUBtbGU79/TlJ79SKH9TAw==} peerDependencies: nuxt: workspace:* - vite: 5.2.8 + vite: 5.2.9 '@nuxt/devtools-wizard@1.1.5': resolution: {integrity: sha512-bWLgLvYFbYCQYlLPttZaUo58cS1VJo1uEFguHaCwZ7Fzkm4Iv+lFTv5BzD+gOHwohaXLr3YecgZOO4YNJTgXyA==} @@ -1714,15 +1714,15 @@ packages: hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.2.8 + vite: 5.2.9 - '@nuxt/eslint-config@0.3.6': - resolution: {integrity: sha512-uuAPflhCSym2UUs+613CU4GJo10wtFFwzZLba/fHO7H6IqpVk8kHGDuwrV/AvVwnty8IhIIqOXBgrx16RoDkSA==} + '@nuxt/eslint-config@0.3.7': + resolution: {integrity: sha512-Pm3bf/XfbG9r/C76BSbeEquu3gXSsjoQYbILQP/peVBEM1gSJM2rPMmawfgV7V13UORpFBXhhk5hKQ3p7Auwkg==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@nuxt/eslint-plugin@0.3.6': - resolution: {integrity: sha512-kyfvqWkxcMT672WkiupEZI6a/sDL6CLdZt5HS8SfjUe2rcZOvc0TRSMXKAvo+XBZlnJA/fIOKQMa8qUkLoBXWw==} + '@nuxt/eslint-plugin@0.3.7': + resolution: {integrity: sha512-dg5Lxvf+jHO5otRb6j0tYHlL5/MjLPKv8ebb4AmRVr1Ou/qeyj3Gk9ZRW5aE0R9fOykyPTLTlGjsXeo/qU1sDA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1750,9 +1750,9 @@ packages: happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 playwright-core: ^1.34.3 - vite: 5.2.8 + vite: 5.2.9 vitest: ^0.34.6 || ^1.0.0 - vue: 3.4.21 + vue: 3.4.23 vue-router: ^4.0.0 peerDependenciesMeta: '@cucumber/cucumber': @@ -1878,7 +1878,7 @@ packages: resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true @@ -1887,7 +1887,7 @@ packages: resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true @@ -1896,7 +1896,7 @@ packages: resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true @@ -1905,7 +1905,7 @@ packages: resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true @@ -1914,7 +1914,7 @@ packages: resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true @@ -1923,7 +1923,7 @@ packages: resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true @@ -1932,7 +1932,7 @@ packages: resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true @@ -1945,88 +1945,93 @@ packages: resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.14.2': - resolution: {integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==} + '@rollup/rollup-android-arm-eabi@4.14.3': + resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.14.2': - resolution: {integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==} + '@rollup/rollup-android-arm64@4.14.3': + resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.14.2': - resolution: {integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==} + '@rollup/rollup-darwin-arm64@4.14.3': + resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.14.2': - resolution: {integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==} + '@rollup/rollup-darwin-x64@4.14.3': + resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.14.2': - resolution: {integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==} + '@rollup/rollup-linux-arm-gnueabihf@4.14.3': + resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.14.2': - resolution: {integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==} + '@rollup/rollup-linux-arm-musleabihf@4.14.3': + resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.14.3': + resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.14.2': - resolution: {integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==} + '@rollup/rollup-linux-arm64-musl@4.14.3': + resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.14.2': - resolution: {integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.14.3': + resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.14.2': - resolution: {integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==} + '@rollup/rollup-linux-riscv64-gnu@4.14.3': + resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.14.2': - resolution: {integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==} + '@rollup/rollup-linux-s390x-gnu@4.14.3': + resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.14.2': - resolution: {integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==} + '@rollup/rollup-linux-x64-gnu@4.14.3': + resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.14.2': - resolution: {integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==} + '@rollup/rollup-linux-x64-musl@4.14.3': + resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.14.2': - resolution: {integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==} + '@rollup/rollup-win32-arm64-msvc@4.14.3': + resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.14.2': - resolution: {integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==} + '@rollup/rollup-win32-ia32-msvc@4.14.3': + resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.14.2': - resolution: {integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==} + '@rollup/rollup-win32-x64-msvc@4.14.3': + resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==} cpu: [x64] os: [win32] - '@rushstack/eslint-patch@1.10.1': - resolution: {integrity: sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg==} + '@rushstack/eslint-patch@1.10.2': + resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} '@shikijs/core@1.1.2': resolution: {integrity: sha512-ERVzNQz88ZkDqUpWeC57Kp+Kmx5RjqeDBR1M8AGWGom4yrkITiTfXCGmjchlDSw12MhDTuPYR4HVFW8uT61RaQ==} @@ -2116,7 +2121,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@vue/compiler-sfc': '>= 3' - vue: 3.4.21 + vue: 3.4.23 peerDependenciesMeta: '@vue/compiler-sfc': optional: true @@ -2152,8 +2157,8 @@ packages: '@types/eslint-scope@3.7.6': resolution: {integrity: sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==} - '@types/eslint@8.56.7': - resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} + '@types/eslint@8.56.9': + resolution: {integrity: sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==} '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} @@ -2373,12 +2378,12 @@ packages: '@unhead/vue@1.9.5': resolution: {integrity: sha512-L3yDB6Mwm92gJNPqZApMwfGluS0agR0HIizkXCKKz3WkZ+ef/negMwTNGpTtd+uqh/+hSyG73Bl4yySuPsD4nA==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 '@unocss/astro@0.58.6': resolution: {integrity: sha512-0BvbhEp5Ln6wFNnhISusB2hcfycWkdgnjlFMcLT69efvj4G39MzB6JYT/1qiidLfpj35HcqkpBz7TfZ4bUmOAw==} peerDependencies: - vite: 5.2.8 + vite: 5.2.9 peerDependenciesMeta: vite: optional: true @@ -2459,7 +2464,7 @@ packages: '@unocss/vite@0.58.6': resolution: {integrity: sha512-DPXCoYU/Ozqc/Jeptd41XvtW8MSgVxmtTyhpMAsm/hJuBfwIV7Fy3TZquf4V9BpaTb4ao1LVXzgXmVUmj2HXpA==} peerDependencies: - vite: 5.2.8 + vite: 5.2.9 '@vercel/nft@0.26.4': resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} @@ -2470,15 +2475,15 @@ packages: resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 5.2.8 - vue: 3.4.21 + vite: 5.2.9 + vue: 3.4.23 '@vitejs/plugin-vue@5.0.4': resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.2.8 - vue: 3.4.21 + vite: 5.2.9 + vue: 3.4.23 '@vitest/coverage-v8@1.4.0': resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} @@ -2534,7 +2539,7 @@ packages: resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 peerDependenciesMeta: vue: optional: true @@ -2547,17 +2552,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.4.21': - resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + '@vue/compiler-core@3.4.23': + resolution: {integrity: sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==} - '@vue/compiler-dom@3.4.21': - resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + '@vue/compiler-dom@3.4.23': + resolution: {integrity: sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==} - '@vue/compiler-sfc@3.4.21': - resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + '@vue/compiler-sfc@3.4.23': + resolution: {integrity: sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==} - '@vue/compiler-ssr@3.4.21': - resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + '@vue/compiler-ssr@3.4.23': + resolution: {integrity: sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==} '@vue/devtools-api@6.5.1': resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} @@ -2565,7 +2570,7 @@ packages: '@vue/devtools-applet@7.0.25': resolution: {integrity: sha512-9JwnjRO2tAHxFjA+cHSpQ/DKIqUKILvYaWJkOt1KqkedXPHzUWU1NfQAto+p6ycaKInA5A0VdXdmIl4N8YJCrw==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 '@vue/devtools-core@7.0.25': resolution: {integrity: sha512-aCsY4J6SvSBDuGdYADszByT0wy0GgpgdCApxcZzQEqYlyVchX7vqznJQrm7Y1GCLqAvoLaxsQqew7Cz+KQ3Idg==} @@ -2573,7 +2578,7 @@ packages: '@vue/devtools-kit@7.0.25': resolution: {integrity: sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 '@vue/devtools-shared@7.0.25': resolution: {integrity: sha512-5+XYhcHSXuJSguYnNwL6/e6VTmXwCfryWQOkffh9ZU2zMByybqqqBrMWqvBkqTmMFCjPdzulo66xXbVbwLaElQ==} @@ -2584,7 +2589,7 @@ packages: '@unocss/reset': '>=0.50.0-0' floating-vue: '>=2.0.0-0' unocss: '>=0.50.0-0' - vue: 3.4.21 + vue: 3.4.23 '@vue/language-core@1.8.27': resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} @@ -2602,22 +2607,22 @@ packages: typescript: optional: true - '@vue/reactivity@3.4.21': - resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + '@vue/reactivity@3.4.23': + resolution: {integrity: sha512-GlXR9PL+23fQ3IqnbSQ8OQKLodjqCyoCrmdLKZk3BP7jN6prWheAfU7a3mrltewTkoBm+N7qMEb372VHIkQRMQ==} - '@vue/runtime-core@3.4.21': - resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + '@vue/runtime-core@3.4.23': + resolution: {integrity: sha512-FeQ9MZEXoFzFkFiw9MQQ/FWs3srvrP+SjDKSeRIiQHIhtkzoj0X4rWQlRNHbGuSwLra6pMyjAttwixNMjc/xLw==} - '@vue/runtime-dom@3.4.21': - resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + '@vue/runtime-dom@3.4.23': + resolution: {integrity: sha512-RXJFwwykZWBkMiTPSLEWU3kgVLNAfActBfWFlZd0y79FTUxexogd0PLG4HH2LfOktjRxV47Nulygh0JFXe5f9A==} - '@vue/server-renderer@3.4.21': - resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + '@vue/server-renderer@3.4.23': + resolution: {integrity: sha512-LDwGHtnIzvKFNS8dPJ1SSU5Gvm36p2ck8wCZc52fc3k/IfjKcwCyrWEf0Yag/2wTFUBXrqizfhK9c/mC367dXQ==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 - '@vue/shared@3.4.21': - resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + '@vue/shared@3.4.23': + resolution: {integrity: sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg==} '@vue/test-utils@2.4.5': resolution: {integrity: sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==} @@ -3672,8 +3677,8 @@ packages: eslint-config-flat-gitignore@0.1.5: resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} - eslint-flat-config-utils@0.2.2: - resolution: {integrity: sha512-iWjXCsGBuyqlGhmam4V9IXlxpDfnc7l0VC1YzncROF2PYIPSRpejugrIp2bXPT5mutKF3zq69Vbt7J9su9E/Lw==} + eslint-flat-config-utils@0.2.3: + resolution: {integrity: sha512-tfrMNXZfuN4q7sFi1Cr//BN3qdI7c8fLJhbshlp8l9PZIqZ7eVeeyd2Regtu/P9kjOlv18lRlBALzsZaF7ByUg==} eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -3694,8 +3699,8 @@ packages: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@2.8.0: - resolution: {integrity: sha512-XBjQ4ctU1rOzQ4bFJoUowe8XdsIIz42JqNrouFlae1TO78HjoyYBaRP8+gAHDDQCSdHY10pbChyzlJeBA6D51w==} + eslint-plugin-perfectionist@2.9.0: + resolution: {integrity: sha512-ipFtDrqtF99qVVo+FE1fo6aHyLLp7hg6PNGfzY5KxQjcl0XCbyEFvjtR1NfkHDTN9rdFeEDxg59LLOv3VOAHAw==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -3718,8 +3723,8 @@ packages: peerDependencies: eslint: '>=8.56.0' - eslint-plugin-vue@9.24.1: - resolution: {integrity: sha512-wk3SuwmS1pZdcuJlokGYEi/buDOwD6KltvhIZyOnpJ/378dcQ4zchu9PAMbbLAaydCz1iYc5AozszcOOgZIIOg==} + eslint-plugin-vue@9.25.0: + resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -3736,8 +3741,8 @@ packages: resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-typegen@0.2.2: - resolution: {integrity: sha512-hgKW5octZPdbnOvzWYjzdk3fD8P8n2c7RvmYlVF3zLFjkf2wyvAf9QRt/r8a7jYzqh6lZrVgr81XOe5jwz3z9g==} + eslint-typegen@0.2.3: + resolution: {integrity: sha512-mqK+DFIztmumA76bLwP0TZmeMZCmsrT0Dqw/JoQonZFluG1cpI7I/C+kk56wIoHvgU0+uvkNO0h47byEY7wuMg==} peerDependencies: eslint: ^8.45.0 || ^9.0.0 @@ -3893,7 +3898,7 @@ packages: resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': workspace:* - vue: 3.4.21 + vue: 3.4.23 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -4819,8 +4824,8 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - memfs@4.8.1: - resolution: {integrity: sha512-7q/AdPzf2WpwPlPL4v1kE2KsJsHl7EF4+hAeVzlyanr2+YnR21NVn9mDqo+7DEaKDRsQy8nvxPlKH4WqMtiO0w==} + memfs@4.8.2: + resolution: {integrity: sha512-j4WKth315edViMBGkHW6NTF0QBjsTrcRDmYNcGsPq+ozMEyCCCIlX2d2mJ5wuh6iHvJ3FevUrr48v58YRqVdYg==} engines: {node: '>= 4.0.0'} memory-fs@0.5.0: @@ -4962,8 +4967,8 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - mini-css-extract-plugin@2.8.1: - resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} + mini-css-extract-plugin@2.9.0: + resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -5960,7 +5965,7 @@ packages: resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 typescript: ^4.5 || ^5.0 rollup-plugin-visualizer@5.12.0: @@ -5968,13 +5973,13 @@ packages: engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^4.14.2 + rollup: ^4.14.3 peerDependenciesMeta: rollup: optional: true - rollup@4.14.2: - resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==} + rollup@4.14.3: + resolution: {integrity: sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -6538,7 +6543,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.58.6 - vite: 5.2.8 + vite: 5.2.9 peerDependenciesMeta: '@unocss/webpack': optional: true @@ -6667,7 +6672,7 @@ packages: vite-hot-client@0.2.3: resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: - vite: 5.2.8 + vite: 5.2.9 vite-node@1.0.2: resolution: {integrity: sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==} @@ -6688,7 +6693,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.2.8 + vite: 5.2.9 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -6715,7 +6720,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.2.8 + vite: 5.2.9 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -6723,10 +6728,10 @@ packages: vite-plugin-vue-inspector@4.0.2: resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: 5.2.8 + vite: 5.2.9 - vite@5.2.8: - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + vite@5.2.9: + resolution: {integrity: sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -6846,7 +6851,7 @@ packages: hasBin: true peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 - vue: 3.4.21 + vue: 3.4.23 peerDependenciesMeta: '@vue/composition-api': optional: true @@ -6875,17 +6880,17 @@ packages: vue-observe-visibility@2.0.0-alpha.1: resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 vue-resize@2.0.0-alpha.1: resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 - vue-router@4.3.0: - resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} + vue-router@4.3.1: + resolution: {integrity: sha512-D0h3oyP6vp28BOvxv2hVpiqFTjTJizCf1BuMmCibc8UW0Ll/N80SWqDd/hqPMaZfzW1j+s2s+aTRyBIP9ElzOw==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -6899,10 +6904,10 @@ packages: vue-virtual-scroller@2.0.0-beta.8: resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} peerDependencies: - vue: 3.4.21 + vue: 3.4.23 - vue@3.4.21: - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + vue@3.4.23: + resolution: {integrity: sha512-X1y6yyGJ28LMUBJ0k/qIeKHstGd+BlWQEOT40x3auJFTmpIhpbKLgN7EFsqalnJXq1Km5ybDEsp6BhuWKciUDg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7781,13 +7786,13 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': + '@nuxt/devtools-kit@1.1.5(nuxt@packages+nuxt)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 nuxt: link:packages/nuxt - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) '@nuxt/devtools-wizard@1.1.5': dependencies: @@ -7802,15 +7807,15 @@ snapshots: rc9: 2.1.2 semver: 7.6.0 - '@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.14.2)(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + '@nuxt/devtools@1.1.5(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.14.3)(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/devtools-kit': 1.1.5(nuxt@packages+nuxt)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.1.5 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) - '@vue/devtools-core': 7.0.25(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) - '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-applet': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) + '@vue/devtools-core': 7.0.25(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) + '@vue/devtools-kit': 7.0.25(vue@3.4.23(typescript@5.4.5)) birpc: 0.2.17 consola: 3.2.3 cronstrue: 2.48.0 @@ -7838,10 +7843,10 @@ snapshots: semver: 7.6.0 simple-git: 3.23.0 sirv: 2.0.4 - unimport: 3.7.1(rollup@4.14.2) - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) - vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) - vite-plugin-vue-inspector: 4.0.2(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + unimport: 3.7.1(rollup@4.14.3) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite-plugin-inspect: 0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -7867,21 +7872,21 @@ snapshots: - utf-8-validate - vue - '@nuxt/eslint-config@0.3.6(eslint@9.0.0)(typescript@5.4.5)': + '@nuxt/eslint-config@0.3.7(eslint@9.0.0)(typescript@5.4.5)': dependencies: '@eslint/js': 9.0.0 - '@nuxt/eslint-plugin': 0.3.6(eslint@9.0.0)(typescript@5.4.5) - '@rushstack/eslint-patch': 1.10.1 + '@nuxt/eslint-plugin': 0.3.7(eslint@9.0.0)(typescript@5.4.5) + '@rushstack/eslint-patch': 1.10.2 '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.5) '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5))(eslint@9.0.0)(typescript@5.4.5) '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 eslint-config-flat-gitignore: 0.1.5 - eslint-flat-config-utils: 0.2.2 + eslint-flat-config-utils: 0.2.3 eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.5) eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) - eslint-plugin-vue: 9.24.1(eslint@9.0.0) + eslint-plugin-vue: 9.25.0(eslint@9.0.0) globals: 15.0.0 pathe: 1.1.2 tslib: 2.6.2 @@ -7890,7 +7895,7 @@ snapshots: - supports-color - typescript - '@nuxt/eslint-plugin@0.3.6(eslint@9.0.0)(typescript@5.4.5)': + '@nuxt/eslint-plugin@0.3.7(eslint@9.0.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 7.6.0 '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) @@ -7927,7 +7932,7 @@ snapshots: rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5))': + '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -7952,12 +7957,12 @@ snapshots: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) - vue: 3.4.21(typescript@5.4.5) - vue-router: 4.3.0(vue@3.4.21(typescript@5.4.5)) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) + vue: 3.4.23(typescript@5.4.5) + vue-router: 4.3.1(vue@3.4.23(typescript@5.4.5)) optionalDependencies: - '@testing-library/vue': 8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)) + '@testing-library/vue': 8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)) '@vue/test-utils': 2.4.5 happy-dom: 14.7.1 playwright-core: 1.43.1 @@ -7971,7 +7976,7 @@ snapshots: '@shikijs/transformers': 1.1.2 '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - '@vue/compiler-core': 3.4.21 + '@vue/compiler-core': 3.4.23 consola: 3.2.3 debug: 4.3.4 defu: 6.1.4 @@ -8073,122 +8078,125 @@ snapshots: '@polka/url@1.0.0-next.24': {} - '@rollup/plugin-alias@5.1.0(rollup@4.14.2)': + '@rollup/plugin-alias@5.1.0(rollup@4.14.3)': dependencies: slash: 4.0.0 optionalDependencies: - rollup: 4.14.2 + rollup: 4.14.3 - '@rollup/plugin-commonjs@25.0.7(rollup@4.14.2)': + '@rollup/plugin-commonjs@25.0.7(rollup@4.14.3)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.9 optionalDependencies: - rollup: 4.14.2 + rollup: 4.14.3 - '@rollup/plugin-inject@5.0.5(rollup@4.14.2)': + '@rollup/plugin-inject@5.0.5(rollup@4.14.3)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) estree-walker: 2.0.2 magic-string: 0.30.9 optionalDependencies: - rollup: 4.14.2 + rollup: 4.14.3 - '@rollup/plugin-json@6.1.0(rollup@4.14.2)': + '@rollup/plugin-json@6.1.0(rollup@4.14.3)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) optionalDependencies: - rollup: 4.14.2 + rollup: 4.14.3 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.14.2)': + '@rollup/plugin-node-resolve@15.2.3(rollup@4.14.3)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@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.14.2 + rollup: 4.14.3 - '@rollup/plugin-replace@5.0.5(rollup@4.14.2)': + '@rollup/plugin-replace@5.0.5(rollup@4.14.3)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) magic-string: 0.30.9 optionalDependencies: - rollup: 4.14.2 + rollup: 4.14.3 - '@rollup/plugin-terser@0.4.4(rollup@4.14.2)': + '@rollup/plugin-terser@0.4.4(rollup@4.14.3)': dependencies: serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 optionalDependencies: - rollup: 4.14.2 + rollup: 4.14.3 '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.1.0(rollup@4.14.2)': + '@rollup/pluginutils@5.1.0(rollup@4.14.3)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.14.2 + rollup: 4.14.3 - '@rollup/rollup-android-arm-eabi@4.14.2': + '@rollup/rollup-android-arm-eabi@4.14.3': optional: true - '@rollup/rollup-android-arm64@4.14.2': + '@rollup/rollup-android-arm64@4.14.3': optional: true - '@rollup/rollup-darwin-arm64@4.14.2': + '@rollup/rollup-darwin-arm64@4.14.3': optional: true - '@rollup/rollup-darwin-x64@4.14.2': + '@rollup/rollup-darwin-x64@4.14.3': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.14.2': + '@rollup/rollup-linux-arm-gnueabihf@4.14.3': optional: true - '@rollup/rollup-linux-arm64-gnu@4.14.2': + '@rollup/rollup-linux-arm-musleabihf@4.14.3': optional: true - '@rollup/rollup-linux-arm64-musl@4.14.2': + '@rollup/rollup-linux-arm64-gnu@4.14.3': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.14.2': + '@rollup/rollup-linux-arm64-musl@4.14.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.14.2': + '@rollup/rollup-linux-powerpc64le-gnu@4.14.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.14.2': + '@rollup/rollup-linux-riscv64-gnu@4.14.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.14.2': + '@rollup/rollup-linux-s390x-gnu@4.14.3': optional: true - '@rollup/rollup-linux-x64-musl@4.14.2': + '@rollup/rollup-linux-x64-gnu@4.14.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.14.2': + '@rollup/rollup-linux-x64-musl@4.14.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.14.2': + '@rollup/rollup-win32-arm64-msvc@4.14.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.14.2': + '@rollup/rollup-win32-ia32-msvc@4.14.3': optional: true - '@rushstack/eslint-patch@1.10.1': {} + '@rollup/rollup-win32-x64-msvc@4.14.3': + optional: true + + '@rushstack/eslint-patch@1.10.2': {} '@shikijs/core@1.1.2': {} @@ -8209,14 +8217,14 @@ snapshots: '@shikijs/vitepress-twoslash@1.1.6(@nuxt/kit@packages+kit)(typescript@5.4.5)': dependencies: '@shikijs/twoslash': 1.1.6(typescript@5.4.5) - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.1.6 twoslash: 0.2.4(typescript@5.4.5) twoslash-vue: 0.2.4(typescript@5.4.5) - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -8260,7 +8268,7 @@ snapshots: '@stylistic/eslint-plugin-js@1.7.0(eslint@9.0.0)': dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 acorn: 8.11.3 escape-string-regexp: 4.0.0 eslint: 9.0.0 @@ -8270,14 +8278,14 @@ snapshots: '@stylistic/eslint-plugin-jsx@1.7.0(eslint@9.0.0)': dependencies: '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 eslint: 9.0.0 estraverse: 5.3.0 picomatch: 4.0.1 '@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.5)': dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 transitivePeerDependencies: @@ -8287,7 +8295,7 @@ snapshots: '@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.5)': dependencies: '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 transitivePeerDependencies: @@ -8300,7 +8308,7 @@ snapshots: '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@9.0.0) '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.5) '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.5) - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 eslint: 9.0.0 transitivePeerDependencies: - supports-color @@ -8317,14 +8325,14 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5))': + '@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5))': dependencies: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 '@vue/test-utils': 2.4.5 - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) optionalDependencies: - '@vue/compiler-sfc': 3.4.21 + '@vue/compiler-sfc': 3.4.23 '@tootallnate/once@2.0.0': {} @@ -8351,17 +8359,17 @@ snapshots: '@types/eslint-scope@3.7.6': dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 '@types/estree': 1.0.5 - '@types/eslint@8.56.7': + '@types/eslint@8.56.9': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 '@types/eslint__js@8.42.3': dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 '@types/estree@1.0.5': {} @@ -8652,28 +8660,28 @@ snapshots: '@unhead/schema': 1.9.5 '@unhead/shared': 1.9.5 - '@unhead/vue@1.9.5(vue@3.4.21(typescript@5.4.5))': + '@unhead/vue@1.9.5(vue@3.4.23(typescript@5.4.5))': dependencies: '@unhead/schema': 1.9.5 '@unhead/shared': 1.9.5 hookable: 5.5.3 unhead: 1.9.5 - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) - '@unocss/astro@0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.58.6(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.58.6(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/cli@0.58.6(rollup@4.14.2)': + '@unocss/cli@0.58.6(rollup@4.14.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/preset-uno': 0.58.6 @@ -8797,10 +8805,10 @@ snapshots: dependencies: '@unocss/core': 0.58.6 - '@unocss/vite@0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.58.6(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@unocss/config': 0.58.6 '@unocss/core': 0.58.6 '@unocss/inspector': 0.58.6 @@ -8809,7 +8817,7 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup @@ -8831,20 +8839,20 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5))': dependencies: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) - vue: 3.4.21(typescript@5.4.5) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vue: 3.4.23(typescript@5.4.5) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.0.4(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + '@vitejs/plugin-vue@5.0.4(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5))': dependencies: - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) - vue: 3.4.21(typescript@5.4.5) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vue: 3.4.23(typescript@5.4.5) '@vitest/coverage-v8@1.4.0(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))': dependencies: @@ -8944,16 +8952,16 @@ snapshots: '@volar/language-core': 2.2.0-alpha.8 path-browserify: 1.0.1 - '@vue-macros/common@1.10.1(rollup@4.14.2)(vue@3.4.21(typescript@5.4.5))': + '@vue-macros/common@1.10.1(rollup@4.14.3)(vue@3.4.23(typescript@5.4.5))': dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + '@vue/compiler-sfc': 3.4.23 + ast-kit: 0.11.3(rollup@4.14.3) local-pkg: 0.5.0 magic-string-ast: 0.3.0 optionalDependencies: - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) transitivePeerDependencies: - rollup @@ -8974,48 +8982,48 @@ snapshots: transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.4.21': + '@vue/compiler-core@3.4.23': dependencies: '@babel/parser': 7.24.1 - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.23 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.21': + '@vue/compiler-dom@3.4.23': dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-core': 3.4.23 + '@vue/shared': 3.4.23 - '@vue/compiler-sfc@3.4.21': + '@vue/compiler-sfc@3.4.23': dependencies: '@babel/parser': 7.24.1 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-core': 3.4.23 + '@vue/compiler-dom': 3.4.23 + '@vue/compiler-ssr': 3.4.23 + '@vue/shared': 3.4.23 estree-walker: 2.0.2 magic-string: 0.30.9 postcss: 8.4.38 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.21': + '@vue/compiler-ssr@3.4.23': dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-dom': 3.4.23 + '@vue/shared': 3.4.23 '@vue/devtools-api@6.5.1': {} - '@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + '@vue/devtools-applet@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5))': dependencies: - '@vue/devtools-core': 7.0.25(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5)) - '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-core': 7.0.25(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) + '@vue/devtools-kit': 7.0.25(vue@3.4.23(typescript@5.4.5)) '@vue/devtools-shared': 7.0.25 - '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-ui': 7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.23(typescript@5.4.5)) perfect-debounce: 1.0.0 splitpanes: 3.1.5 - vue: 3.4.21(typescript@5.4.5) - vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21(typescript@5.4.5)) + vue: 3.4.23(typescript@5.4.5) + vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.23(typescript@5.4.5)) transitivePeerDependencies: - '@unocss/reset' - '@vue/composition-api' @@ -9034,42 +9042,42 @@ snapshots: - unocss - vite - '@vue/devtools-core@7.0.25(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.21(typescript@5.4.5))': + '@vue/devtools-core@7.0.25(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5))': dependencies: - '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-kit': 7.0.25(vue@3.4.23(typescript@5.4.5)) '@vue/devtools-shared': 7.0.25 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + vite-hot-client: 0.2.3(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) transitivePeerDependencies: - vite - vue - '@vue/devtools-kit@7.0.25(vue@3.4.21(typescript@5.4.5))': + '@vue/devtools-kit@7.0.25(vue@3.4.23(typescript@5.4.5))': dependencies: '@vue/devtools-shared': 7.0.25 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) '@vue/devtools-shared@7.0.25': dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.21(typescript@5.4.5))': + '@vue/devtools-ui@7.0.25(@unocss/reset@0.58.6)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)))(unocss@0.58.6(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.23(typescript@5.4.5))': dependencies: '@unocss/reset': 0.58.6 - '@vueuse/components': 10.9.0(vue@3.4.21(typescript@5.4.5)) - '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.5)) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21(typescript@5.4.5)) + '@vueuse/components': 10.9.0(vue@3.4.23(typescript@5.4.5)) + '@vueuse/core': 10.9.0(vue@3.4.23(typescript@5.4.5)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.23(typescript@5.4.5)) colord: 2.9.3 - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) - vue: 3.4.21(typescript@5.4.5) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + vue: 3.4.23(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -9088,8 +9096,8 @@ snapshots: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-dom': 3.4.23 + '@vue/shared': 3.4.23 computeds: 0.0.1 minimatch: 9.0.4 muggle-string: 0.3.1 @@ -9101,8 +9109,8 @@ snapshots: '@vue/language-core@2.0.13(typescript@5.4.5)': dependencies: '@volar/language-core': 2.2.0-alpha.8 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-dom': 3.4.23 + '@vue/shared': 3.4.23 computeds: 0.0.1 minimatch: 9.0.4 path-browserify: 1.0.1 @@ -9110,58 +9118,58 @@ snapshots: optionalDependencies: typescript: 5.4.5 - '@vue/reactivity@3.4.21': + '@vue/reactivity@3.4.23': dependencies: - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.23 - '@vue/runtime-core@3.4.21': + '@vue/runtime-core@3.4.23': dependencies: - '@vue/reactivity': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/reactivity': 3.4.23 + '@vue/shared': 3.4.23 - '@vue/runtime-dom@3.4.21': + '@vue/runtime-dom@3.4.23': dependencies: - '@vue/runtime-core': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/runtime-core': 3.4.23 + '@vue/shared': 3.4.23 csstype: 3.1.3 - '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.4.5))': + '@vue/server-renderer@3.4.23(vue@3.4.23(typescript@5.4.5))': dependencies: - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.5) + '@vue/compiler-ssr': 3.4.23 + '@vue/shared': 3.4.23 + vue: 3.4.23(typescript@5.4.5) - '@vue/shared@3.4.21': {} + '@vue/shared@3.4.23': {} '@vue/test-utils@2.4.5': dependencies: js-beautify: 1.14.9 vue-component-type-helpers: 2.0.6 - '@vueuse/components@10.9.0(vue@3.4.21(typescript@5.4.5))': + '@vueuse/components@10.9.0(vue@3.4.23(typescript@5.4.5))': dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.5)) - '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.5)) - vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.5)) + '@vueuse/core': 10.9.0(vue@3.4.23(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.23(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.23(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/core@10.9.0(vue@3.4.21(typescript@5.4.5))': + '@vueuse/core@10.9.0(vue@3.4.23(typescript@5.4.5))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.5)) - vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.23(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.23(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21(typescript@5.4.5))': + '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.23(typescript@5.4.5))': dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.5)) - '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.5)) - vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.5)) + '@vueuse/core': 10.9.0(vue@3.4.23(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.23(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.23(typescript@5.4.5)) optionalDependencies: focus-trap: 7.5.4 transitivePeerDependencies: @@ -9170,9 +9178,9 @@ snapshots: '@vueuse/metadata@10.9.0': {} - '@vueuse/shared@10.9.0(vue@3.4.21(typescript@5.4.5))': + '@vueuse/shared@10.9.0(vue@3.4.23(typescript@5.4.5))': dependencies: - vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.23(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -9411,26 +9419,26 @@ snapshots: assertion-error@1.1.0: {} - ast-kit@0.11.3(rollup@4.14.2): + ast-kit@0.11.3(rollup@4.14.3): dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) pathe: 1.1.2 transitivePeerDependencies: - rollup - ast-kit@0.9.5(rollup@4.14.2): + ast-kit@0.9.5(rollup@4.14.3): dependencies: '@babel/parser': 7.24.1 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) pathe: 1.1.2 transitivePeerDependencies: - rollup - ast-walker-scope@0.5.0(rollup@4.14.2): + ast-walker-scope@0.5.0(rollup@4.14.3): dependencies: '@babel/parser': 7.24.1 - ast-kit: 0.9.5(rollup@4.14.2) + ast-kit: 0.9.5(rollup@4.14.3) transitivePeerDependencies: - rollup @@ -10251,9 +10259,9 @@ snapshots: find-up: 7.0.0 parse-gitignore: 2.0.0 - eslint-flat-config-utils@0.2.2: + eslint-flat-config-utils@0.2.3: dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 pathe: 1.1.2 eslint-import-resolver-node@0.3.9: @@ -10296,7 +10304,7 @@ snapshots: eslint-plugin-no-only-tests@3.1.0: {} - eslint-plugin-perfectionist@2.8.0(eslint@9.0.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.0.0)): + eslint-plugin-perfectionist@2.9.0(eslint@9.0.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.0.0)): dependencies: '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 @@ -10330,7 +10338,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.24.1(eslint@9.0.0): + eslint-plugin-vue@9.25.0(eslint@9.0.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) eslint: 9.0.0 @@ -10359,9 +10367,9 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-typegen@0.2.2(eslint@9.0.0): + eslint-typegen@0.2.3(eslint@9.0.0): dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 eslint: 9.0.0 json-schema-to-typescript-lite: 14.0.0 ohash: 1.1.3 @@ -10561,11 +10569,11 @@ snapshots: flatted@3.3.1: {} - floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.21(typescript@5.4.5)): + floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.23(typescript@5.4.5)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.21(typescript@5.4.5) - vue-resize: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)) + vue: 3.4.23(typescript@5.4.5) + vue-resize: 2.0.0-alpha.1(vue@3.4.23(typescript@5.4.5)) optionalDependencies: '@nuxt/kit': link:packages/kit @@ -11660,7 +11668,7 @@ snapshots: dependencies: fs-monkey: 1.0.5 - memfs@4.8.1: + memfs@4.8.2: dependencies: tslib: 2.6.2 @@ -11889,7 +11897,7 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.8.1(webpack@5.91.0): + mini-css-extract-plugin@2.9.0(webpack@5.91.0): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 @@ -12021,14 +12029,14 @@ snapshots: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.14.2) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.2) - '@rollup/plugin-inject': 5.0.5(rollup@4.14.2) - '@rollup/plugin-json': 6.1.0(rollup@4.14.2) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.2) - '@rollup/plugin-replace': 5.0.5(rollup@4.14.2) - '@rollup/plugin-terser': 0.4.4(rollup@4.14.2) - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.3) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.3) + '@rollup/plugin-inject': 5.0.5(rollup@4.14.3) + '@rollup/plugin-json': 6.1.0(rollup@4.14.3) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.3) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.3) + '@rollup/plugin-terser': 0.4.4(rollup@4.14.3) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4(encoding@0.1.13) archiver: 7.0.1 @@ -12072,8 +12080,8 @@ snapshots: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.14.2 - rollup-plugin-visualizer: 5.12.0(rollup@4.14.2) + rollup: 4.14.3 + rollup-plugin-visualizer: 5.12.0(rollup@4.14.3) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 @@ -12083,7 +12091,7 @@ snapshots: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.14.2) + unimport: 3.7.1(rollup@4.14.3) unstorage: 1.10.2(ioredis@5.3.2) unwasm: 0.3.9 transitivePeerDependencies: @@ -13071,42 +13079,43 @@ snapshots: dependencies: glob: 10.3.10 - rollup-plugin-dts@6.1.0(rollup@4.14.2)(typescript@5.4.5): + rollup-plugin-dts@6.1.0(rollup@4.14.3)(typescript@5.4.5): dependencies: magic-string: 0.30.9 - rollup: 4.14.2 + rollup: 4.14.3 typescript: 5.4.5 optionalDependencies: '@babel/code-frame': 7.24.2 - rollup-plugin-visualizer@5.12.0(rollup@4.14.2): + rollup-plugin-visualizer@5.12.0(rollup@4.14.3): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.14.2 + rollup: 4.14.3 - rollup@4.14.2: + rollup@4.14.3: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.2 - '@rollup/rollup-android-arm64': 4.14.2 - '@rollup/rollup-darwin-arm64': 4.14.2 - '@rollup/rollup-darwin-x64': 4.14.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.2 - '@rollup/rollup-linux-arm64-gnu': 4.14.2 - '@rollup/rollup-linux-arm64-musl': 4.14.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.2 - '@rollup/rollup-linux-riscv64-gnu': 4.14.2 - '@rollup/rollup-linux-s390x-gnu': 4.14.2 - '@rollup/rollup-linux-x64-gnu': 4.14.2 - '@rollup/rollup-linux-x64-musl': 4.14.2 - '@rollup/rollup-win32-arm64-msvc': 4.14.2 - '@rollup/rollup-win32-ia32-msvc': 4.14.2 - '@rollup/rollup-win32-x64-msvc': 4.14.2 + '@rollup/rollup-android-arm-eabi': 4.14.3 + '@rollup/rollup-android-arm64': 4.14.3 + '@rollup/rollup-darwin-arm64': 4.14.3 + '@rollup/rollup-darwin-x64': 4.14.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.3 + '@rollup/rollup-linux-arm-musleabihf': 4.14.3 + '@rollup/rollup-linux-arm64-gnu': 4.14.3 + '@rollup/rollup-linux-arm64-musl': 4.14.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.3 + '@rollup/rollup-linux-riscv64-gnu': 4.14.3 + '@rollup/rollup-linux-s390x-gnu': 4.14.3 + '@rollup/rollup-linux-x64-gnu': 4.14.3 + '@rollup/rollup-linux-x64-musl': 4.14.3 + '@rollup/rollup-win32-arm64-msvc': 4.14.3 + '@rollup/rollup-win32-ia32-msvc': 4.14.3 + '@rollup/rollup-win32-x64-msvc': 4.14.3 fsevents: 2.3.3 run-applescript@5.0.0: @@ -13590,12 +13599,12 @@ snapshots: unbuild@2.0.0(sass@1.69.4)(typescript@5.4.5): dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.14.2) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.2) - '@rollup/plugin-json': 6.1.0(rollup@4.14.2) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.2) - '@rollup/plugin-replace': 5.0.5(rollup@4.14.2) - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.3) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.3) + '@rollup/plugin-json': 6.1.0(rollup@4.14.3) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.3) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.3) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -13610,8 +13619,8 @@ snapshots: pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 4.14.2 - rollup-plugin-dts: 6.1.0(rollup@4.14.2)(typescript@5.4.5) + rollup: 4.14.3 + rollup-plugin-dts: 6.1.0(rollup@4.14.3)(typescript@5.4.5) scule: 1.3.0 untyped: 1.4.2 optionalDependencies: @@ -13671,9 +13680,9 @@ snapshots: trough: 2.2.0 vfile: 6.0.1 - unimport@3.7.1(rollup@4.14.2): + unimport@3.7.1(rollup@4.14.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -13726,10 +13735,10 @@ snapshots: universalify@2.0.0: {} - unocss@0.58.6(postcss@8.4.38)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): + unocss@0.58.6(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) - '@unocss/cli': 0.58.6(rollup@4.14.2) + '@unocss/astro': 0.58.6(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.58.6(rollup@4.14.3) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 '@unocss/postcss': 0.58.6(postcss@8.4.38) @@ -13747,20 +13756,20 @@ snapshots: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.58.6(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - postcss - rollup - supports-color - unplugin-vue-router@0.7.0(rollup@4.14.2)(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)): + unplugin-vue-router@0.7.0(rollup@4.14.3)(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)): dependencies: '@babel/types': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) - '@vue-macros/common': 1.10.1(rollup@4.14.2)(vue@3.4.21(typescript@5.4.5)) - ast-walker-scope: 0.5.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + '@vue-macros/common': 1.10.1(rollup@4.14.3)(vue@3.4.23(typescript@5.4.5)) + ast-walker-scope: 0.5.0(rollup@4.14.3) chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 @@ -13771,7 +13780,7 @@ snapshots: unplugin: 1.10.1 yaml: 2.3.4 optionalDependencies: - vue-router: 4.3.0(vue@3.4.21(typescript@5.4.5)) + vue-router: 4.3.1(vue@3.4.23(typescript@5.4.5)) transitivePeerDependencies: - rollup - vue @@ -13885,9 +13894,9 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-hot-client@0.2.3(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): + vite-hot-client@0.2.3(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): dependencies: - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vite-node@1.0.2(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0): dependencies: @@ -13895,7 +13904,7 @@ snapshots: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -13912,7 +13921,7 @@ snapshots: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -13923,7 +13932,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@9.0.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.13(typescript@5.4.5)): + vite-plugin-checker@0.6.4(eslint@9.0.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.13(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 @@ -13936,7 +13945,7 @@ snapshots: semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -13947,10 +13956,10 @@ snapshots: typescript: 5.4.5 vue-tsc: 2.0.13(typescript@5.4.5) - vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.2)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): + vite-plugin-inspect@0.8.3(@nuxt/kit@packages+kit)(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) debug: 4.3.4 error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -13958,14 +13967,14 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) optionalDependencies: '@nuxt/kit': link:packages/kit transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@4.0.2(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): + vite-plugin-vue-inspector@4.0.2(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0)): dependencies: '@babel/core': 7.24.1 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.1) @@ -13973,27 +13982,27 @@ snapshots: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.1) '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) - '@vue/compiler-dom': 3.4.21 + '@vue/compiler-dom': 3.4.23 kolorist: 1.8.0 magic-string: 0.30.9 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color - vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0): + vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.14.2 + rollup: 4.14.3 optionalDependencies: '@types/node': 20.12.7 fsevents: 2.3.3 sass: 1.69.4 terser: 5.27.0 - vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)): + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)): dependencies: - '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)))(vue@3.4.21(typescript@5.4.5)) + '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -14030,7 +14039,7 @@ snapshots: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vite-node: 1.0.2(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 optionalDependencies: @@ -14064,7 +14073,7 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) + vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) vite-node: 1.4.0(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 optionalDependencies: @@ -14110,9 +14119,9 @@ snapshots: vue-component-type-helpers@2.0.6: {} - vue-demi@0.14.7(vue@3.4.21(typescript@5.4.5)): + vue-demi@0.14.7(vue@3.4.23(typescript@5.4.5)): dependencies: - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) vue-devtools-stub@0.1.0: {} @@ -14129,28 +14138,28 @@ snapshots: transitivePeerDependencies: - supports-color - vue-loader@17.4.2(@vue/compiler-sfc@3.4.21)(vue@3.4.21(typescript@5.4.5))(webpack@5.91.0): + vue-loader@17.4.2(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5))(webpack@5.91.0): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.1 webpack: 5.91.0 optionalDependencies: - '@vue/compiler-sfc': 3.4.21 - vue: 3.4.21(typescript@5.4.5) + '@vue/compiler-sfc': 3.4.23 + vue: 3.4.23(typescript@5.4.5) - vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)): + vue-observe-visibility@2.0.0-alpha.1(vue@3.4.23(typescript@5.4.5)): dependencies: - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) - vue-resize@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)): + vue-resize@2.0.0-alpha.1(vue@3.4.23(typescript@5.4.5)): dependencies: - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) - vue-router@4.3.0(vue@3.4.21(typescript@5.4.5)): + vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)): dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.21(typescript@5.4.5) + vue: 3.4.23(typescript@5.4.5) vue-template-compiler@2.7.14: dependencies: @@ -14164,20 +14173,20 @@ snapshots: semver: 7.6.0 typescript: 5.4.5 - vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21(typescript@5.4.5)): + vue-virtual-scroller@2.0.0-beta.8(vue@3.4.23(typescript@5.4.5)): dependencies: mitt: 2.1.0 - vue: 3.4.21(typescript@5.4.5) - vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)) - vue-resize: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)) + vue: 3.4.23(typescript@5.4.5) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.23(typescript@5.4.5)) + vue-resize: 2.0.0-alpha.1(vue@3.4.23(typescript@5.4.5)) - vue@3.4.21(typescript@5.4.5): + vue@3.4.23(typescript@5.4.5): dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.4.5)) - '@vue/shared': 3.4.21 + '@vue/compiler-dom': 3.4.23 + '@vue/compiler-sfc': 3.4.23 + '@vue/runtime-dom': 3.4.23 + '@vue/server-renderer': 3.4.23(vue@3.4.23(typescript@5.4.5)) + '@vue/shared': 3.4.23 optionalDependencies: typescript: 5.4.5 @@ -14213,7 +14222,7 @@ snapshots: webpack-dev-middleware@7.2.1(webpack@5.91.0): dependencies: colorette: 2.0.20 - memfs: 4.8.1 + memfs: 4.8.2 mime-types: 2.1.35 on-finished: 2.4.1 range-parser: 1.2.1 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 1128ca6799..2c4923bae5 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"209k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot('"1335k"') + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1337k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -72,7 +72,7 @@ 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(`"527k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"528k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"75.9k"`) From 468ebbdf0b972860d672f80f01daaaf56c77c69f Mon Sep 17 00:00:00 2001 From: Danila Rodichkin <daniluk4000@outlook.com> Date: Wed, 17 Apr 2024 15:57:45 +0300 Subject: [PATCH 455/470] perf(nuxt): unsubscribe from `asyncData` watch when unmounted (#26821) --- packages/nuxt/src/app/composables/asyncData.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index bbce72906a..241352df6d 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -375,7 +375,9 @@ export function useAsyncData< const hasScope = getCurrentScope() if (options.watch) { const unsub = watch(options.watch, () => asyncData.refresh()) - if (hasScope) { + if (instance) { + onUnmounted(unsub) + } else if (hasScope) { onScopeDispose(unsub) } } @@ -384,7 +386,9 @@ export function useAsyncData< await asyncData.refresh() } }) - if (hasScope) { + if (instance) { + onUnmounted(off) + } else if (hasScope) { onScopeDispose(off) } } From e105fadd7eb35c2c2e48571d1a4635e592bf6f8b Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 17 Apr 2024 14:17:35 +0100 Subject: [PATCH 456/470] fix(kit): ignore negation when resolving ignore patterns --- packages/kit/src/ignore.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/kit/src/ignore.ts b/packages/kit/src/ignore.ts index bc93e8cd7a..4fa478187c 100644 --- a/packages/kit/src/ignore.ts +++ b/packages/kit/src/ignore.ts @@ -28,6 +28,8 @@ export function isIgnored (pathname: string): boolean { return !!(relativePath && nuxt._ignore.ignores(relativePath)) } +const NEGATION_RE = /^(!?)(.*)$/ + export function resolveIgnorePatterns (relativePath?: string): string[] { const nuxt = tryUseNuxt() @@ -48,7 +50,13 @@ export function resolveIgnorePatterns (relativePath?: string): string[] { if (relativePath) { // Map ignore patterns based on if they start with * or !* - return nuxt._ignorePatterns.map(p => p[0] === '*' || (p[0] === '!' && p[1] === '*') ? p : relative(relativePath, resolve(nuxt.options.rootDir, p))) + return nuxt._ignorePatterns.map(p => { + const [_, negation = '', pattern] = p.match(NEGATION_RE) || [] + if (pattern[0] === '*') { + return p + } + return negation + relative(relativePath, resolve(nuxt.options.rootDir, pattern || p)) + }) } return nuxt._ignorePatterns From 75e43ac4275de6c81bcdeb22f103c081340d4ff9 Mon Sep 17 00:00:00 2001 From: Daniel Roe <daniel@roe.dev> Date: Wed, 17 Apr 2024 14:18:34 +0100 Subject: [PATCH 457/470] fix(nuxt): avoid double-slash in ignore pattern --- packages/nuxt/src/core/nitro.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index fb7df41d05..aba7763ff1 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -231,7 +231,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { // Resolve user-provided paths nitroConfig.srcDir = resolve(nuxt.options.rootDir, nuxt.options.srcDir, nitroConfig.srcDir!) - nitroConfig.ignore = [...(nitroConfig.ignore || []), ...resolveIgnorePatterns(nitroConfig.srcDir), `!${join(nuxt.options.buildDir, 'dist/client', nuxt.options.app.buildAssetsDir)}/**/*`] + nitroConfig.ignore = [...(nitroConfig.ignore || []), ...resolveIgnorePatterns(nitroConfig.srcDir), `!${join(nuxt.options.buildDir, 'dist/client', nuxt.options.app.buildAssetsDir, '**/*')}`] // Add app manifest handler and prerender configuration if (nuxt.options.experimental.appManifest) { From 4fea6da1ae3ddcd623947f5c26011b08907cba9c Mon Sep 17 00:00:00 2001 From: Ivan Kalachikov <ivan.kalachikov@gmail.com> Date: Wed, 17 Apr 2024 23:58:13 +0800 Subject: [PATCH 458/470] feat(nuxt): add `<NuxtRouteAnnouncer>` and `useRouteAnnouncer` (#25741) --- .../1.components/12.nuxt-route-announcer.md | 56 ++++++++++++ .../2.composables/use-route-announcer.md | 60 +++++++++++++ packages/kit/src/ignore.ts | 2 +- .../app/components/nuxt-route-announcer.ts | 48 ++++++++++ .../src/app/composables/route-announcer.ts | 89 +++++++++++++++++++ packages/nuxt/src/app/nuxt.ts | 6 ++ packages/nuxt/src/core/nuxt.ts | 8 ++ test/basic.test.ts | 15 ++++ .../basic/layouts/with-route-announcer.vue | 6 ++ test/fixtures/basic/pages/route-announcer.vue | 25 ++++++ .../fixtures/basic/pages/route-announcer2.vue | 12 +++ test/nuxt/composables.test.ts | 34 +++++++ 12 files changed, 360 insertions(+), 1 deletion(-) create mode 100644 docs/3.api/1.components/12.nuxt-route-announcer.md create mode 100644 docs/3.api/2.composables/use-route-announcer.md create mode 100644 packages/nuxt/src/app/components/nuxt-route-announcer.ts create mode 100644 packages/nuxt/src/app/composables/route-announcer.ts create mode 100644 test/fixtures/basic/layouts/with-route-announcer.vue create mode 100644 test/fixtures/basic/pages/route-announcer.vue create mode 100644 test/fixtures/basic/pages/route-announcer2.vue diff --git a/docs/3.api/1.components/12.nuxt-route-announcer.md b/docs/3.api/1.components/12.nuxt-route-announcer.md new file mode 100644 index 0000000000..671a1d3df8 --- /dev/null +++ b/docs/3.api/1.components/12.nuxt-route-announcer.md @@ -0,0 +1,56 @@ +--- +title: '<NuxtRouteAnnouncer>' +description: 'Add a hidden element with the page title for assistive technologies.' +navigation: + badge: New +links: + - label: Source + icon: i-simple-icons-github + to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/nuxt-route-announcer.ts + size: xs +--- + +::important +This component will be available in Nuxt v3.12. +:: + +## Usage + +Add `<NuxtRouteAnnouncer/>` in your [`app.vue`](/docs/guide/directory-structure/app) or [`layouts/`](/docs/guide/directory-structure/layouts) to enhance accessibility by informing assistive technologies about page's title changes. This ensures that navigational changes are announced to users relying on screen readers. + +```vue [app.vue] +<template> + <NuxtRouteAnnouncer /> + <NuxtLayout> + <NuxtPage /> + </NuxtLayout> +</template> +``` + +## Slots + +You can pass custom HTML or components through the route announcer default slot. + +```vue + <template> + <NuxtRouteAnnouncer> + <template #default="{ message }"> + <p>{{ message }} was loaded.</p> + </template> + </NuxtRouteAnnouncer> + </template> +``` + +## Props + +- `atomic`: Controls if screen readers announce only changes or the entire content. Set to true for full content readout on updates, false for changes only. (default `false`) +- `politeness`: Sets the urgency for screen reader announcements: `off` (disable the announcement), `polite` (waits for silence), or `assertive` (interrupts immediately). (default `polite`) + +::callout +This component is optional. :br +To achieve full customization, you can implement your own one based on [its source code](https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/nuxt-route-announcer.ts). +:: + +::callout +You can hook into the underlying announcer instance using [the `useRouteAnnouncer` composable](/docs/api/composables/use-route-announcer), which allows you to set a custom announcement message. +:: diff --git a/docs/3.api/2.composables/use-route-announcer.md b/docs/3.api/2.composables/use-route-announcer.md new file mode 100644 index 0000000000..f81059e20a --- /dev/null +++ b/docs/3.api/2.composables/use-route-announcer.md @@ -0,0 +1,60 @@ +--- +title: 'useRouteAnnouncer' +description: This composable observes the page title changes and updates the announcer message accordingly. +navigation: + badge: New +links: + - label: Source + icon: i-simple-icons-github + to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/composables/route-announcer.ts + size: xs +--- + +::important +This composable will be available in Nuxt v3.12. +:: + +## Description + +A composable which observes the page title changes and updates the announcer message accordingly. Used by [`<NuxtRouteAnnouncer>`](/docs/api/components/nuxt-route-announcer) and controllable. +It hooks into Unhead's [`dom:rendered`](https://unhead.unjs.io/api/core/hooks#dom-hooks) to read the page's title and set it as the announcer message. + +## Parameters + +- `politeness`: Sets the urgency for screen reader announcements: `off` (disable the announcement), `polite` (waits for silence), or `assertive` (interrupts immediately). (default `polite`). + +## Properties + +### `message` + +- **type**: `Ref<string>` +- **description**: The message to announce + +### `politeness` + +- **type**: `Ref<string>` +- **description**: Screen reader announcement urgency level `off`, `polite`, or `assertive` + +## Methods + +### `set(message, politeness = "polite")` + +Sets the message to announce with its urgency level. + +### `polite(message)` + +Sets the message with `politeness = "polite"` + +### `assertive(message)` + +Sets the message with `politeness = "assertive"` + +## Example + +```ts +<script setup lang="ts"> + const { message, politeness, set, polite, assertive } = useRouteAnnouncer({ + politeness: 'assertive' + }) +</script> +``` diff --git a/packages/kit/src/ignore.ts b/packages/kit/src/ignore.ts index 4fa478187c..34c15a8cbb 100644 --- a/packages/kit/src/ignore.ts +++ b/packages/kit/src/ignore.ts @@ -50,7 +50,7 @@ export function resolveIgnorePatterns (relativePath?: string): string[] { if (relativePath) { // Map ignore patterns based on if they start with * or !* - return nuxt._ignorePatterns.map(p => { + return nuxt._ignorePatterns.map((p) => { const [_, negation = '', pattern] = p.match(NEGATION_RE) || [] if (pattern[0] === '*') { return p diff --git a/packages/nuxt/src/app/components/nuxt-route-announcer.ts b/packages/nuxt/src/app/components/nuxt-route-announcer.ts new file mode 100644 index 0000000000..035e9e9e50 --- /dev/null +++ b/packages/nuxt/src/app/components/nuxt-route-announcer.ts @@ -0,0 +1,48 @@ +import { defineComponent, h } from 'vue' +import type { Politeness } from '#app/composables/route-announcer' +import { useRouteAnnouncer } from '#app/composables/route-announcer' + +export default defineComponent({ + name: 'NuxtRouteAnnouncer', + props: { + atomic: { + type: Boolean, + default: false, + }, + politeness: { + type: String as () => Politeness, + default: 'polite', + }, + }, + setup (props, { slots, expose }) { + const { set, polite, assertive, message, politeness } = useRouteAnnouncer({ politeness: props.politeness }) + + expose({ + set, polite, assertive, message, politeness, + }) + + return () => h('span', { + class: 'nuxt-route-announcer', + style: { + position: 'absolute', + }, + }, h('span', { + 'role': 'alert', + 'aria-live': politeness.value, + 'aria-atomic': props.atomic, + 'style': { + 'border': '0', + 'clip': 'rect(0 0 0 0)', + 'clip-path': 'inset(50%)', + 'height': '1px', + 'width': '1px', + 'overflow': 'hidden', + 'position': 'absolute', + 'white-space': 'nowrap', + 'word-wrap': 'normal', + 'margin': '-1px', + 'padding': '0', + }, + }, slots.default ? slots.default({ message: message.value }) : message.value)) + }, +}) diff --git a/packages/nuxt/src/app/composables/route-announcer.ts b/packages/nuxt/src/app/composables/route-announcer.ts new file mode 100644 index 0000000000..ae250bb266 --- /dev/null +++ b/packages/nuxt/src/app/composables/route-announcer.ts @@ -0,0 +1,89 @@ +import type { Ref } from 'vue' +import { getCurrentScope, onScopeDispose, ref } from 'vue' +import { injectHead } from '@unhead/vue' +import { useNuxtApp } from '#app' + +export type Politeness = 'assertive' | 'polite' | 'off' + +export type NuxtRouteAnnouncerOpts = { + /** @default 'polite' */ + politeness?: Politeness +} + +export type RouteAnnouncer = { + message: Ref<string> + politeness: Ref<Politeness> + set: (message: string, politeness: Politeness) => void + polite: (message: string) => void + assertive: (message: string) => void + _cleanup: () => void +} + +function createRouteAnnouncer (opts: NuxtRouteAnnouncerOpts = {}) { + const message = ref('') + const politeness = ref<Politeness>(opts.politeness || 'polite') + const activeHead = injectHead() + + function set (messageValue: string = '', politenessSetting: Politeness = 'polite') { + message.value = messageValue + politeness.value = politenessSetting + } + + function polite (message: string) { + return set(message, 'polite') + } + + function assertive (message: string) { + return set(message, 'assertive') + } + + function _updateMessageWithPageHeading () { + set(document?.title?.trim(), politeness.value) + } + + function _cleanup () { + activeHead?.hooks?.removeHook('dom:rendered', _updateMessageWithPageHeading) + } + + _updateMessageWithPageHeading() + + activeHead?.hooks?.hook('dom:rendered', () => { + _updateMessageWithPageHeading() + }) + + return { + _cleanup, + message, + politeness, + set, + polite, + assertive, + } +} + +/** + * composable to handle the route announcer + * @since 3.12.0 + */ +export function useRouteAnnouncer (opts: Partial<NuxtRouteAnnouncerOpts> = {}): Omit<RouteAnnouncer, '_cleanup'> { + const nuxtApp = useNuxtApp() + + // Initialise global route announcer if it doesn't exist already + const announcer = nuxtApp._routeAnnouncer = nuxtApp._routeAnnouncer || createRouteAnnouncer(opts) + if (opts.politeness !== announcer.politeness.value) { + announcer.politeness.value = opts.politeness || 'polite' + } + if (import.meta.client && getCurrentScope()) { + nuxtApp._routeAnnouncerDeps = nuxtApp._routeAnnouncerDeps || 0 + nuxtApp._routeAnnouncerDeps++ + onScopeDispose(() => { + nuxtApp._routeAnnouncerDeps!-- + if (nuxtApp._routeAnnouncerDeps === 0) { + announcer._cleanup() + delete nuxtApp._routeAnnouncer + } + }) + } + + return announcer +} diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 3e6f6573ef..ef4735a338 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -17,6 +17,7 @@ import type { NuxtError } from '../app/composables/error' import type { AsyncDataRequestStatus } from '../app/composables/asyncData' import type { NuxtAppManifestMeta } from '../app/composables/manifest' import type { LoadingIndicator } from '../app/composables/loading-indicator' +import type { RouteAnnouncer } from '../app/composables/route-announcer' import type { ViewTransition } from './plugins/view-transitions.client' import type { NuxtAppLiterals } from '#app' @@ -150,6 +151,11 @@ interface _NuxtApp { /** @internal */ _payloadRevivers: Record<string, (data: any) => any> + /** @internal */ + _routeAnnouncer?: RouteAnnouncer + /** @internal */ + _routeAnnouncerDeps?: number + // Nuxt injections $config: RuntimeConfig diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 06e962b211..70a6b62192 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -326,6 +326,14 @@ async function initNuxt (nuxt: Nuxt) { filePath: resolve(nuxt.options.appDir, 'components/nuxt-loading-indicator'), }) + // Add <NuxtRouteAnnouncer> + addComponent({ + name: 'NuxtRouteAnnouncer', + priority: 10, // built-in that we do not expect the user to override + filePath: resolve(nuxt.options.appDir, 'components/nuxt-route-announcer'), + mode: 'client', + }) + // Add <NuxtClientFallback> if (nuxt.options.experimental.clientFallback) { addComponent({ diff --git a/test/basic.test.ts b/test/basic.test.ts index 21966446da..b6e7b168e0 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -1045,6 +1045,21 @@ describe('composables', () => { expect(pageErrors).toEqual([]) await page.close() }) + it('`useRouteAnnouncer` should change message on route change', async () => { + const { page } = await renderPage('/route-announcer') + expect(await page.getByRole('alert').textContent()).toContain('First Page') + await page.getByRole('link').click() + await page.getByText('Second page content').waitFor() + expect(await page.getByRole('alert').textContent()).toContain('Second Page') + await page.close() + }) + it('`useRouteAnnouncer` should change message on dynamically changed title', async () => { + const { page } = await renderPage('/route-announcer') + await page.getByRole('button').click() + await page.waitForFunction(() => document.title.includes('Dynamically set title')) + expect(await page.getByRole('alert').textContent()).toContain('Dynamically set title') + await page.close() + }) }) describe('middlewares', () => { diff --git a/test/fixtures/basic/layouts/with-route-announcer.vue b/test/fixtures/basic/layouts/with-route-announcer.vue new file mode 100644 index 0000000000..3aebe7833b --- /dev/null +++ b/test/fixtures/basic/layouts/with-route-announcer.vue @@ -0,0 +1,6 @@ +<template> + <div> + <NuxtRouteAnnouncer /> + <slot /> + </div> +</template> diff --git a/test/fixtures/basic/pages/route-announcer.vue b/test/fixtures/basic/pages/route-announcer.vue new file mode 100644 index 0000000000..c1a94410a5 --- /dev/null +++ b/test/fixtures/basic/pages/route-announcer.vue @@ -0,0 +1,25 @@ +<script setup> +useHead({ + title: 'First Page', +}) +definePageMeta({ + layout: 'with-route-announcer', +}) +</script> + +<template> + <div> + <NuxtLink + role="link" + to="/route-announcer2" + > + Link + </NuxtLink> + <button + role="button" + @click="() => useHead({ title: 'Dynamically set title' })" + > + Button + </button> + </div> +</template> diff --git a/test/fixtures/basic/pages/route-announcer2.vue b/test/fixtures/basic/pages/route-announcer2.vue new file mode 100644 index 0000000000..f20269a7e6 --- /dev/null +++ b/test/fixtures/basic/pages/route-announcer2.vue @@ -0,0 +1,12 @@ +<script setup> +useHead({ + title: 'Second Page', +}) +definePageMeta({ + layout: 'with-route-announcer', +}) +</script> + +<template> + <div>Second page content</div> +</template> diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index 52192761bf..ecd504236a 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -18,6 +18,7 @@ import { getAppManifest, getRouteRules } from '#app/composables/manifest' import { useId } from '#app/composables/id' import { callOnce } from '#app/composables/once' import { useLoadingIndicator } from '#app/composables/loading-indicator' +import { useRouteAnnouncer } from '#app/composables/route-announcer' registerEndpoint('/api/test', defineEventHandler(event => ({ method: event.method, @@ -695,3 +696,36 @@ describe('callOnce', () => { expect(fn).toHaveBeenCalledTimes(2) }) }) + +describe('route announcer', () => { + it('should create a route announcer with default politeness', () => { + const announcer = useRouteAnnouncer() + expect(announcer.politeness.value).toBe('polite') + }) + + it('should create a route announcer with provided politeness', () => { + const announcer = useRouteAnnouncer({ politeness: 'assertive' }) + expect(announcer.politeness.value).toBe('assertive') + }) + + it('should set message and politeness', () => { + const announcer = useRouteAnnouncer() + announcer.set('Test message with politeness', 'assertive') + expect(announcer.message.value).toBe('Test message with politeness') + expect(announcer.politeness.value).toBe('assertive') + }) + + it('should set message with polite politeness', () => { + const announcer = useRouteAnnouncer() + announcer.polite('Test message polite') + expect(announcer.message.value).toBe('Test message polite') + expect(announcer.politeness.value).toBe('polite') + }) + + it('should set message with assertive politeness', () => { + const announcer = useRouteAnnouncer() + announcer.assertive('Test message assertive') + expect(announcer.message.value).toBe('Test message assertive') + expect(announcer.politeness.value).toBe('assertive') + }) +}) From 8bd5ce767bf32380ea18579ebcbd3f937b6bd00d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 06:20:42 +0300 Subject: [PATCH 459/470] chore(deps): update all non-major dependencies (main) (#26823) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- package.json | 6 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 251 ++++++++++++++++++++----------- 7 files changed, 168 insertions(+), 101 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2d5be0c00f..66d9af0c84 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: pnpm install - name: Initialize CodeQL - uses: github/codeql-action/init@df5a14dc28094dc936e103b37d749c6628682b60 # v3.25.0 + uses: github/codeql-action/init@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@df5a14dc28094dc936e103b37d749c6628682b60 # v3.25.0 + uses: github/codeql-action/analyze@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index b407245924..7a3e69c52d 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -66,6 +66,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@df5a14dc28094dc936e103b37d749c6628682b60 # v3.25.0 + uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1 with: sarif_file: results.sarif diff --git a/package.json b/package.json index e50dab3cc6..29b268597b 100644 --- a/package.json +++ b/package.json @@ -41,11 +41,11 @@ "nuxt": "workspace:*", "vite": "5.2.9", "vue": "3.4.23", - "magic-string": "^0.30.9" + "magic-string": "^0.30.10" }, "devDependencies": { "@eslint/js": "9.0.0", - "@nuxt/eslint-config": "0.3.7", + "@nuxt/eslint-config": "0.3.8", "@nuxt/kit": "workspace:*", "@nuxt/test-utils": "3.12.1", "@nuxt/webpack-builder": "workspace:*", @@ -89,7 +89,7 @@ "vue-router": "4.3.1", "vue-tsc": "2.0.13" }, - "packageManager": "pnpm@9.0.1", + "packageManager": "pnpm@9.0.2", "engines": { "node": "^14.18.0 || >=16.10.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index ed371c94dd..4ec09709fe 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -87,7 +87,7 @@ "jiti": "^1.21.0", "klona": "^2.0.6", "knitwork": "^1.1.0", - "magic-string": "^0.30.9", + "magic-string": "^0.30.10", "mlly": "^1.6.1", "nitropack": "^2.9.6", "nuxi": "^3.11.1", diff --git a/packages/vite/package.json b/packages/vite/package.json index 8850b004be..c09753040a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -49,7 +49,7 @@ "get-port-please": "^3.1.2", "h3": "^1.11.1", "knitwork": "^1.1.0", - "magic-string": "^0.30.9", + "magic-string": "^0.30.10", "mlly": "^1.6.1", "ohash": "^1.1.3", "pathe": "^1.1.2", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 65a3255e1e..bfd9a1d199 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -41,7 +41,7 @@ "h3": "^1.11.1", "hash-sum": "^2.0.0", "lodash-es": "4.17.21", - "magic-string": "^0.30.9", + "magic-string": "^0.30.10", "memfs": "^4.8.2", "mini-css-extract-plugin": "^2.9.0", "mlly": "^1.6.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index acae400e4b..354df04017 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ overrides: nuxt: workspace:* vite: 5.2.9 vue: 3.4.23 - magic-string: ^0.30.9 + magic-string: ^0.30.10 importers: @@ -23,8 +23,8 @@ importers: specifier: 9.0.0 version: 9.0.0 '@nuxt/eslint-config': - specifier: 0.3.7 - version: 0.3.7(eslint@9.0.0)(typescript@5.4.5) + specifier: 0.3.8 + version: 0.3.8(eslint@9.0.0)(typescript@5.4.5) '@nuxt/kit': specifier: workspace:* version: link:packages/kit @@ -327,8 +327,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 magic-string: - specifier: ^0.30.9 - version: 0.30.9 + specifier: ^0.30.10 + version: 0.30.10 mlly: specifier: ^1.6.1 version: 1.6.1 @@ -602,8 +602,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 magic-string: - specifier: ^0.30.9 - version: 0.30.9 + specifier: ^0.30.10 + version: 0.30.10 mlly: specifier: ^1.6.1 version: 1.6.1 @@ -723,8 +723,8 @@ importers: specifier: 4.17.21 version: 4.17.21 magic-string: - specifier: ^0.30.9 - version: 0.30.9 + specifier: ^0.30.10 + version: 0.30.10 memfs: specifier: ^4.8.2 version: 4.8.2 @@ -1716,13 +1716,13 @@ packages: nuxt: workspace:* vite: 5.2.9 - '@nuxt/eslint-config@0.3.7': - resolution: {integrity: sha512-Pm3bf/XfbG9r/C76BSbeEquu3gXSsjoQYbILQP/peVBEM1gSJM2rPMmawfgV7V13UORpFBXhhk5hKQ3p7Auwkg==} + '@nuxt/eslint-config@0.3.8': + resolution: {integrity: sha512-c65jwXbiRnJIQQqbtASmOIbtKoci7njizZ++n5p00r0065ICUME0h9NsO/s0WRJp3PTxuREzX1Ey/LNaZJoE1w==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@nuxt/eslint-plugin@0.3.7': - resolution: {integrity: sha512-dg5Lxvf+jHO5otRb6j0tYHlL5/MjLPKv8ebb4AmRVr1Ou/qeyj3Gk9ZRW5aE0R9fOykyPTLTlGjsXeo/qU1sDA==} + '@nuxt/eslint-plugin@0.3.8': + resolution: {integrity: sha512-j8k8Yu8O4W++SWsyxf60Dv9dWUoTJBP2iJfNblOvJwbzMOrEEY3Oigj9io+54J5TxAAXuyzJ82XZE0D38CXrSg==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2083,31 +2083,31 @@ packages: resolution: {integrity: sha512-UTce8mUwUW0RikMb/eseJ7ys0BRkZVFB86orHzrfW12ZmFtym5zua8joZ4L7okH2dDFHkcFjqnZ5GocWBXOFtA==} engines: {node: '>=18'} - '@stylistic/eslint-plugin-js@1.7.0': - resolution: {integrity: sha512-PN6On/+or63FGnhhMKSQfYcWutRlzOiYlVdLM6yN7lquoBTqUJHYnl4TA4MHwiAt46X5gRxDr1+xPZ1lOLcL+Q==} + '@stylistic/eslint-plugin-js@1.7.2': + resolution: {integrity: sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-jsx@1.7.0': - resolution: {integrity: sha512-BACdBwXakQvjYIST5N2WWhRbvhRsIxa/F59BiZol+0IH4FSmDXhie7v/yaxDIIA9CbfElzOmIA5nWNYTVXcnwQ==} + '@stylistic/eslint-plugin-jsx@1.7.2': + resolution: {integrity: sha512-lNZR5PR0HLJPs+kY0y8fy6KroKlYqA5PwsYWpVYWzqZWiL5jgAeUo4s9yLFYjJjzildJ5MsTVMy/xP81Qz6GXg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-plus@1.7.0': - resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} + '@stylistic/eslint-plugin-plus@1.7.2': + resolution: {integrity: sha512-luUfRVbBVtt0+/FNt8/76BANJEzb/nHWasHD7UUjyMrch2U9xUKpObrkTCzqBuisKek+uFupwGjqXqDP07+fQw==} peerDependencies: eslint: '*' - '@stylistic/eslint-plugin-ts@1.7.0': - resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} + '@stylistic/eslint-plugin-ts@1.7.2': + resolution: {integrity: sha512-szX89YPocwCe4T0eT3alj7MwEzDHt5+B+kb/vQfSSLIjI9CGgoWrgj50zU8PtaDctTh4ZieFBzU/lRmkSUo0RQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin@1.7.0': - resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} + '@stylistic/eslint-plugin@1.7.2': + resolution: {integrity: sha512-TesaPR4AOCeD4unwu9gZCdTe8SsUpykriICuwXV8GFBgESuVbfVp+S8g6xTWe9ntVR803bNMtnr2UhxHW0iFqg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' @@ -2272,8 +2272,8 @@ packages: '@types/yargs@17.0.28': resolution: {integrity: sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==} - '@typescript-eslint/eslint-plugin@7.6.0': - resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} + '@typescript-eslint/eslint-plugin@7.7.0': + resolution: {integrity: sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -2283,8 +2283,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.6.0': - resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} + '@typescript-eslint/parser@7.7.0': + resolution: {integrity: sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -2301,8 +2301,12 @@ packages: resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.6.0': - resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} + '@typescript-eslint/scope-manager@7.7.0': + resolution: {integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.7.0': + resolution: {integrity: sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -2319,6 +2323,10 @@ packages: resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@7.7.0': + resolution: {integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/typescript-estree@6.21.0': resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2337,6 +2345,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@7.7.0': + resolution: {integrity: sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@6.21.0': resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2349,6 +2366,12 @@ packages: peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@7.7.0': + resolution: {integrity: sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + '@typescript-eslint/visitor-keys@6.21.0': resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2357,6 +2380,10 @@ packages: resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@7.7.0': + resolution: {integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript/vfs@1.5.0': resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} @@ -4729,9 +4756,8 @@ packages: resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} engines: {node: '>=16.14.0'} - magic-string@0.30.9: - resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} - engines: {node: '>=12'} + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} magicast@0.3.3: resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} @@ -5435,8 +5461,8 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.1: - resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} pify@2.3.0: @@ -7872,14 +7898,14 @@ snapshots: - utf-8-validate - vue - '@nuxt/eslint-config@0.3.7(eslint@9.0.0)(typescript@5.4.5)': + '@nuxt/eslint-config@0.3.8(eslint@9.0.0)(typescript@5.4.5)': dependencies: '@eslint/js': 9.0.0 - '@nuxt/eslint-plugin': 0.3.7(eslint@9.0.0)(typescript@5.4.5) + '@nuxt/eslint-plugin': 0.3.8(eslint@9.0.0)(typescript@5.4.5) '@rushstack/eslint-patch': 1.10.2 - '@stylistic/eslint-plugin': 1.7.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5))(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@stylistic/eslint-plugin': 1.7.2(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@9.0.0)(typescript@5.4.5))(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.7.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 eslint-config-flat-gitignore: 0.1.5 eslint-flat-config-utils: 0.2.3 @@ -7895,10 +7921,10 @@ snapshots: - supports-color - typescript - '@nuxt/eslint-plugin@0.3.7(eslint@9.0.0)(typescript@5.4.5)': + '@nuxt/eslint-plugin@0.3.8(eslint@9.0.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 transitivePeerDependencies: - supports-color @@ -7946,7 +7972,7 @@ snapshots: get-port-please: 3.1.2 h3: 1.11.1 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.10 node-fetch-native: 1.6.4 ofetch: 1.3.4 pathe: 1.1.2 @@ -8091,7 +8117,7 @@ snapshots: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.9 + magic-string: 0.30.10 optionalDependencies: rollup: 4.14.3 @@ -8099,7 +8125,7 @@ snapshots: dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.14.3) estree-walker: 2.0.2 - magic-string: 0.30.9 + magic-string: 0.30.10 optionalDependencies: rollup: 4.14.3 @@ -8123,7 +8149,7 @@ snapshots: '@rollup/plugin-replace@5.0.5(rollup@4.14.3)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.14.3) - magic-string: 0.30.9 + magic-string: 0.30.10 optionalDependencies: rollup: 4.14.3 @@ -8266,7 +8292,7 @@ snapshots: '@sindresorhus/merge-streams@2.2.0': {} - '@stylistic/eslint-plugin-js@1.7.0(eslint@9.0.0)': + '@stylistic/eslint-plugin-js@1.7.2(eslint@9.0.0)': dependencies: '@types/eslint': 8.56.9 acorn: 8.11.3 @@ -8275,15 +8301,15 @@ snapshots: eslint-visitor-keys: 3.4.3 espree: 9.6.1 - '@stylistic/eslint-plugin-jsx@1.7.0(eslint@9.0.0)': + '@stylistic/eslint-plugin-jsx@1.7.2(eslint@9.0.0)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.0.0) '@types/eslint': 8.56.9 eslint: 9.0.0 estraverse: 5.3.0 - picomatch: 4.0.1 + picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@1.7.0(eslint@9.0.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin-plus@1.7.2(eslint@9.0.0)(typescript@5.4.5)': dependencies: '@types/eslint': 8.56.9 '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) @@ -8292,9 +8318,9 @@ snapshots: - supports-color - typescript - '@stylistic/eslint-plugin-ts@1.7.0(eslint@9.0.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin-ts@1.7.2(eslint@9.0.0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.0.0) '@types/eslint': 8.56.9 '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.5) eslint: 9.0.0 @@ -8302,12 +8328,12 @@ snapshots: - supports-color - typescript - '@stylistic/eslint-plugin@1.7.0(eslint@9.0.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin@1.7.2(eslint@9.0.0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.0(eslint@9.0.0) - '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@9.0.0) - '@stylistic/eslint-plugin-plus': 1.7.0(eslint@9.0.0)(typescript@5.4.5) - '@stylistic/eslint-plugin-ts': 1.7.0(eslint@9.0.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.0.0) + '@stylistic/eslint-plugin-jsx': 1.7.2(eslint@9.0.0) + '@stylistic/eslint-plugin-plus': 1.7.2(eslint@9.0.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-ts': 1.7.2(eslint@9.0.0)(typescript@5.4.5) '@types/eslint': 8.56.9 eslint: 9.0.0 transitivePeerDependencies: @@ -8506,14 +8532,14 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.1 - '@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5))(eslint@9.0.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@9.0.0)(typescript@5.4.5))(eslint@9.0.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/parser': 7.7.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/type-utils': 7.7.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.7.0 debug: 4.3.4 eslint: 9.0.0 graphemer: 1.4.0 @@ -8526,12 +8552,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5)': + '@typescript-eslint/parser@7.7.0(eslint@9.0.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.7.0 debug: 4.3.4 eslint: 9.0.0 optionalDependencies: @@ -8549,10 +8575,15 @@ snapshots: '@typescript-eslint/types': 7.6.0 '@typescript-eslint/visitor-keys': 7.6.0 - '@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.5)': + '@typescript-eslint/scope-manager@7.7.0': dependencies: - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/visitor-keys': 7.7.0 + + '@typescript-eslint/type-utils@7.7.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.5) debug: 4.3.4 eslint: 9.0.0 ts-api-utils: 1.3.0(typescript@5.4.5) @@ -8565,6 +8596,8 @@ snapshots: '@typescript-eslint/types@7.6.0': {} + '@typescript-eslint/types@7.7.0': {} + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 6.21.0 @@ -8595,6 +8628,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@7.7.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/visitor-keys': 7.7.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) @@ -8623,6 +8671,20 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@7.7.0(eslint@9.0.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.5) + eslint: 9.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/visitor-keys@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 @@ -8633,6 +8695,11 @@ snapshots: '@typescript-eslint/types': 7.6.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@7.7.0': + dependencies: + '@typescript-eslint/types': 7.7.0 + eslint-visitor-keys: 3.4.3 + '@typescript/vfs@1.5.0': dependencies: debug: 4.3.4 @@ -8690,7 +8757,7 @@ snapshots: colorette: 2.0.20 consola: 3.2.3 fast-glob: 3.3.2 - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 perfect-debounce: 1.0.0 transitivePeerDependencies: @@ -8721,7 +8788,7 @@ snapshots: '@unocss/rule-utils': 0.58.6 css-tree: 2.3.1 fast-glob: 3.3.2 - magic-string: 0.30.9 + magic-string: 0.30.10 postcss: 8.4.38 '@unocss/preset-attributify@0.58.6': @@ -8774,7 +8841,7 @@ snapshots: '@unocss/rule-utils@0.58.6': dependencies: '@unocss/core': 0.58.6 - magic-string: 0.30.9 + magic-string: 0.30.10 '@unocss/scope@0.58.6': {} @@ -8816,7 +8883,7 @@ snapshots: '@unocss/transformer-directives': 0.58.6 chokidar: 3.6.0 fast-glob: 3.3.2 - magic-string: 0.30.9 + magic-string: 0.30.10 vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup @@ -8863,7 +8930,7 @@ snapshots: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.4 istanbul-reports: 3.1.6 - magic-string: 0.30.9 + magic-string: 0.30.10 magicast: 0.3.3 picocolors: 1.0.0 std-env: 3.7.0 @@ -8900,13 +8967,13 @@ snapshots: '@vitest/snapshot@1.0.2': dependencies: - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 '@vitest/snapshot@1.4.0': dependencies: - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 @@ -9003,7 +9070,7 @@ snapshots: '@vue/compiler-ssr': 3.4.23 '@vue/shared': 3.4.23 estree-walker: 2.0.2 - magic-string: 0.30.9 + magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 @@ -11455,9 +11522,9 @@ snapshots: magic-string-ast@0.3.0: dependencies: - magic-string: 0.30.9 + magic-string: 0.30.10 - magic-string@0.30.9: + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -12067,7 +12134,7 @@ snapshots: klona: 2.0.6 knitwork: 1.1.0 listhen: 1.7.2 - magic-string: 0.30.9 + magic-string: 0.30.10 mime: 4.0.1 mlly: 1.6.1 mri: 1.2.0 @@ -12495,7 +12562,7 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.1: {} + picomatch@4.0.2: {} pify@2.3.0: {} @@ -13081,7 +13148,7 @@ snapshots: rollup-plugin-dts@6.1.0(rollup@4.14.3)(typescript@5.4.5): dependencies: - magic-string: 0.30.9 + magic-string: 0.30.10 rollup: 4.14.3 typescript: 5.4.5 optionalDependencies: @@ -13613,7 +13680,7 @@ snapshots: globby: 13.2.2 hookable: 5.5.3 jiti: 1.21.0 - magic-string: 0.30.9 + magic-string: 0.30.10 mkdist: 1.3.0(sass@1.69.4)(typescript@5.4.5) mlly: 1.6.1 pathe: 1.1.2 @@ -13642,7 +13709,7 @@ snapshots: dependencies: acorn: 8.11.3 estree-walker: 3.0.3 - magic-string: 0.30.9 + magic-string: 0.30.10 unplugin: 1.10.1 undici-types@5.26.5: {} @@ -13688,7 +13755,7 @@ snapshots: estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.10 mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 @@ -13832,7 +13899,7 @@ snapshots: unwasm@0.3.9: dependencies: knitwork: 1.1.0 - magic-string: 0.30.9 + magic-string: 0.30.10 mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 @@ -13984,7 +14051,7 @@ snapshots: '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.1) '@vue/compiler-dom': 3.4.23 kolorist: 1.8.0 - magic-string: 0.30.9 + magic-string: 0.30.10 vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color @@ -14032,7 +14099,7 @@ snapshots: debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 @@ -14066,7 +14133,7 @@ snapshots: debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 From 7adb7d82daf4765557438ff13d6266f54f8f8cf9 Mon Sep 17 00:00:00 2001 From: xjccc <546534045@qq.com> Date: Thu, 18 Apr 2024 12:49:14 +0800 Subject: [PATCH 460/470] docs: correct definePageMeta scrollToTop docs link (#26829) --- docs/2.guide/2.directory-structure/1.pages.md | 2 +- docs/3.api/3.utils/define-page-meta.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index ce1821b83b..1379d884da 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -6,7 +6,7 @@ navigation.icon: i-ph-folder-duotone --- ::note -To reduce your application's bundle size, this directory is **optional**, meaning that [`vue-router`](https://router.vuejs.org) won't be included if you only use [`app.vue`](/docs/guide/directory-structure/app). To force the pages system, set `pages: true` in `nuxt.config` or have a [`app/router.options.ts`](/docs/guide/directory-structure/pages#router-options). +To reduce your application's bundle size, this directory is **optional**, meaning that [`vue-router`](https://router.vuejs.org) won't be included if you only use [`app.vue`](/docs/guide/directory-structure/app). To force the pages system, set `pages: true` in `nuxt.config` or have a [`app/router.options.ts`](/docs/guide/going-further/custom-routing#using-approuteroptions). :: ## Usage diff --git a/docs/3.api/3.utils/define-page-meta.md b/docs/3.api/3.utils/define-page-meta.md index c70da355a3..5bf32546d8 100644 --- a/docs/3.api/3.utils/define-page-meta.md +++ b/docs/3.api/3.utils/define-page-meta.md @@ -129,7 +129,7 @@ interface PageMeta { - **Type**: `boolean | (to: RouteLocationNormalized, from: RouteLocationNormalized) => boolean` - Tell Nuxt to scroll to the top before rendering the page or not. If you want to overwrite the default scroll behavior of Nuxt, you can do so in `~/app/router.options.ts` (see [docs](/docs/guide/directory-structure/pages/#router-options)) for more info. + Tell Nuxt to scroll to the top before rendering the page or not. If you want to overwrite the default scroll behavior of Nuxt, you can do so in `~/app/router.options.ts` (see [custom routing](/docs/guide/going-further/custom-routing#using-approuteroptions)) for more info. **`[key: string]`** From 79b059aaf5ba07d03aa413473c4bd82ea3e1abf7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 21:39:41 +0300 Subject: [PATCH 461/470] chore(deps): update all non-major dependencies (main) (#26839) --- .github/workflows/ci.yml | 12 ++--- .github/workflows/scorecards.yml | 2 +- package.json | 2 +- packages/kit/package.json | 2 +- packages/nuxt/package.json | 4 +- packages/schema/package.json | 4 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 91 +++++++++++++++++++------------- 8 files changed, 67 insertions(+), 52 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66d9af0c84..92f0483071 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: run: pnpm build - name: Cache dist - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2 with: retention-days: 3 name: dist @@ -89,7 +89,7 @@ jobs: queries: +security-and-quality - name: Restore dist cache - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5 with: name: dist path: packages @@ -122,7 +122,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5 with: name: dist path: packages @@ -222,7 +222,7 @@ jobs: run: pnpm playwright-core install chromium - name: Restore dist cache - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5 with: name: dist path: packages @@ -271,7 +271,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5 with: name: dist path: packages @@ -310,7 +310,7 @@ jobs: run: pnpm install - name: Restore dist cache - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5 with: name: dist path: packages diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 7a3e69c52d..dfb81b2547 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -58,7 +58,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@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2 with: name: SARIF file path: results.sarif diff --git a/package.json b/package.json index 29b268597b..3040c9df9b 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "vitest": "1.4.0", "vitest-environment-nuxt": "1.0.0", "vue": "3.4.23", - "vue-router": "4.3.1", + "vue-router": "4.3.2", "vue-tsc": "2.0.13" }, "packageManager": "pnpm@9.0.2", diff --git a/packages/kit/package.json b/packages/kit/package.json index e5de0a2323..1cb5acfc90 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -37,7 +37,7 @@ "knitwork": "^1.1.0", "mlly": "^1.6.1", "pathe": "^1.1.2", - "pkg-types": "^1.0.3", + "pkg-types": "^1.1.0", "scule": "^1.3.0", "semver": "^7.6.0", "ufo": "^1.5.3", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 4ec09709fe..cf557cbd07 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -96,7 +96,7 @@ "ohash": "^1.1.3", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", - "pkg-types": "^1.0.3", + "pkg-types": "^1.1.0", "radix3": "^1.1.2", "scule": "^1.3.0", "std-env": "^3.7.0", @@ -114,7 +114,7 @@ "vue": "^3.4.23", "vue-bundle-renderer": "^2.0.0", "vue-devtools-stub": "^0.1.0", - "vue-router": "^4.3.1" + "vue-router": "^4.3.2" }, "devDependencies": { "@parcel/watcher": "2.4.1", diff --git a/packages/schema/package.json b/packages/schema/package.json index 0a897e6c58..68d3caa998 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -57,7 +57,7 @@ "vue": "3.4.23", "vue-bundle-renderer": "2.0.0", "vue-loader": "17.4.2", - "vue-router": "4.3.1", + "vue-router": "4.3.2", "webpack": "5.91.0", "webpack-dev-middleware": "7.2.1" }, @@ -67,7 +67,7 @@ "defu": "^6.1.4", "hookable": "^5.5.3", "pathe": "^1.1.2", - "pkg-types": "^1.0.3", + "pkg-types": "^1.1.0", "scule": "^1.3.0", "std-env": "^3.7.0", "ufo": "^1.5.3", diff --git a/packages/vite/package.json b/packages/vite/package.json index c09753040a..f6b99ad9cb 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -54,7 +54,7 @@ "ohash": "^1.1.3", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", - "pkg-types": "^1.0.3", + "pkg-types": "^1.1.0", "postcss": "^8.4.38", "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 354df04017..e6f8a2e1a6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.12.1 - version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) + version: 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -141,13 +141,13 @@ importers: version: 1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) + version: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) vue: specifier: 3.4.23 version: 3.4.23(typescript@5.4.5) vue-router: - specifier: 4.3.1 - version: 4.3.1(vue@3.4.23(typescript@5.4.5)) + specifier: 4.3.2 + version: 4.3.2(vue@3.4.23(typescript@5.4.5)) vue-tsc: specifier: 2.0.13 version: 2.0.13(typescript@5.4.5) @@ -188,8 +188,8 @@ importers: specifier: ^1.1.2 version: 1.1.2 pkg-types: - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^1.1.0 + version: 1.1.0 scule: specifier: ^1.3.0 version: 1.3.0 @@ -354,8 +354,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 pkg-types: - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^1.1.0 + version: 1.1.0 radix3: specifier: ^1.1.2 version: 1.1.2 @@ -391,7 +391,7 @@ importers: version: 1.10.1 unplugin-vue-router: specifier: ^0.7.0 - version: 0.7.0(rollup@4.14.3)(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) + version: 0.7.0(rollup@4.14.3)(vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) unstorage: specifier: ^1.10.2 version: 1.10.2(ioredis@5.3.2) @@ -408,8 +408,8 @@ importers: specifier: ^0.1.0 version: 0.1.0 vue-router: - specifier: ^4.3.1 - version: 4.3.1(vue@3.4.23(typescript@5.4.5)) + specifier: ^4.3.2 + version: 4.3.2(vue@3.4.23(typescript@5.4.5)) devDependencies: '@parcel/watcher': specifier: 2.4.1 @@ -451,8 +451,8 @@ importers: specifier: ^1.1.2 version: 1.1.2 pkg-types: - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^1.1.0 + version: 1.1.0 scule: specifier: ^1.3.0 version: 1.3.0 @@ -539,8 +539,8 @@ importers: specifier: 17.4.2 version: 17.4.2(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5))(webpack@5.91.0) vue-router: - specifier: 4.3.1 - version: 4.3.1(vue@3.4.23(typescript@5.4.5)) + specifier: 4.3.2 + version: 4.3.2(vue@3.4.23(typescript@5.4.5)) webpack: specifier: 5.91.0 version: 5.91.0 @@ -617,8 +617,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 pkg-types: - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^1.1.0 + version: 1.1.0 postcss: specifier: ^8.4.38 version: 8.4.38 @@ -3222,6 +3222,9 @@ packages: confbox@0.1.3: resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -5473,8 +5476,8 @@ packages: resolution: {integrity: sha512-KocF8ve28eFjjuBKKGvzOBGzG8ew2OqOOSxTTZhirkzH7h3BI1vyzqlR0qbfcDBve1Yzo3FVlWUAtCRrbVN8Fw==} engines: {node: '>=14.16'} - pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.1.0: + resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} playwright-core@1.43.1: resolution: {integrity: sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==} @@ -6918,6 +6921,11 @@ packages: peerDependencies: vue: 3.4.23 + vue-router@4.3.2: + resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==} + peerDependencies: + vue: 3.4.23 + vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -7828,7 +7836,7 @@ snapshots: global-directory: 4.0.1 magicast: 0.3.3 pathe: 1.1.2 - pkg-types: 1.0.3 + pkg-types: 1.1.0 prompts: 2.4.2 rc9: 2.1.2 semver: 7.6.0 @@ -7863,7 +7871,7 @@ snapshots: pacote: 17.0.6 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.0.3 + pkg-types: 1.1.0 rc9: 2.1.2 scule: 1.3.0 semver: 7.6.0 @@ -7958,7 +7966,7 @@ snapshots: rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5))': + '@nuxt/test-utils@3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -7984,9 +7992,9 @@ snapshots: unenv: 1.9.0 unplugin: 1.10.1 vite: 5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) vue: 3.4.23(typescript@5.4.5) - vue-router: 4.3.1(vue@3.4.23(typescript@5.4.5)) + vue-router: 4.3.2(vue@3.4.23(typescript@5.4.5)) optionalDependencies: '@testing-library/vue': 8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)) '@vue/test-utils': 2.4.5 @@ -9610,7 +9618,7 @@ snapshots: ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.0.3 + pkg-types: 1.1.0 rc9: 2.1.2 cac@6.7.14: {} @@ -9705,7 +9713,7 @@ snapshots: ofetch: 1.3.4 open: 9.1.0 pathe: 1.1.2 - pkg-types: 1.0.3 + pkg-types: 1.1.0 scule: 1.3.0 semver: 7.6.0 std-env: 3.7.0 @@ -9823,6 +9831,8 @@ snapshots: confbox@0.1.3: {} + confbox@0.1.7: {} + config-chain@1.1.13: dependencies: ini: 1.3.8 @@ -11472,7 +11482,7 @@ snapshots: local-pkg@0.5.0: dependencies: mlly: 1.6.1 - pkg-types: 1.0.3 + pkg-types: 1.1.0 locate-path@5.0.0: dependencies: @@ -12063,7 +12073,7 @@ snapshots: dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.0.3 + pkg-types: 1.1.0 ufo: 1.5.3 mri@1.2.0: {} @@ -12144,7 +12154,7 @@ snapshots: openapi-typescript: 6.7.5 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.0.3 + pkg-types: 1.1.0 pretty-bytes: 6.1.1 radix3: 1.1.2 rollup: 4.14.3 @@ -12568,9 +12578,9 @@ snapshots: pify@6.1.0: {} - pkg-types@1.0.3: + pkg-types@1.1.0: dependencies: - jsonc-parser: 3.2.1 + confbox: 0.1.7 mlly: 1.6.1 pathe: 1.1.2 @@ -13684,7 +13694,7 @@ snapshots: mkdist: 1.3.0(sass@1.69.4)(typescript@5.4.5) mlly: 1.6.1 pathe: 1.1.2 - pkg-types: 1.0.3 + pkg-types: 1.1.0 pretty-bytes: 6.1.1 rollup: 4.14.3 rollup-plugin-dts: 6.1.0(rollup@4.14.3)(typescript@5.4.5) @@ -13758,7 +13768,7 @@ snapshots: magic-string: 0.30.10 mlly: 1.6.1 pathe: 1.1.2 - pkg-types: 1.0.3 + pkg-types: 1.1.0 scule: 1.3.0 strip-literal: 1.3.0 unplugin: 1.10.1 @@ -13831,7 +13841,7 @@ snapshots: - rollup - supports-color - unplugin-vue-router@0.7.0(rollup@4.14.3)(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)): + unplugin-vue-router@0.7.0(rollup@4.14.3)(vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)): dependencies: '@babel/types': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@4.14.3) @@ -13847,7 +13857,7 @@ snapshots: unplugin: 1.10.1 yaml: 2.3.4 optionalDependencies: - vue-router: 4.3.1(vue@3.4.23(typescript@5.4.5)) + vue-router: 4.3.2(vue@3.4.23(typescript@5.4.5)) transitivePeerDependencies: - rollup - vue @@ -13902,7 +13912,7 @@ snapshots: magic-string: 0.30.10 mlly: 1.6.1 pathe: 1.1.2 - pkg-types: 1.0.3 + pkg-types: 1.1.0 unplugin: 1.10.1 update-browserslist-db@1.0.13(browserslist@4.23.0): @@ -14067,9 +14077,9 @@ snapshots: sass: 1.69.4 terser: 5.27.0 - vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)): + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)): dependencies: - '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) + '@nuxt/test-utils': 3.12.1(@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.23)(vue@3.4.23(typescript@5.4.5)))(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@14.7.1)(playwright-core@1.43.1)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vitest@1.4.0(@types/node@20.12.7)(happy-dom@14.7.1)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)))(vue@3.4.23(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -14228,6 +14238,11 @@ snapshots: '@vue/devtools-api': 6.5.1 vue: 3.4.23(typescript@5.4.5) + vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)): + dependencies: + '@vue/devtools-api': 6.5.1 + vue: 3.4.23(typescript@5.4.5) + vue-template-compiler@2.7.14: dependencies: de-indent: 1.0.2 From ef1889f5e116d1cfde5f75c29e4f8f53800852c9 Mon Sep 17 00:00:00 2001 From: Nate <nate@inkbird.io> Date: Thu, 18 Apr 2024 16:31:47 -0400 Subject: [PATCH 462/470] docs: advise correct extension for vitest config (#26845) --- docs/1.getting-started/11.testing.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/1.getting-started/11.testing.md b/docs/1.getting-started/11.testing.md index 729b830bea..111f7e8bc5 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -59,6 +59,11 @@ We currently ship an environment for unit testing code that needs a [Nuxt](https }) ``` +::tip +When importing `@nuxt/test-utils` in your vitest config, It is necessary to have `type: "module"` specified in your `package.json` or rename your vitest config file appropriatly. +> ie. `vitest.config.m{ts,js}`. +:: + ### 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. From be73cc9cf96be7a1c84f3ec569cc74250471d879 Mon Sep 17 00:00:00 2001 From: Ryota Watanabe <43837308+wattanx@users.noreply.github.com> Date: Fri, 19 Apr 2024 17:15:02 +0900 Subject: [PATCH 463/470] docs: deprecate `pending` value in data fetching composables (#26766) --- packages/nuxt/src/app/composables/asyncData.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 241352df6d..5426155be3 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -110,6 +110,9 @@ export interface AsyncDataExecuteOptions { export interface _AsyncData<DataT, ErrorT> { data: Ref<DataT> + /** + * @deprecated Use `status` instead. This may be removed in a future major version. + */ pending: Ref<boolean> refresh: (opts?: AsyncDataExecuteOptions) => Promise<void> execute: (opts?: AsyncDataExecuteOptions) => Promise<void> From 1a0cde7e108db69840e229df41b3e850d14741e8 Mon Sep 17 00:00:00 2001 From: Horu <73709188+HigherOrderLogic@users.noreply.github.com> Date: Fri, 19 Apr 2024 15:27:54 +0700 Subject: [PATCH 464/470] docs: fix file name (#26852) --- docs/2.guide/2.directory-structure/1.pages.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index 1379d884da..ef83deb8da 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -193,7 +193,7 @@ To display the `child.vue` component, you have to insert the `<NuxtPage>` compon </template> ``` -```vue {}[pages/child.vue] +```vue {}[pages/parent/child.vue] <script setup lang="ts"> const props = defineProps(['foobar']) @@ -216,7 +216,7 @@ If you want more control over when the `<NuxtPage>` component is re-rendered (fo Or alternatively: -```vue twoslash {}[pages/child.vue] +```vue twoslash {}[pages/parent/child.vue] <script setup lang="ts"> definePageMeta({ key: route => route.fullPath From c8f63684afa21e1840588eeffb570647758473b3 Mon Sep 17 00:00:00 2001 From: Louis Ramos <75388869+wJoenn@users.noreply.github.com> Date: Fri, 19 Apr 2024 10:38:49 +0200 Subject: [PATCH 465/470] fix(kit): set typescript `moduleDetection` to 'force' (#26667) --- packages/kit/src/template.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index 4fe428ccb9..9290e62fd5 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -129,6 +129,7 @@ export async function _generateTypes (nuxt: Nuxt) { jsxImportSource: 'vue', target: 'ESNext', module: 'ESNext', + moduleDetection: 'force', moduleResolution: nuxt.options.future?.typescriptBundlerResolution || (nuxt.options.experimental as any)?.typescriptBundlerResolution ? 'Bundler' : 'Node', skipLibCheck: true, isolatedModules: true, From d25e6eeede99647cd3d85918d94fae52ac65b422 Mon Sep 17 00:00:00 2001 From: Turdalin Nurassyl <78026760+trdln@users.noreply.github.com> Date: Fri, 19 Apr 2024 13:46:56 +0500 Subject: [PATCH 466/470] docs: add info about self-hosted github/gitlab instances (#26501) --- docs/2.guide/3.going-further/7.layers.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/2.guide/3.going-further/7.layers.md b/docs/2.guide/3.going-further/7.layers.md index 4533abfe49..3285135cfd 100644 --- a/docs/2.guide/3.going-further/7.layers.md +++ b/docs/2.guide/3.going-further/7.layers.md @@ -100,6 +100,10 @@ export default defineNuxtConfig({ If you want to extend a private remote source, you need to add the environment variable `GIGET_AUTH=<token>` to provide a token. :: +::tip +If you want to extend a remote source from a self-hosted GitHub or GitLab instance, you need to supply its URL with the `GIGET_GITHUB_URL=<url>` or `GIGET_GITLAB_URL=<url>` environment variable - or directly configure it with [the `auth` option](https://github.com/unjs/c12#extending-config-layer-from-remote-sources) in your `nuxt.config`. +:: + ::note When using git remote sources, if a layer has npm dependencies and you wish to install them, you can do so by specifying `install: true` in your layer options. From 00a47be49a5f863d991c1330f897bafddb69eebd Mon Sep 17 00:00:00 2001 From: Inesh Bose <dev@inesh.xyz> Date: Fri, 19 Apr 2024 09:48:19 +0100 Subject: [PATCH 467/470] fix(nuxt): re-initialise `nuxt._ignore` after all modules run (#26680) --- packages/kit/src/ignore.test.ts | 16 ++++++++++++++-- packages/kit/src/ignore.ts | 16 +++++++--------- packages/nuxt/package.json | 1 + packages/nuxt/src/core/nuxt.ts | 7 ++++++- packages/schema/src/types/nuxt.ts | 1 - pnpm-lock.yaml | 3 +++ 6 files changed, 31 insertions(+), 13 deletions(-) diff --git a/packages/kit/src/ignore.test.ts b/packages/kit/src/ignore.test.ts index d19933a65e..adc100a594 100644 --- a/packages/kit/src/ignore.test.ts +++ b/packages/kit/src/ignore.test.ts @@ -1,5 +1,17 @@ -import { describe, expect, it } from 'vitest' -import { resolveGroupSyntax } from './ignore.js' +import { describe, expect, it, vi } from 'vitest' +import type { Nuxt, NuxtOptions } from '@nuxt/schema' +import { isIgnored, resolveGroupSyntax, resolveIgnorePatterns } from './ignore.js' +import * as context from './context.js' + +describe('isIgnored', () => { + it('should populate _ignore', () => { + const mockNuxt = { options: { ignore: ['my-dir'] } as NuxtOptions } as Nuxt + vi.spyOn(context, 'tryUseNuxt').mockReturnValue(mockNuxt) + + expect(isIgnored('my-dir/my-file.ts')).toBe(true) + expect(resolveIgnorePatterns()?.includes('my-dir')).toBe(true) + }) +}) describe('resolveGroupSyntax', () => { it('should resolve single group syntax', () => { diff --git a/packages/kit/src/ignore.ts b/packages/kit/src/ignore.ts index 34c15a8cbb..9dcdc32cf2 100644 --- a/packages/kit/src/ignore.ts +++ b/packages/kit/src/ignore.ts @@ -38,19 +38,17 @@ export function resolveIgnorePatterns (relativePath?: string): string[] { return [] } - if (!nuxt._ignorePatterns) { - nuxt._ignorePatterns = nuxt.options.ignore.flatMap(s => resolveGroupSyntax(s)) + const ignorePatterns = nuxt.options.ignore.flatMap(s => resolveGroupSyntax(s)) - const nuxtignoreFile = join(nuxt.options.rootDir, '.nuxtignore') - if (existsSync(nuxtignoreFile)) { - const contents = readFileSync(nuxtignoreFile, 'utf-8') - nuxt._ignorePatterns.push(...contents.trim().split(/\r?\n/)) - } + const nuxtignoreFile = join(nuxt.options.rootDir, '.nuxtignore') + if (existsSync(nuxtignoreFile)) { + const contents = readFileSync(nuxtignoreFile, 'utf-8') + ignorePatterns.push(...contents.trim().split(/\r?\n/)) } if (relativePath) { // Map ignore patterns based on if they start with * or !* - return nuxt._ignorePatterns.map((p) => { + return ignorePatterns.map((p) => { const [_, negation = '', pattern] = p.match(NEGATION_RE) || [] if (pattern[0] === '*') { return p @@ -59,7 +57,7 @@ export function resolveIgnorePatterns (relativePath?: string): string[] { }) } - return nuxt._ignorePatterns + return ignorePatterns } /** diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index cf557cbd07..c57badcc9c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -84,6 +84,7 @@ "globby": "^14.0.1", "h3": "^1.11.1", "hookable": "^5.5.3", + "ignore": "^5.3.1", "jiti": "^1.21.0", "klona": "^2.0.6", "knitwork": "^1.1.0", diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 70a6b62192..55e00504cd 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -1,7 +1,8 @@ import { dirname, join, normalize, relative, resolve } from 'pathe' import { createDebugger, createHooks } from 'hookable' +import ignore from 'ignore' import type { LoadNuxtOptions } from '@nuxt/kit' -import { addBuildPlugin, addComponent, addPlugin, addRouteMiddleware, addServerPlugin, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' +import { addBuildPlugin, addComponent, addPlugin, addRouteMiddleware, addServerPlugin, addVitePlugin, addWebpackPlugin, installModule, loadNuxtConfig, logger, nuxtCtx, resolveAlias, resolveFiles, resolveIgnorePatterns, resolvePath, tryResolveModule, useNitro } from '@nuxt/kit' import { resolvePath as _resolvePath } from 'mlly' import type { Nuxt, NuxtHooks, NuxtOptions } from 'nuxt/schema' import type { PackageJson } from 'pkg-types' @@ -453,6 +454,10 @@ async function initNuxt (nuxt: Nuxt) { } } + // (Re)initialise ignore handler with resolved ignores from modules + nuxt._ignore = ignore(nuxt.options.ignoreOptions) + nuxt._ignore.add(resolveIgnorePatterns()) + await nuxt.callHook('modules:done') if (nuxt.options.experimental.appManifest) { diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index 9d2a3899bb..5a305ae04a 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -75,7 +75,6 @@ export interface Nuxt { // Private fields. _version: string _ignore?: Ignore - _ignorePatterns?: string[] /** The resolved Nuxt configuration. */ options: NuxtOptions diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6f8a2e1a6..026bccacc4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -317,6 +317,9 @@ importers: hookable: specifier: ^5.5.3 version: 5.5.3 + ignore: + specifier: ^5.3.1 + version: 5.3.1 jiti: specifier: ^1.21.0 version: 1.21.0 From d5e2080cd1cf7be2a8b324c4c0e8e52acc6b7551 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 12:13:46 +0300 Subject: [PATCH 468/470] chore(deps): update all non-major dependencies (main) (#26847) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev> --- package.json | 2 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 163 +++++++++-------------------------- test/bundle.test.ts | 4 +- 5 files changed, 47 insertions(+), 130 deletions(-) diff --git a/package.json b/package.json index 3040c9df9b..9564639c06 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "vue-router": "4.3.2", "vue-tsc": "2.0.13" }, - "packageManager": "pnpm@9.0.2", + "packageManager": "pnpm@9.0.4", "engines": { "node": "^14.18.0 || >=16.10.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index c57badcc9c..57fbc8688f 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -66,9 +66,9 @@ "@nuxt/telemetry": "^2.5.4", "@nuxt/ui-templates": "^1.3.3", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.9.5", - "@unhead/ssr": "^1.9.5", - "@unhead/vue": "^1.9.5", + "@unhead/dom": "^1.9.7", + "@unhead/ssr": "^1.9.7", + "@unhead/vue": "^1.9.7", "@vue/shared": "^3.4.23", "acorn": "8.11.3", "c12": "^1.10.0", diff --git a/packages/schema/package.json b/packages/schema/package.json index 68d3caa998..5e0114b539 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -38,7 +38,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.9.5", + "@unhead/schema": "1.9.7", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "3.1.0", "@vue/compiler-core": "3.4.23", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 026bccacc4..c2b588d6bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -264,14 +264,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.12.7 '@unhead/dom': - specifier: ^1.9.5 - version: 1.9.5 + specifier: ^1.9.7 + version: 1.9.7 '@unhead/ssr': - specifier: ^1.9.5 - version: 1.9.5 + specifier: ^1.9.7 + version: 1.9.7 '@unhead/vue': - specifier: ^1.9.5 - version: 1.9.5(vue@3.4.23(typescript@5.4.5)) + specifier: ^1.9.7 + version: 1.9.7(vue@3.4.23(typescript@5.4.5)) '@vue/shared': specifier: ^3.4.23 version: 3.4.23 @@ -485,8 +485,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.9.5 - version: 1.9.5 + specifier: 1.9.7 + version: 1.9.7 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))(vue@3.4.23(typescript@5.4.5)) @@ -880,7 +880,7 @@ importers: version: 3.4.23(typescript@5.4.5) vue-router: specifier: latest - version: 4.3.1(vue@3.4.23(typescript@5.4.5)) + version: 4.3.2(vue@3.4.23(typescript@5.4.5)) test/fixtures/minimal: dependencies: @@ -2300,10 +2300,6 @@ packages: resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@7.6.0': - resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@7.7.0': resolution: {integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2322,10 +2318,6 @@ packages: resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@7.6.0': - resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@7.7.0': resolution: {integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2339,15 +2331,6 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.6.0': - resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/typescript-estree@7.7.0': resolution: {integrity: sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2363,12 +2346,6 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@7.6.0': - resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - '@typescript-eslint/utils@7.7.0': resolution: {integrity: sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2379,10 +2356,6 @@ packages: resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/visitor-keys@7.6.0': - resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@7.7.0': resolution: {integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2393,20 +2366,20 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@unhead/dom@1.9.5': - resolution: {integrity: sha512-t+JvAFX+Qkx+IEZFBQV5rZoj/6SKHd3tqXqxpsER588DWxU0J6dzvAVJrof/vRTMjJ1lM6B8SxKhZppSZ7H2iQ==} + '@unhead/dom@1.9.7': + resolution: {integrity: sha512-suZVi8apZCNEMKuasGboBB3njJJm+gd8G0NA89geVozJ0bz40FvLyLEJZ9LirbzpujmhgHhsUSvlq4QyslRqdQ==} - '@unhead/schema@1.9.5': - resolution: {integrity: sha512-n0upGPplBn5Y/4PIqKp7/tzOhz7USos5lFjf8UKvMNoOIitEa+avP2u7gRQ9yOhHmOAH9AXDeX7mhSvhO+Tqxw==} + '@unhead/schema@1.9.7': + resolution: {integrity: sha512-naQGY1gQqq8DmQCxVTOeeXIqaRwbqnLEgvQl12zPEDviYxmg7TCbmKyN9uT4ZarQbJ2WYT2UtYvdSrmTXcwlBw==} - '@unhead/shared@1.9.5': - resolution: {integrity: sha512-WN2T8th1wYn4A1bb6o8Z59wNVMPkD6YdNQIlmSbEP9zuSYyVEh3BIxqSdxWM/xl8atN8fNwVW06knaF51VmKXA==} + '@unhead/shared@1.9.7': + resolution: {integrity: sha512-srji+qaBkkGOTdtTmFxt3AebFYcpt1qQHeQva7X3dSm5nZJDoKj35BJJTZfBSRCjgvkTtsdVUT14f9p9/4BCMA==} - '@unhead/ssr@1.9.5': - resolution: {integrity: sha512-l9fqAKM3odX/8Ac8l7v7Nlot5f+e6ktINT/PjBuXf+pHHmPz7+eKWzNL95KVB/o0uxmJr2BVijDwCPYrgmjfjQ==} + '@unhead/ssr@1.9.7': + resolution: {integrity: sha512-3K0J9biCypPzJ5o4AgjhKboX2Sas4COj54wfT+ghSfyQ05Lp5IlWxw0FrXuxKPk54ObovskUwIf8eCa9ke0Vuw==} - '@unhead/vue@1.9.5': - resolution: {integrity: sha512-L3yDB6Mwm92gJNPqZApMwfGluS0agR0HIizkXCKKz3WkZ+ef/negMwTNGpTtd+uqh/+hSyG73Bl4yySuPsD4nA==} + '@unhead/vue@1.9.7': + resolution: {integrity: sha512-c5pcNvi3FwMfqd+lfD3XUyRKPDv/AVPrep84CFXaqB7ebb+2OQTgtxBiCoRsa8+DtdhYI50lYJ/yeVdfLI9XUw==} peerDependencies: vue: 3.4.23 @@ -3222,9 +3195,6 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - confbox@0.1.3: - resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} - confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} @@ -6523,8 +6493,8 @@ packages: unenv@1.9.0: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} - unhead@1.9.5: - resolution: {integrity: sha512-eBKDPO9IMltRze9mHNYIVdosjlqoNFbwJRbykGT/7z/S5uYR2QRCXmIhEsJT4crffy6KQyB5ywLPqjRPx0s57A==} + unhead@1.9.7: + resolution: {integrity: sha512-Kv7aU5l41qiq36t9qMks8Pgsj7adaTBm9aDS6USlmodTXioeqlJ5vEu9DI+8ZZPwRlmof3aDlo1kubyaXdSNmQ==} unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} @@ -6919,11 +6889,6 @@ packages: peerDependencies: vue: 3.4.23 - vue-router@4.3.1: - resolution: {integrity: sha512-D0h3oyP6vp28BOvxv2hVpiqFTjTJizCf1BuMmCibc8UW0Ll/N80SWqDd/hqPMaZfzW1j+s2s+aTRyBIP9ElzOw==} - peerDependencies: - vue: 3.4.23 - vue-router@4.3.2: resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==} peerDependencies: @@ -8581,11 +8546,6 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/scope-manager@7.6.0': - dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/visitor-keys': 7.6.0 - '@typescript-eslint/scope-manager@7.7.0': dependencies: '@typescript-eslint/types': 7.7.0 @@ -8605,8 +8565,6 @@ snapshots: '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@7.6.0': {} - '@typescript-eslint/types@7.7.0': {} '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': @@ -8624,21 +8582,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5)': - dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/visitor-keys': 7.6.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.4 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@7.7.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 7.7.0 @@ -8668,20 +8611,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.5)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - eslint: 9.0.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/utils@7.7.0(eslint@9.0.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) @@ -8701,11 +8630,6 @@ snapshots: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.6.0': - dependencies: - '@typescript-eslint/types': 7.6.0 - eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.7.0': dependencies: '@typescript-eslint/types': 7.7.0 @@ -8719,31 +8643,31 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@unhead/dom@1.9.5': + '@unhead/dom@1.9.7': dependencies: - '@unhead/schema': 1.9.5 - '@unhead/shared': 1.9.5 + '@unhead/schema': 1.9.7 + '@unhead/shared': 1.9.7 - '@unhead/schema@1.9.5': + '@unhead/schema@1.9.7': dependencies: hookable: 5.5.3 zhead: 2.2.4 - '@unhead/shared@1.9.5': + '@unhead/shared@1.9.7': dependencies: - '@unhead/schema': 1.9.5 + '@unhead/schema': 1.9.7 - '@unhead/ssr@1.9.5': + '@unhead/ssr@1.9.7': dependencies: - '@unhead/schema': 1.9.5 - '@unhead/shared': 1.9.5 + '@unhead/schema': 1.9.7 + '@unhead/shared': 1.9.7 - '@unhead/vue@1.9.5(vue@3.4.23(typescript@5.4.5))': + '@unhead/vue@1.9.7(vue@3.4.23(typescript@5.4.5))': dependencies: - '@unhead/schema': 1.9.5 - '@unhead/shared': 1.9.5 + '@unhead/schema': 1.9.7 + '@unhead/shared': 1.9.7 hookable: 5.5.3 - unhead: 1.9.5 + unhead: 1.9.7 vue: 3.4.23(typescript@5.4.5) '@unocss/astro@0.58.6(rollup@4.14.3)(vite@5.2.9(@types/node@20.12.7)(sass@1.69.4)(terser@5.27.0))': @@ -9612,7 +9536,7 @@ snapshots: c12@1.10.0: dependencies: chokidar: 3.6.0 - confbox: 0.1.3 + confbox: 0.1.7 defu: 6.1.4 dotenv: 16.4.5 giget: 1.2.1 @@ -9832,8 +9756,6 @@ snapshots: concat-map@0.0.1: {} - confbox@0.1.3: {} - confbox@0.1.7: {} config-chain@1.1.13: @@ -10354,7 +10276,7 @@ snapshots: eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.5) debug: 4.3.4 doctrine: 3.0.0 eslint: 9.0.0 @@ -13739,11 +13661,11 @@ snapshots: node-fetch-native: 1.6.4 pathe: 1.1.2 - unhead@1.9.5: + unhead@1.9.7: dependencies: - '@unhead/dom': 1.9.5 - '@unhead/schema': 1.9.5 - '@unhead/shared': 1.9.5 + '@unhead/dom': 1.9.7 + '@unhead/schema': 1.9.7 + '@unhead/shared': 1.9.7 hookable: 5.5.3 unicode-emoji-modifier-base@1.0.0: {} @@ -14236,11 +14158,6 @@ snapshots: dependencies: vue: 3.4.23(typescript@5.4.5) - vue-router@4.3.1(vue@3.4.23(typescript@5.4.5)): - dependencies: - '@vue/devtools-api': 6.5.1 - vue: 3.4.23(typescript@5.4.5) - vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)): dependencies: '@vue/devtools-api': 6.5.1 diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 2c4923bae5..73b5ce2dc6 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -35,7 +35,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot('"209k"') const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1337k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1336k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -75,7 +75,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"528k"`) const modules = await analyzeSizes('node_modules/**/*', serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"75.9k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"75.7k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) From 3e610df4dd7165008986089d89fb1b35d7270337 Mon Sep 17 00:00:00 2001 From: Inesh Bose <dev@inesh.xyz> Date: Fri, 19 Apr 2024 10:43:28 +0100 Subject: [PATCH 469/470] feat(kit): handle virtual files in `resolvePath` and `findPath` (#26465) --- packages/kit/src/resolve.test.ts | 31 ++++++++++++++++++++++ packages/kit/src/resolve.ts | 45 ++++++++++++++++++++++++++++++-- 2 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 packages/kit/src/resolve.test.ts diff --git a/packages/kit/src/resolve.test.ts b/packages/kit/src/resolve.test.ts new file mode 100644 index 0000000000..bcdb95486e --- /dev/null +++ b/packages/kit/src/resolve.test.ts @@ -0,0 +1,31 @@ +import { describe, expect, it } from 'vitest' +import { resolve } from 'pathe' +import { loadNuxt } from './loader/nuxt' +import { findPath, resolvePath } from './resolve' +import { defineNuxtModule } from './module/define' +import { addTemplate } from './template' + +const nuxt = await loadNuxt({ + overrides: { + modules: [ + defineNuxtModule(() => { + addTemplate({ + filename: 'my-template.mjs', + getContents: () => 'export const myUtil = () => \'hello\'', + }) + }), + ], + }, +}) + +describe('resolvePath', () => { + it('should resolve paths correctly', async () => { + expect(await resolvePath('.nuxt/app.config')).toBe(resolve(nuxt.options.buildDir, 'app.config')) + }) +}) + +describe('findPath', () => { + it('should find paths correctly', async () => { + expect(await findPath(resolve(nuxt.options.buildDir, 'my-template'), { virtual: true })).toBe(resolve(nuxt.options.buildDir, 'my-template.mjs')) + }) +}) diff --git a/packages/kit/src/resolve.ts b/packages/kit/src/resolve.ts index bbcbba0734..8bdf0693c3 100644 --- a/packages/kit/src/resolve.ts +++ b/packages/kit/src/resolve.ts @@ -17,6 +17,12 @@ export interface ResolvePathOptions { /** The file extensions to try. Default is Nuxt configured extensions. */ extensions?: string[] + + /** + * Whether to resolve files that exist in the Nuxt VFS (for example, as a Nuxt template). + * @default false + */ + virtual?: boolean } /** @@ -30,8 +36,13 @@ export async function resolvePath (path: string, opts: ResolvePathOptions = {}): path = normalize(path) // Fast return if the path exists - if (isAbsolute(path) && existsSync(path) && !(await isDirectory(path))) { - return path + if (isAbsolute(path)) { + if (opts?.virtual && existsInVFS(path)) { + return path + } + if (existsSync(path) && !(await isDirectory(path))) { + return path + } } // Use current nuxt options @@ -49,6 +60,10 @@ export async function resolvePath (path: string, opts: ResolvePathOptions = {}): } // Check if resolvedPath is a file + if (opts?.virtual && existsInVFS(path, nuxt)) { + return path + } + let _isDir = false if (existsSync(path)) { _isDir = await isDirectory(path) @@ -61,11 +76,17 @@ export async function resolvePath (path: string, opts: ResolvePathOptions = {}): for (const ext of extensions) { // path.[ext] const pathWithExt = path + ext + if (opts?.virtual && existsInVFS(pathWithExt, nuxt)) { + return pathWithExt + } if (existsSync(pathWithExt)) { return pathWithExt } // path/index.[ext] const pathWithIndex = join(path, 'index' + ext) + if (opts?.virtual && existsInVFS(pathWithIndex, nuxt)) { + return pathWithIndex + } if (_isDir && existsSync(pathWithIndex)) { return pathWithIndex } @@ -85,8 +106,17 @@ export async function resolvePath (path: string, opts: ResolvePathOptions = {}): * Try to resolve first existing file in paths */ export async function findPath (paths: string | string[], opts?: ResolvePathOptions, pathType: 'file' | 'dir' = 'file'): Promise<string | null> { + const nuxt = opts?.virtual ? tryUseNuxt() : undefined + for (const path of toArray(paths)) { const rPath = await resolvePath(path, opts) + + // Check VFS + if (opts?.virtual && existsInVFS(rPath, nuxt)) { + return rPath + } + + // Check file system if (await existsSensitive(rPath)) { const _isDir = await isDirectory(rPath) if (!pathType || (pathType === 'file' && !_isDir) || (pathType === 'dir' && _isDir)) { @@ -160,6 +190,17 @@ async function isDirectory (path: string) { return (await fsp.lstat(path)).isDirectory() } +function existsInVFS (path: string, nuxt = tryUseNuxt()) { + if (!nuxt) { return false } + + if (path in nuxt.vfs) { + return true + } + + const templates = nuxt.apps.default?.templates ?? nuxt.options.build.templates + return templates.some(template => template.dst === path) +} + export async function resolveFiles (path: string, pattern: string | string[], opts: { followSymbolicLinks?: boolean } = {}) { const files = await globby(pattern, { cwd: path, followSymbolicLinks: opts.followSymbolicLinks ?? true }) return files.map(p => resolve(path, p)).filter(p => !isIgnored(p)).sort() From 4dbe748cfc3775aecb8fccc3bb2a4136241aa120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= <userquin@gmail.com> Date: Fri, 19 Apr 2024 11:48:49 +0200 Subject: [PATCH 470/470] feat(nuxt): expose `useLink` from `NuxtLink` (#26522) --- packages/nuxt/src/app/components/nuxt-link.ts | 132 +++++++++++------- test/basic.test.ts | 37 +++++ .../basic/pages/nuxt-link/use-link.vue | 53 +++++++ .../basic/plugins/add-nuxt-link-alias.ts | 5 + 4 files changed, 177 insertions(+), 50 deletions(-) create mode 100644 test/fixtures/basic/pages/nuxt-link/use-link.vue create mode 100644 test/fixtures/basic/plugins/add-nuxt-link-alias.ts diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index 62446eb563..6efcab60b3 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -7,7 +7,7 @@ import type { VNodeProps, } from 'vue' import { computed, defineComponent, h, inject, onBeforeUnmount, onMounted, provide, ref, resolveComponent } from 'vue' -import type { RouteLocation, RouteLocationRaw, Router, RouterLinkProps } from '#vue-router' +import type { RouteLocation, RouteLocationRaw, Router, RouterLink, RouterLinkProps, useLink } from '#vue-router' import { hasProtocol, joinURL, parseQuery, parseURL, withTrailingSlash, withoutTrailingSlash } from 'ufo' import { preloadRouteComponents } from '../composables/preload' import { onNuxtReady } from '../composables/ready' @@ -120,6 +120,79 @@ export function defineNuxtLink (options: NuxtLinkOptions) { return resolvedPath } + function useNuxtLink (props: NuxtLinkProps) { + const router = useRouter() + const config = useRuntimeConfig() + + // Resolving `to` value from `to` and `href` props + const to: ComputedRef<string | RouteLocationRaw> = computed(() => { + checkPropConflicts(props, 'to', 'href') + const path = props.to || props.href || '' // Defaults to empty string (won't render any `href` attribute) + return resolveTrailingSlashBehavior(path, router.resolve) + }) + + // Lazily check whether to.value has a protocol + const isAbsoluteUrl = computed(() => typeof to.value === 'string' && hasProtocol(to.value, { acceptRelative: true })) + + // Resolves `to` value if it's a route location object + const href = computed(() => (typeof to.value === 'object' + ? router.resolve(to.value)?.href ?? null + : (to.value && !props.external && !isAbsoluteUrl.value) + ? resolveTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), router.resolve) as string + : to.value + )) + + const builtinRouterLink = resolveComponent('RouterLink') as string | typeof RouterLink + const useBuiltinLink = builtinRouterLink && typeof builtinRouterLink !== 'string' ? builtinRouterLink.useLink : undefined + + const link = useBuiltinLink?.({ + ...props, + to: to.value, + }) + + const hasTarget = computed(() => props.target && props.target !== '_self') + + // Resolving link type + const isExternal = computed<boolean>(() => { + // External prop is explicitly set + if (props.external) { + return true + } + + // When `target` prop is set, link is external + if (hasTarget.value) { + return true + } + + // When `to` is a route object then it's an internal link + if (typeof to.value === 'object') { + return false + } + + return to.value === '' || isAbsoluteUrl.value + }) + + return { + to, + hasTarget, + isAbsoluteUrl, + isExternal, + // + href, + isActive: link?.isActive ?? computed(() => to.value === router.currentRoute.value.path), + isExactActive: link?.isExactActive ?? computed(() => to.value === router.currentRoute.value.path), + route: link?.route ?? computed(() => router.resolve(to.value)), + async navigate () { + await navigateTo(href.value, { replace: props.replace, external: props.external }) + }, + } satisfies ReturnType<typeof useLink> & { + to: ComputedRef<string | RouteLocationRaw> + hasTarget: ComputedRef<boolean | null | undefined> + isAbsoluteUrl: ComputedRef<boolean> + isExternal: ComputedRef<boolean> + } + } + return defineComponent({ name: componentName, props: { @@ -207,43 +280,11 @@ export function defineNuxtLink (options: NuxtLinkOptions) { required: false, }, }, + useLink: useNuxtLink, setup (props, { slots }) { const router = useRouter() - const config = useRuntimeConfig() - // Resolving `to` value from `to` and `href` props - const to: ComputedRef<string | RouteLocationRaw> = computed(() => { - checkPropConflicts(props, 'to', 'href') - - const path = props.to || props.href || '' // Defaults to empty string (won't render any `href` attribute) - - return resolveTrailingSlashBehavior(path, router.resolve) - }) - - // Lazily check whether to.value has a protocol - const isAbsoluteUrl = computed(() => typeof to.value === 'string' && hasProtocol(to.value, { acceptRelative: true })) - - const hasTarget = computed(() => props.target && props.target !== '_self') - - // Resolving link type - const isExternal = computed<boolean>(() => { - // External prop is explicitly set - if (props.external) { - return true - } - - // When `target` prop is set, link is external - if (hasTarget.value) { - return true - } - - // When `to` is a route object then it's an internal link - if (typeof to.value === 'object') { - return false - } - - return to.value === '' || isAbsoluteUrl.value - }) + const { to, href, navigate, isExternal, hasTarget, isAbsoluteUrl } = useNuxtLink(props) // Prefetching const prefetched = ref(false) @@ -323,14 +364,6 @@ export function defineNuxtLink (options: NuxtLinkOptions) { ) } - // Resolves `to` value if it's a route location object - // converts `""` to `null` to prevent the attribute from being added as empty (`href=""`) - const href = typeof to.value === 'object' - ? router.resolve(to.value)?.href ?? null - : (to.value && !props.external && !isAbsoluteUrl.value) - ? resolveTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), router.resolve) as string - : to.value || null - // Resolves `target` value const target = props.target || null @@ -353,15 +386,13 @@ export function defineNuxtLink (options: NuxtLinkOptions) { return null } - const navigate = () => navigateTo(href, { replace: props.replace, external: props.external }) - return slots.default({ - href, + href: href.value, navigate, get route () { - if (!href) { return undefined } + if (!href.value) { return undefined } - const url = parseURL(href) + const url = parseURL(href.value) return { path: url.pathname, fullPath: url.pathname, @@ -372,7 +403,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { matched: [], redirectedFrom: undefined, meta: {}, - href, + href: href.value, } satisfies RouteLocation & { href: string } }, rel, @@ -383,7 +414,8 @@ export function defineNuxtLink (options: NuxtLinkOptions) { }) } - return h('a', { ref: el, href, rel, target }, slots.default?.()) + // converts `""` to `null` to prevent the attribute from being added as empty (`href=""`) + return h('a', { ref: el, href: href.value || null, rel, target }, slots.default?.()) } }, }) as unknown as DefineComponent<NuxtLinkProps> diff --git a/test/basic.test.ts b/test/basic.test.ts index b6e7b168e0..338e2f83b2 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -771,6 +771,43 @@ describe('nuxt links', () => { await page.waitForFunction(() => window.scrollY === 0) await page.close() }) + + it('useLink works', async () => { + const html = await $fetch('/nuxt-link/use-link') + expect(html).toContain('<div>useLink in NuxtLink: true</div>') + expect(html).toContain('<div>route using useLink: /nuxt-link/trailing-slash</div>') + expect(html).toContain('<div>href using useLink: /nuxt-link/trailing-slash</div>') + expect(html).toContain('<div>useLink2 in NuxtLink: true</div>') + expect(html).toContain('<div>route2 using useLink: /nuxt-link/trailing-slash</div>') + expect(html).toContain('<div>href2 using useLink: /nuxt-link/trailing-slash</div>') + expect(html).toContain('<div>useLink3 in NuxtLink: true</div>') + expect(html).toContain('<div>route3 using useLink: /nuxt-link/trailing-slash</div>') + expect(html).toContain('<div>href3 using useLink: /nuxt-link/trailing-slash</div>') + }) + it('useLink navigate importing NuxtLink works', async () => { + const page = await createPage('/nuxt-link/use-link') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/nuxt-link/use-link') + + await page.locator('#button1').click() + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nuxt-link/trailing-slash') + await page.close() + }) + it('useLink navigate using resolveComponent works', async () => { + const page = await createPage('/nuxt-link/use-link') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/nuxt-link/use-link') + + await page.locator('#button2').click() + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nuxt-link/trailing-slash') + await page.close() + }) + it('useLink navigate using resolveDynamicComponent works', async () => { + const page = await createPage('/nuxt-link/use-link') + await page.waitForFunction(() => window.useNuxtApp?.()._route.fullPath === '/nuxt-link/use-link') + + await page.locator('#button3').click() + await page.waitForFunction(path => window.useNuxtApp?.()._route.fullPath === path, '/nuxt-link/trailing-slash') + await page.close() + }) }) describe('head tags', () => { diff --git a/test/fixtures/basic/pages/nuxt-link/use-link.vue b/test/fixtures/basic/pages/nuxt-link/use-link.vue new file mode 100644 index 0000000000..21f0ac5592 --- /dev/null +++ b/test/fixtures/basic/pages/nuxt-link/use-link.vue @@ -0,0 +1,53 @@ +<script setup lang="ts"> +import { resolveDynamicComponent } from 'vue' +import { NuxtLink } from '#components' + +const useLinkPresent = 'useLink' in NuxtLink +const link = useLinkPresent ? NuxtLink.useLink({ to: '/nuxt-link/trailing-slash' }) : undefined +const route = computed(() => link?.route.value.path) +const href = computed(() => link?.href.value) + +const NuxtLink2 = resolveComponent('NuxtLinkAlias') as unknown as any +const useLink2Present = typeof NuxtLink2 !== 'string' && 'useLink' in NuxtLink2 +const link2 = useLink2Present ? NuxtLink2.useLink({ to: '/nuxt-link/trailing-slash' }) : undefined +const route2 = computed(() => link2?.route.value.path) +const href2 = computed(() => link2?.href.value) + +const NuxtLink3 = resolveDynamicComponent('NuxtLinkAlias') as unknown as any +const useLink3Present = typeof NuxtLink3 !== 'string' && 'useLink' in NuxtLink3 +const link3 = useLink3Present ? NuxtLink3.useLink({ to: '/nuxt-link/trailing-slash' }) : undefined +const route3 = computed(() => link3?.route.value.path) +const href3 = computed(() => link3?.href.value) +</script> + +<template> + <div> + <div>useLink in NuxtLink: {{ useLinkPresent }}</div> + <div>route using useLink: {{ route }}</div> + <div>href using useLink: {{ href }}</div> + <button + id="button1" + @click="link?.navigate()" + > + Test + </button> + <div>useLink2 in NuxtLink: {{ useLink2Present }}</div> + <div>route2 using useLink: {{ route2 }}</div> + <div>href2 using useLink: {{ href2 }}</div> + <button + id="button2" + @click="link2?.navigate()" + > + Test + </button> + <div>useLink3 in NuxtLink: {{ useLink3Present }}</div> + <div>route3 using useLink: {{ route3 }}</div> + <div>href3 using useLink: {{ href3 }}</div> + <button + id="button3" + @click="link3?.navigate()" + > + Test + </button> + </div> +</template> diff --git a/test/fixtures/basic/plugins/add-nuxt-link-alias.ts b/test/fixtures/basic/plugins/add-nuxt-link-alias.ts new file mode 100644 index 0000000000..6d0bfeadfb --- /dev/null +++ b/test/fixtures/basic/plugins/add-nuxt-link-alias.ts @@ -0,0 +1,5 @@ +import { NuxtLink } from '#components' + +export default defineNuxtPlugin((nuxtApp) => { + nuxtApp.vueApp.component('NuxtLinkAlias', NuxtLink) +})