From b75bf870bef90c7791e2bfbdb0fab9168871cb16 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 09:23:48 +0100 Subject: [PATCH 01/44] fix(nuxt): register augmented pages to avoid re-augmenting --- packages/nuxt/src/pages/utils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 85d408727a..19014fbd20 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -144,6 +144,7 @@ export async function augmentPages (routes: NuxtPage[], vfs: Record 0) { From 09f6a88e1d7f2b2d59e65a146592ac5b78ed7a07 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 09:37:35 +0100 Subject: [PATCH 02/44] fix(nuxt): use file path as key for re-augmenting --- packages/nuxt/src/pages/utils.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 19014fbd20..78080c97cc 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -139,12 +139,12 @@ export function generateRoutesFromFiles (files: ScannedFile[], options: Generate return prepareRoutes(routes) } -export async function augmentPages (routes: NuxtPage[], vfs: Record, augmentedPages = new Set()) { +export async function augmentPages (routes: NuxtPage[], vfs: Record, augmentedPages = new Set()) { for (const route of routes) { - if (!augmentedPages.has(route) && route.file) { + if (route.file && !augmentedPages.has(route.file)) { const fileContent = route.file in vfs ? vfs[route.file] : fs.readFileSync(await resolvePath(route.file), 'utf-8') Object.assign(route, await getRouteMeta(fileContent, route.file)) - augmentedPages.add(route) + augmentedPages.add(route.file) } if (route.children && route.children.length > 0) { From 9f06842fa1b323bd0e0911b0335a091a9052b5c3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 09:44:43 +0100 Subject: [PATCH 03/44] v3.12.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 0a3ea10f67..e529e16f46 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/kit", - "version": "3.11.2", + "version": "3.12.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 7ebf3c3fe6..e033b47fd2 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "3.11.2", + "version": "3.12.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 a556e49110..81cd68ff67 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/schema", - "version": "3.11.2", + "version": "3.12.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 418b7deb92..4b89955a8d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vite-builder", - "version": "3.11.2", + "version": "3.12.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 d4c67588e6..d77c7d7d79 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/webpack-builder", - "version": "3.11.2", + "version": "3.12.0", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", From 7777f056413af7c9bc897db380e1eae7132b49d7 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 09:54:34 +0100 Subject: [PATCH 04/44] chore: fix release script --- scripts/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release.sh b/scripts/release.sh index a247550e97..f8fc5bd819 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -16,7 +16,7 @@ for PKG in packages/* ; do if [[ $PKG == "packages/test-utils" ]] ; then continue fi - if [[ $p == "packages/ui-templates" ]] ; then + if [[ $PKG == "packages/ui-templates" ]] ; then continue fi pushd $PKG From 0252000d7cf604e82ab3e4d8c675b757a5224e6c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 10:14:11 +0100 Subject: [PATCH 05/44] fix(nuxt): update registry list for `@nuxt/scripts` --- packages/nuxt/package.json | 1 + packages/nuxt/src/imports/presets.ts | 5 +- packages/nuxt/test/auto-imports.test.ts | 21 +- pnpm-lock.yaml | 369 +++++++++++++++++++++++- 4 files changed, 384 insertions(+), 12 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index e033b47fd2..a1debe9566 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -118,6 +118,7 @@ "vue-router": "^4.3.3" }, "devDependencies": { + "@nuxt/scripts": "^0.4.7", "@nuxt/ui-templates": "1.3.4", "@parcel/watcher": "2.4.1", "@types/estree": "1.0.5", diff --git a/packages/nuxt/src/imports/presets.ts b/packages/nuxt/src/imports/presets.ts index ba5a513d3c..3b2e85534c 100644 --- a/packages/nuxt/src/imports/presets.ts +++ b/packages/nuxt/src/imports/presets.ts @@ -123,15 +123,16 @@ export const scriptsStubsPreset = { 'useScriptFathomAnalytics', 'useScriptMatomoAnalytics', 'useScriptGoogleTagManager', + 'useScriptGoogleAdsense', 'useScriptSegment', - 'useScriptFacebookPixel', + 'useScriptMetaPixel', 'useScriptXPixel', 'useScriptIntercom', 'useScriptHotjar', 'useScriptStripe', 'useScriptLemonSqueezy', 'useScriptVimeoPlayer', - 'useScriptYouTubeIframe', + 'useScriptYouTubePlayer', 'useScriptGoogleMaps', 'useScriptNpm', ], diff --git a/packages/nuxt/test/auto-imports.test.ts b/packages/nuxt/test/auto-imports.test.ts index 3f8807dc3f..f417369177 100644 --- a/packages/nuxt/test/auto-imports.test.ts +++ b/packages/nuxt/test/auto-imports.test.ts @@ -6,8 +6,9 @@ import * as VueFunctions from 'vue' import type { Import } from 'unimport' import { createUnimport } from 'unimport' import type { Plugin } from 'vite' +import { registry as scriptRegistry } from '@nuxt/scripts/registry' import { TransformPlugin } from '../src/imports/transform' -import { defaultPresets } from '../src/imports/presets' +import { defaultPresets, scriptsStubsPreset } from '../src/imports/presets' describe('imports:transform', () => { const imports: Import[] = [ @@ -193,3 +194,21 @@ describe('imports:vue', () => { }) } }) + +describe('imports:nuxt/scripts', () => { + const scripts = scriptRegistry().map(s => s.import?.name).filter(Boolean) + const globalScripts = new Set([ + 'useScript', + 'useAnalyticsPageEvent', + 'useElementScriptTrigger', + 'useConsentScriptTrigger', + ]) + it.each(scriptsStubsPreset.imports)(`should register %s from @nuxt/scripts`, (name) => { + if (globalScripts.has(name)) { return } + + expect(scripts).toContain(name) + }) + it.each(scripts)(`should register %s from @nuxt/scripts`, (name) => { + expect(scriptsStubsPreset.imports).toContain(name) + }) +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86d9c16605..ec7ca3f7f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -257,7 +257,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.3.3 - version: 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -427,6 +427,9 @@ importers: specifier: ^4.3.3 version: 4.3.3(vue@3.4.27(typescript@5.4.5)) devDependencies: + '@nuxt/scripts': + specifier: ^0.4.7 + version: 0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5)) '@nuxt/ui-templates': specifier: workspace:* version: link:../ui-templates @@ -619,7 +622,7 @@ importers: version: 1.3.0 unocss: specifier: 0.60.4 - version: 0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + version: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) vite: specifier: 5.2.13 version: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) @@ -1951,6 +1954,18 @@ packages: resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} engines: {node: '>=18.18'} + '@iconify-json/carbon@1.1.35': + resolution: {integrity: sha512-zKqioWceqFRiLJvxpjcCpVP3j2YcokYshlbwSAHBhOih5XNUymUS3hm1kpV4KljMI1xWH96UcozHaaf6x4YzdA==} + + '@iconify-json/logos@1.1.43': + resolution: {integrity: sha512-UtvL1yDHUr9dl1Tqihh6K9m5dmbYKOYyLf3i9aKhymSW76QjOCGjpgQc0PQ4GJCAdU1cAMu+WO61TgPxdonrlg==} + + '@iconify-json/ri@1.1.20': + resolution: {integrity: sha512-yScIGjLFBCJKWKskQTWRjNI2Awoq+VRDkRxEsCQvSfdz41n+xkRtFG2K6J1OVI90ClRHfjFC8VJ2+WzxxyFjTQ==} + + '@iconify-json/tabler@1.1.113': + resolution: {integrity: sha512-dT34D0gyqxgK2t91+8scQ+U387yZ/zb4r7/3CHqhmvaVMsnOT8DFtX0FhJzdr6ldnVH82pGAp59GGr97IT/UfQ==} + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -2098,6 +2113,11 @@ packages: nuxt: workspace:* vite: 5.2.13 + '@nuxt/devtools-ui-kit@1.3.3': + resolution: {integrity: sha512-vM9dcb/CLXf1big6SmhVL0mh/JzNtZaJwHMYDd3vqv7jAedGuNfURDSGGVYQRFlSFisA3Cn0TnjDDs+dPrGuAA==} + peerDependencies: + '@nuxt/devtools': 1.3.3 + '@nuxt/devtools-wizard@1.3.3': resolution: {integrity: sha512-9Umo9eDgwhSBDnTzWINXwJBYy2J3ay6OviM7Qdr08B9hDu+CU6MrEpsT4hZ3npD7p1E+9t1YQw/4fZ8NMcPVnw==} hasBin: true @@ -2125,6 +2145,9 @@ packages: peerDependencies: webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + '@nuxt/scripts@0.4.7': + resolution: {integrity: sha512-zVP7tF3rmO2ZqQW5Hmmy0NQ4WYH+8ye1QBseSJZ0Ab1pDQEpWX+CI7tVak7Fw7IWVnrAcjIMh6TJFt0zQ/ARjg==} + '@nuxt/telemetry@2.5.4': resolution: {integrity: sha512-KH6wxzsNys69daSO0xUv0LEBAfhwwjK1M+0Cdi1/vxmifCslMIY7lN11B4eywSfscbyVPAYJvANyc7XiVPImBQ==} hasBin: true @@ -2170,6 +2193,9 @@ packages: vitest: optional: true + '@nuxtjs/color-mode@3.4.1': + resolution: {integrity: sha512-vZgJqDstxInGw3RGSWbLoCLXtU1mvh1LLeuEA/X3a++DYA4ifwSbNoiSiOyb9qZHFEwz1Xr99H71sXV4IhOaEg==} + '@nuxtjs/mdc@0.5.0': resolution: {integrity: sha512-480Ajc7o/YAl9b21btd0oRtVe/UjUWmVSEWauS+H+izwEGdGvJTVfZRdaiAXcXKl+UmUTpf+POel027sE9HAZQ==} @@ -2445,6 +2471,9 @@ packages: '@shikijs/core@1.3.0': resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} + '@shikijs/core@1.6.3': + resolution: {integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==} + '@shikijs/transformers@1.1.2': resolution: {integrity: sha512-tldkUMW7RBkU2F6eXbiRMw3ja+hQer1EjwhD2NGOv6K0pgZdVp3JKjU8uisRtg65tyBqrVHq7zlLHVk7EKmUZA==} @@ -2581,6 +2610,9 @@ packages: '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + '@types/google.maps@3.55.9': + resolution: {integrity: sha512-phaOMtezbT3NaXPKiI3m0OosUS7Nly0auw3Be5s/CgMWLVoDAUP1Yb/Ld0TRoRp8ibrlT4VqM5kmzfvUA0UNLQ==} + '@types/hash-sum@1.0.2': resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==} @@ -2653,6 +2685,9 @@ packages: '@types/source-list-map@0.1.4': resolution: {integrity: sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg==} + '@types/stripe-v3@3.1.33': + resolution: {integrity: sha512-fIE7F7alypCrnIMsk4naprHf8kXEvPM2Q9FGdL/3TDeGM0xlHohdVWkwuaEZ2tKzXB9QQKoS8k+ocLkPjZajwQ==} + '@types/tapable@1.0.10': resolution: {integrity: sha512-q8F20SdXG5fdVJQ5yxsVlH+f+oekP42QeHv4s5KlrxTMT0eopXn7ol1rhxMcksf8ph7XNv811iVDE2hOpUvEPg==} @@ -2665,6 +2700,9 @@ packages: '@types/unist@3.0.2': resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + '@types/vimeo__player@2.18.3': + resolution: {integrity: sha512-IzSzb6doT4I4uAnBHa+mBCiNtK7iAllEJjtpkX0sKY6/s1Vi+aX1134IAiPgiyFlMvFab/oZQpSeccK4r0/T2A==} + '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} @@ -2690,6 +2728,9 @@ packages: '@types/yargs@17.0.28': resolution: {integrity: sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==} + '@types/youtube@0.0.50': + resolution: {integrity: sha512-d4GpH4uPYp9W07kc487tiq6V/EUHl18vZWFMbQoe4Sk9LXEWzFi/BMf9x7TI4m7/j7gU3KeX8H6M8aPBgykeLw==} + '@typescript-eslint/eslint-plugin@7.9.0': resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -2797,6 +2838,9 @@ packages: '@unocss/inspector@0.60.4': resolution: {integrity: sha512-PcnrEQ2H7osZho4Nh0+84O4IXzlkF7pvTUe/7FTJYF1HQGWHB/PfOSoyKn7/sF5sED8hMK9RlSJ9YGUH9ioY+g==} + '@unocss/nuxt@0.60.4': + resolution: {integrity: sha512-2lv7tsVlAnGMqqImfZPLm05dtDo3Og0VDrHOAwFwL4XiVaTLXEXQfAf/bOBDRy4qpJ2nFDj9eltuoQYWto1jmA==} + '@unocss/postcss@0.60.4': resolution: {integrity: sha512-mHha4BoOpCWRRL5EFJqsj+BiYxOBPXUZDFbSWmA8oAMBwcA/yqtnaRF2tqI9CK+CDfhmtbYF64KdTLh9pf6BvQ==} engines: {node: '>=14'} @@ -2857,6 +2901,11 @@ packages: peerDependencies: vite: 5.2.13 + '@unocss/webpack@0.60.4': + resolution: {integrity: sha512-TcPuiAZZO+a+xiahrCm7eEHlP8o667n+CWv+kpz4bidY5V8Xyxs1MjzJAPVOk8Kwz86HvQZyf2CG+3powNTwKA==} + peerDependencies: + webpack: ^4 || ^5 + '@vercel/nft@0.26.4': resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} engines: {node: '>=16'} @@ -3029,6 +3078,9 @@ packages: '@vueuse/components@10.9.0': resolution: {integrity: sha512-BHQpA0yIi3y7zKa1gYD0FUzLLkcRTqVhP8smnvsCK6GFpd94Nziq1XVPD7YpFeho0k5BzbBiNZF7V/DpkJ967A==} + '@vueuse/core@10.10.0': + resolution: {integrity: sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==} + '@vueuse/core@10.9.0': resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} @@ -3073,9 +3125,20 @@ packages: universal-cookie: optional: true + '@vueuse/metadata@10.10.0': + resolution: {integrity: sha512-UNAo2sTCAW5ge6OErPEHb5z7NEAg3XcO9Cj7OK45aZXfLLH1QkexDcZD77HBi5zvEiLOm1An+p/4b5K3Worpug==} + '@vueuse/metadata@10.9.0': resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + '@vueuse/nuxt@10.10.0': + resolution: {integrity: sha512-l8uFNuFASmcjPEaKAbigUrQZDtVQ9wRTfbuIBEpr3oAGnYtXGwBoQqYGnZopUR1Kdh8qiurpKuwvzVQnrzDjyw==} + peerDependencies: + nuxt: workspace:* + + '@vueuse/shared@10.10.0': + resolution: {integrity: sha512-2aW33Ac0Uk0U+9yo3Ypg9s5KcR42cuehRWl7vnUHadQyFvCktseyxxEPBi1Eiq4D2yBGACOnqLZpx1eMc7g5Og==} + '@vueuse/shared@10.9.0': resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} @@ -6579,6 +6642,9 @@ packages: shiki@1.3.0: resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==} + shiki@1.6.3: + resolution: {integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==} + side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -6855,6 +6921,9 @@ packages: peerDependencies: tslib: ^2 + third-party-capital@1.0.30: + resolution: {integrity: sha512-hiXyTwFcgmVBCfhPZz92OxqBvd36EbsI6LVesOCHGVcgQwmSM/mr4GC6AkbPiR6KdOkfsGctoqrHII7n3UZRFg==} + time-fix-plugin@2.0.7: resolution: {integrity: sha512-uVFet1LQToeUX0rTcSiYVYVoGuBpc8gP/2jnlUzuHMHe+gux6XLsNzxLUweabMwiUj5ejhoIMsUI55nVSEa/Vw==} peerDependencies: @@ -7168,6 +7237,14 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + v-lazy-show@0.2.4: + resolution: {integrity: sha512-Lx9Str2i+HTh+zGzs9O3YyhGAZOAAfU+6MUUPcQPPiPxQO1sHBEv9sH3MO9bPc4T09gsjsS2+sbaCWQ1MdhpJQ==} + peerDependencies: + '@vue/compiler-core': ^3.3 + + valibot@0.30.0: + resolution: {integrity: sha512-5POBdbSkM+3nvJ6ZlyQHsggisfRtyT4tVTo1EIIShs6qCdXJnyWU5TJ68vr8iTg5zpOLjXLRiBqNx+9zwZz/rA==} + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -8363,6 +8440,22 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} + '@iconify-json/carbon@1.1.35': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/logos@1.1.43': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/ri@1.1.20': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/tabler@1.1.113': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/types@2.0.0': {} '@iconify/utils@2.1.24': @@ -8563,6 +8656,53 @@ snapshots: nuxt: link:packages/nuxt vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + '@nuxt/devtools-ui-kit@1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5))': + dependencies: + '@iconify-json/carbon': 1.1.35 + '@iconify-json/logos': 1.1.43 + '@iconify-json/ri': 1.1.20 + '@iconify-json/tabler': 1.1.113 + '@nuxt/devtools': 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/kit': link:packages/kit + '@nuxtjs/color-mode': 3.4.1 + '@unocss/core': 0.60.4 + '@unocss/nuxt': 0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.91.0(esbuild@0.21.5)) + '@unocss/preset-attributify': 0.60.4 + '@unocss/preset-icons': 0.60.4 + '@unocss/preset-mini': 0.60.4 + '@unocss/reset': 0.60.4 + '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5)) + '@vueuse/nuxt': 10.10.0(nuxt@packages+nuxt)(vue@3.4.27(typescript@5.4.5)) + defu: 6.1.4 + focus-trap: 7.5.4 + splitpanes: 3.1.5 + unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + v-lazy-show: 0.2.4(@vue/compiler-core@3.4.27) + transitivePeerDependencies: + - '@unocss/webpack' + - '@vue/compiler-core' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - nuxt + - postcss + - qrcode + - rollup + - sortablejs + - supports-color + - universal-cookie + - vite + - vue + - webpack + '@nuxt/devtools-wizard@1.3.3': dependencies: consola: 3.2.3 @@ -8576,13 +8716,13 @@ snapshots: rc9: 2.1.2 semver: 7.6.2 - '@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.8 '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.3.3 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 @@ -8682,6 +8822,74 @@ snapshots: string-width: 4.2.3 webpack: 5.91.0 + '@nuxt/scripts@0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5))': + dependencies: + '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/devtools-ui-kit': 1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5)) + '@nuxt/kit': link:packages/kit + '@types/google.maps': 3.55.9 + '@types/stripe-v3': 3.1.33 + '@types/vimeo__player': 2.18.3 + '@types/youtube': 0.0.50 + '@unhead/vue': 1.9.12(vue@3.4.27(typescript@5.4.5)) + '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.4.5)) + consola: 3.2.3 + defu: 6.1.4 + estree-walker: 3.0.3 + h3: 1.11.1 + magic-string: 0.30.10 + mlly: 1.7.1 + ofetch: 1.3.4 + ohash: 1.1.3 + pathe: 1.1.2 + pkg-types: 1.1.1 + semver: 7.6.2 + shiki: 1.6.3 + sirv: 2.0.4 + std-env: 3.7.0 + third-party-capital: 1.0.30 + ufo: 1.5.3 + unimport: 3.7.2(rollup@4.18.0) + unplugin: 1.10.1 + unstorage: 1.10.2(ioredis@5.3.2) + valibot: 0.30.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@nuxt/devtools' + - '@planetscale/database' + - '@unocss/webpack' + - '@upstash/redis' + - '@vercel/kv' + - '@vue/compiler-core' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - ioredis + - jwt-decode + - nprogress + - nuxt + - postcss + - qrcode + - rollup + - sortablejs + - supports-color + - uWebSockets.js + - universal-cookie + - vite + - vue + - webpack + '@nuxt/telemetry@2.5.4': dependencies: '@nuxt/kit': link:packages/kit @@ -8739,6 +8947,13 @@ snapshots: playwright-core: 1.44.1 vitest: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) + '@nuxtjs/color-mode@3.4.1': + dependencies: + '@nuxt/kit': link:packages/kit + pathe: 1.1.2 + pkg-types: 1.1.1 + semver: 7.6.2 + '@nuxtjs/mdc@0.5.0': dependencies: '@nuxt/kit': link:packages/kit @@ -8982,6 +9197,8 @@ snapshots: '@shikijs/core@1.3.0': {} + '@shikijs/core@1.6.3': {} + '@shikijs/transformers@1.1.2': dependencies: shiki: 1.1.2 @@ -9166,6 +9383,8 @@ snapshots: '@types/jsonfile': 6.1.2 '@types/node': 20.12.12 + '@types/google.maps@3.55.9': {} + '@types/hash-sum@1.0.2': {} '@types/hast@3.0.4': @@ -9243,6 +9462,8 @@ snapshots: '@types/source-list-map@0.1.4': {} + '@types/stripe-v3@3.1.33': {} + '@types/tapable@1.0.10': {} '@types/uglify-js@3.17.3': @@ -9253,6 +9474,8 @@ snapshots: '@types/unist@3.0.2': {} + '@types/vimeo__player@2.18.3': {} + '@types/web-bluetooth@0.0.20': {} '@types/webpack-bundle-analyzer@4.7.0': @@ -9302,6 +9525,8 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.1 + '@types/youtube@0.0.50': {} + '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -9464,6 +9689,29 @@ snapshots: gzip-size: 6.0.0 sirv: 2.0.4 + '@unocss/nuxt@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.91.0(esbuild@0.21.5))': + dependencies: + '@nuxt/kit': link:packages/kit + '@unocss/config': 0.60.4 + '@unocss/core': 0.60.4 + '@unocss/preset-attributify': 0.60.4 + '@unocss/preset-icons': 0.60.4 + '@unocss/preset-tagify': 0.60.4 + '@unocss/preset-typography': 0.60.4 + '@unocss/preset-uno': 0.60.4 + '@unocss/preset-web-fonts': 0.60.4 + '@unocss/preset-wind': 0.60.4 + '@unocss/reset': 0.60.4 + '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)) + unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + - vite + - webpack + '@unocss/postcss@0.60.4(postcss@8.4.38)': dependencies: '@unocss/config': 0.60.4 @@ -9571,6 +9819,21 @@ snapshots: transitivePeerDependencies: - rollup + '@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@unocss/config': 0.60.4 + '@unocss/core': 0.60.4 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.10 + unplugin: 1.10.1 + webpack: 5.91.0(esbuild@0.21.5) + webpack-sources: 3.2.3 + transitivePeerDependencies: + - rollup + '@vercel/nft@0.26.4(encoding@0.1.13)': dependencies: '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) @@ -9777,12 +10040,12 @@ snapshots: '@vue/devtools-api@6.6.3': {} - '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.1.3 - '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) lodash-es: 4.17.21 perfect-debounce: 1.0.0 shiki: 1.3.0 @@ -9832,7 +10095,7 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@unocss/reset': 0.60.4 '@vue/devtools-shared': 7.1.3 @@ -9842,7 +10105,7 @@ snapshots: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' @@ -9921,6 +10184,16 @@ snapshots: - '@vue/composition-api' - vue + '@vueuse/core@10.10.0(vue@3.4.27(typescript@5.4.5))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.10.0 + '@vueuse/shared': 10.10.0(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + '@vueuse/core@10.9.0(vue@3.4.27(typescript@5.4.5))': dependencies: '@types/web-bluetooth': 0.0.20 @@ -9942,8 +10215,29 @@ snapshots: - '@vue/composition-api' - vue + '@vueuse/metadata@10.10.0': {} + '@vueuse/metadata@10.9.0': {} + '@vueuse/nuxt@10.10.0(nuxt@packages+nuxt)(vue@3.4.27(typescript@5.4.5))': + dependencies: + '@nuxt/kit': link:packages/kit + '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/metadata': 10.10.0 + local-pkg: 0.5.0 + nuxt: link:packages/nuxt + vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/shared@10.10.0(vue@3.4.27(typescript@5.4.5))': + dependencies: + vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + '@vueuse/shared@10.9.0(vue@3.4.27(typescript@5.4.5))': dependencies: vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) @@ -14099,6 +14393,10 @@ snapshots: dependencies: '@shikijs/core': 1.3.0 + shiki@1.6.3: + dependencies: + '@shikijs/core': 1.6.3 + side-channel@1.0.4: dependencies: call-bind: 1.0.7 @@ -14338,6 +14636,17 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.27.0 + webpack: 5.91.0(esbuild@0.21.5) + optionalDependencies: + esbuild: 0.21.5 + terser-webpack-plugin@5.3.10(webpack@5.91.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -14366,6 +14675,10 @@ snapshots: dependencies: tslib: 2.6.2 + third-party-capital@1.0.30: + dependencies: + semver: 7.6.2 + time-fix-plugin@2.0.7(webpack@5.91.0): dependencies: webpack: 5.91.0 @@ -14594,7 +14907,7 @@ snapshots: universalify@2.0.0: {} - unocss@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): dependencies: '@unocss/astro': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@unocss/cli': 0.60.4(rollup@4.18.0) @@ -14617,6 +14930,7 @@ snapshots: '@unocss/transformer-variant-group': 0.60.4 '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: + '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)) vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - postcss @@ -14724,6 +15038,12 @@ snapshots: util-deprecate@1.0.2: {} + v-lazy-show@0.2.4(@vue/compiler-core@3.4.27): + dependencies: + '@vue/compiler-core': 3.4.27 + + valibot@0.30.0: {} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -15133,6 +15453,37 @@ snapshots: - esbuild - uglify-js + webpack@5.91.0(esbuild@0.21.5): + dependencies: + '@types/eslint-scope': 3.7.6 + '@types/estree': 1.0.5 + '@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.16.0 + es-module-lexer: 1.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)) + watchpack: 2.4.1 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + webpackbar@6.0.1(webpack@5.91.0): dependencies: ansi-escapes: 4.3.2 From 52b85a886ba522bb97c51f6eb6ac3904a2b4de93 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 10:34:22 +0100 Subject: [PATCH 06/44] test: update scrolling test --- test/fixtures/basic/modules/page-extend/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/fixtures/basic/modules/page-extend/index.ts b/test/fixtures/basic/modules/page-extend/index.ts index 15c18599c5..b5b18ffbe0 100644 --- a/test/fixtures/basic/modules/page-extend/index.ts +++ b/test/fixtures/basic/modules/page-extend/index.ts @@ -16,9 +16,15 @@ export default defineNuxtModule({ }, { path: '/big-page-1', file: resolver.resolve('./pages/big-page.vue'), + meta: { + layout: false + } }, { path: '/big-page-2', file: resolver.resolve('./pages/big-page.vue'), + meta: { + layout: false + } }) }) }, From 4db02e11f47e4bc57010bc53073e1525e1839ccf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 10:35:01 +0100 Subject: [PATCH 07/44] chore(deps): pin devdependency @nuxt/scripts to 0.4.7 (main) (#27523) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index a1debe9566..ef0869ca69 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -118,7 +118,7 @@ "vue-router": "^4.3.3" }, "devDependencies": { - "@nuxt/scripts": "^0.4.7", + "@nuxt/scripts": "0.4.7", "@nuxt/ui-templates": "1.3.4", "@parcel/watcher": "2.4.1", "@types/estree": "1.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec7ca3f7f3..9a914d3da1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -428,7 +428,7 @@ importers: version: 4.3.3(vue@3.4.27(typescript@5.4.5)) devDependencies: '@nuxt/scripts': - specifier: ^0.4.7 + specifier: 0.4.7 version: 0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5)) '@nuxt/ui-templates': specifier: workspace:* @@ -8985,7 +8985,7 @@ snapshots: remark-parse: 11.0.0 remark-rehype: 11.1.0 scule: 1.3.0 - shiki: 1.3.0 + shiki: 1.6.3 ufo: 1.5.3 unified: 11.0.4 unist-builder: 4.0.0 @@ -10100,7 +10100,7 @@ snapshots: '@unocss/reset': 0.60.4 '@vue/devtools-shared': 7.1.3 '@vueuse/components': 10.9.0(vue@3.4.27(typescript@5.4.5)) - '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.4.5)) '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5)) colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) From 1d2eee00d00aad50be3cc36c4c8a695c2547867b Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 10:56:24 +0100 Subject: [PATCH 08/44] docs: update more references to v3.12 --- docs/2.guide/3.going-further/1.features.md | 2 +- docs/3.api/1.components/12.nuxt-route-announcer.md | 2 +- docs/3.api/2.composables/on-prehydrate.md | 2 +- docs/3.api/2.composables/use-route-announcer.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/2.guide/3.going-further/1.features.md b/docs/2.guide/3.going-further/1.features.md index 4ec31794a0..02056f1e12 100644 --- a/docs/2.guide/3.going-further/1.features.md +++ b/docs/2.guide/3.going-further/1.features.md @@ -40,7 +40,7 @@ There is also a `future` namespace for early opting-in to new features that will ### compatibilityVersion ::important -This configuration option is available in Nuxt v3.12+ or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). +This configuration option is available in Nuxt v3.12+. :: This enables early access to Nuxt features or flags. diff --git a/docs/3.api/1.components/12.nuxt-route-announcer.md b/docs/3.api/1.components/12.nuxt-route-announcer.md index 4f6e908622..b53f9fa925 100644 --- a/docs/3.api/1.components/12.nuxt-route-announcer.md +++ b/docs/3.api/1.components/12.nuxt-route-announcer.md @@ -11,7 +11,7 @@ links: --- ::important -This component will be available in Nuxt v3.12 or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). +This component is available in Nuxt v3.12+. :: ## Usage diff --git a/docs/3.api/2.composables/on-prehydrate.md b/docs/3.api/2.composables/on-prehydrate.md index 79073123a4..1f034d6cec 100644 --- a/docs/3.api/2.composables/on-prehydrate.md +++ b/docs/3.api/2.composables/on-prehydrate.md @@ -10,7 +10,7 @@ links: --- ::important -This composable will be available in Nuxt v3.12+ or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). +This composable is available in Nuxt v3.12+. :: `onPrehydrate` is a composable lifecycle hook that allows you to run a callback on the client immediately before diff --git a/docs/3.api/2.composables/use-route-announcer.md b/docs/3.api/2.composables/use-route-announcer.md index c3272631fe..1111eec0a4 100644 --- a/docs/3.api/2.composables/use-route-announcer.md +++ b/docs/3.api/2.composables/use-route-announcer.md @@ -11,7 +11,7 @@ links: --- ::important -This composable will be available in Nuxt v3.12 or in [the nightly release channel](/docs/guide/going-further/nightly-release-channel). +This composable is available in Nuxt v3.12+. :: ## Description From b7d4a5767bdf401bba7c628fedc8542009dc2655 Mon Sep 17 00:00:00 2001 From: Alexander Lichter Date: Tue, 11 Jun 2024 11:56:40 +0200 Subject: [PATCH 09/44] docs: mention 3.12 for testing nuxt 4 (#27525) --- docs/1.getting-started/12.upgrade.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 323abdb1d3..3017305c77 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -23,7 +23,7 @@ To use the latest Nuxt build and test features before their release, read about Nuxt 4 is planned to be released **on or before June 14** (though obviously this is dependent on having enough time after Nitro's major release to be properly tested in the community, so be aware that this is not an exact date). -Until then, it is possible to test many of Nuxt 4's breaking changes on the nightly release channel. +Until then, it is possible to test many of Nuxt 4's breaking changes from Nuxt version 3.12 or via the nightly release channel. ::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=r4wFKlcJK6c" target="_blank"} Watch a video from Alexander Lichter showing how to opt in to Nuxt 4's breaking changes already. From b7a35fd956dfc651d3abe40596254046654d9575 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 10:59:35 +0100 Subject: [PATCH 10/44] chore(deps): update devdependency prettier to v3.3.2 (main) (#27518) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/ui-templates/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 131114835b..4232030b42 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -30,7 +30,7 @@ "knitwork": "1.1.0", "lodash-es": "4.17.21", "pathe": "1.1.2", - "prettier": "3.3.1", + "prettier": "3.3.2", "scule": "1.3.0", "unocss": "0.60.4", "vite": "5.2.13" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9a914d3da1..1f2997d7ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -615,8 +615,8 @@ importers: specifier: 1.1.2 version: 1.1.2 prettier: - specifier: 3.3.1 - version: 3.3.1 + specifier: 3.3.2 + version: 3.3.2 scule: specifier: 1.3.0 version: 1.3.0 @@ -6224,8 +6224,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.3.1: - resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==} + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true @@ -13861,7 +13861,7 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.3.1: {} + prettier@3.3.2: {} pretty-bytes@6.1.1: {} From 24b8533e7084ea007940df13410c44ad4771182d Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 11:01:21 +0100 Subject: [PATCH 11/44] chore: lint --- test/fixtures/basic/modules/page-extend/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/fixtures/basic/modules/page-extend/index.ts b/test/fixtures/basic/modules/page-extend/index.ts index b5b18ffbe0..60ef2c224c 100644 --- a/test/fixtures/basic/modules/page-extend/index.ts +++ b/test/fixtures/basic/modules/page-extend/index.ts @@ -17,14 +17,14 @@ export default defineNuxtModule({ path: '/big-page-1', file: resolver.resolve('./pages/big-page.vue'), meta: { - layout: false - } + layout: false, + }, }, { path: '/big-page-2', file: resolver.resolve('./pages/big-page.vue'), meta: { - layout: false - } + layout: false, + }, }) }) }, From a8746af43ff6b55fe43fb43bdb586f38be754c9f Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 11 Jun 2024 12:05:26 +0200 Subject: [PATCH 12/44] refactor(schema): use `CompatibilityDateSpec` (#27521) --- 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 5f6c866af5..89cebec5a5 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -28,7 +28,7 @@ export default defineUntypedSchema({ * * We plan to improve the tooling around this feature in the future. * - * @type {typeof import('compatx').DateString | Record} + * @type {typeof import('compatx').CompatibilityDateSpec} */ compatibilityDate: undefined, From d5d9071d76a73b1996d804a525b1284786afd320 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 11:44:53 +0100 Subject: [PATCH 13/44] chore: bump `nuxi` dependency (#27526) --- package.json | 2 +- packages/nuxt/package.json | 2 +- pnpm-lock.yaml | 143 ++----------------------- test/fixtures/basic-types/package.json | 2 +- 4 files changed, 12 insertions(+), 137 deletions(-) diff --git a/package.json b/package.json index e3b0b4b304..eec7837f9a 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "jiti": "1.21.6", "markdownlint-cli": "0.41.0", "nitropack": "2.9.6", - "nuxi": "3.11.1", + "nuxi": "3.12.0", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.0.10", "ofetch": "1.3.4", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index ef0869ca69..487ef079a4 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -90,7 +90,7 @@ "magic-string": "^0.30.10", "mlly": "^1.7.1", "nitropack": "^2.9.6", - "nuxi": "^3.11.1", + "nuxi": "^3.12.0", "nypm": "^0.3.8", "ofetch": "^1.3.4", "ohash": "^1.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1f2997d7ce..eec32fed95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -111,8 +111,8 @@ importers: specifier: 2.9.6 version: 2.9.6(encoding@0.1.13) nuxi: - specifier: 3.11.1 - version: 3.11.1 + specifier: 3.12.0 + version: 3.12.0 nuxt: specifier: workspace:* version: link:packages/nuxt @@ -349,8 +349,8 @@ importers: specifier: ^2.9.6 version: 2.9.6(encoding@0.1.13) nuxi: - specifier: ^3.11.1 - version: 3.11.1 + specifier: ^3.12.0 + version: 3.12.0 nypm: specifier: ^0.3.8 version: 0.3.8 @@ -985,8 +985,8 @@ importers: specifier: ^0.7.0 version: 0.7.0(rollup@4.18.0)(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vitest: - specifier: 1.5.3 - version: 1.5.3(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) + specifier: 1.6.0 + version: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -2930,33 +2930,18 @@ packages: peerDependencies: vitest: 1.6.0 - '@vitest/expect@1.5.3': - resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==} - '@vitest/expect@1.6.0': resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - '@vitest/runner@1.5.3': - resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==} - '@vitest/runner@1.6.0': resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - '@vitest/snapshot@1.5.3': - resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==} - '@vitest/snapshot@1.6.0': resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - '@vitest/spy@1.5.3': - resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==} - '@vitest/spy@1.6.0': resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - '@vitest/utils@1.5.3': - resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==} - '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} @@ -5746,8 +5731,8 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nuxi@3.11.1: - resolution: {integrity: sha512-AW71TpxRHNg8MplQVju9tEFvXPvX42e0wPYknutSStDuAjV99vWTWYed4jxr/grk2FtKAuv2KvdJxcn2W59qyg==} + nuxi@3.12.0: + resolution: {integrity: sha512-6vRdiXTw9SajEQOUi6Ze/XaIXzy1q/sD5UqHQSv3yqTu7Pot5S7fEihNXV8LpcgLz+9HzjVt70r7jYe7R99c2w==} engines: {node: ^16.10.0 || >=18.0.0} hasBin: true @@ -7266,11 +7251,6 @@ packages: peerDependencies: vite: 5.2.13 - vite-node@1.5.3: - resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - vite-node@1.6.0: resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -7353,31 +7333,6 @@ packages: vitest-environment-nuxt@1.0.0: resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} - vitest@1.5.3: - resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==} - 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.5.3 - '@vitest/ui': 1.5.3 - 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.6.0: resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9886,57 +9841,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/expect@1.5.3': - dependencies: - '@vitest/spy': 1.5.3 - '@vitest/utils': 1.5.3 - chai: 4.3.10 - '@vitest/expect@1.6.0': dependencies: '@vitest/spy': 1.6.0 '@vitest/utils': 1.6.0 chai: 4.3.10 - '@vitest/runner@1.5.3': - dependencies: - '@vitest/utils': 1.5.3 - p-limit: 5.0.0 - pathe: 1.1.2 - '@vitest/runner@1.6.0': dependencies: '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 - '@vitest/snapshot@1.5.3': - dependencies: - magic-string: 0.30.10 - pathe: 1.1.2 - pretty-format: 29.7.0 - '@vitest/snapshot@1.6.0': dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 - '@vitest/spy@1.5.3': - dependencies: - tinyspy: 2.2.0 - '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.0 - '@vitest/utils@1.5.3': - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 @@ -13367,7 +13293,7 @@ snapshots: dependencies: boolbase: 1.0.0 - nuxi@3.11.1: + nuxi@3.12.0: optionalDependencies: fsevents: 2.3.3 @@ -15073,23 +14999,6 @@ snapshots: dependencies: vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - vite-node@1.5.3(@types/node@20.14.2)(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.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - vite-node@1.6.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0): dependencies: cac: 6.7.14 @@ -15195,40 +15104,6 @@ snapshots: - vue - vue-router - vitest@1.5.3(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0): - dependencies: - '@vitest/expect': 1.5.3 - '@vitest/runner': 1.5.3 - '@vitest/snapshot': 1.5.3 - '@vitest/spy': 1.5.3 - '@vitest/utils': 1.5.3 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.10 - 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.4 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - vite-node: 1.5.3(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - why-is-node-running: 2.2.2 - optionalDependencies: - '@types/node': 20.14.2 - happy-dom: 14.12.0 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0): dependencies: '@vitest/expect': 1.6.0 diff --git a/test/fixtures/basic-types/package.json b/test/fixtures/basic-types/package.json index 94a09218c1..59851227a6 100644 --- a/test/fixtures/basic-types/package.json +++ b/test/fixtures/basic-types/package.json @@ -11,7 +11,7 @@ "devDependencies": { "ofetch": "latest", "unplugin-vue-router": "^0.7.0", - "vitest": "1.5.3", + "vitest": "1.6.0", "vue": "latest", "vue-router": "latest" } From 41fc45da254408921972ab626101c41cea70de32 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 11:50:45 +0100 Subject: [PATCH 14/44] v3.12.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 e529e16f46..b7f9cddd6f 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/kit", - "version": "3.12.0", + "version": "3.12.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 487ef079a4..6b788ebc0b 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "3.12.0", + "version": "3.12.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 81cd68ff67..f4c8a3d989 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/schema", - "version": "3.12.0", + "version": "3.12.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 4b89955a8d..39dfbfe91f 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vite-builder", - "version": "3.12.0", + "version": "3.12.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 d77c7d7d79..c0932b511e 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/webpack-builder", - "version": "3.12.0", + "version": "3.12.1", "repository": { "type": "git", "url": "git+https://github.com/nuxt/nuxt.git", From 115fc2d18f48c814f16572ce17bb97f0fa7fd0b9 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 12:41:34 +0100 Subject: [PATCH 15/44] test: add type test for nuxt module resolved types --- test/fixtures/basic-types/types.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index dad52b4f6a..4e593c1b6a 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -4,6 +4,7 @@ import type { FetchError } from 'ofetch' import type { NavigationFailure, RouteLocationNormalized, RouteLocationRaw, Router, useRouter as vueUseRouter } from '#vue-router' import type { AppConfig, RuntimeValue, UpperSnakeCase } from 'nuxt/schema' +import { defineNuxtModule } from 'nuxt/kit' import { defineNuxtConfig } from 'nuxt/config' import { callWithNuxt, isVue3 } from '#app' import type { NuxtError } from '#app' @@ -242,6 +243,17 @@ describe('modules', () => { // @ts-expect-error we want to ensure we throw type error on invalid key defineNuxtConfig({ undeclaredKey: { other: false } }) }) + + it('preserves options in defineNuxtModule setup without `.with()`', () => { + defineNuxtModule<{ foo?: string, baz: number }>({ + defaults: { + baz: 100, + }, + setup: (resolvedOptions) => { + expectTypeOf(resolvedOptions).toEqualTypeOf<{ foo?: string, baz: number }>() + }, + }) + }) }) describe('nuxtApp', () => { From 14fecc9f73cf6491aef4e715a37b5dfe6d894467 Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Tue, 11 Jun 2024 23:33:22 +1000 Subject: [PATCH 16/44] fix(nuxt): call `onNuxtReady` callback without arguments (#27428) --- packages/nuxt/src/app/composables/ready.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nuxt/src/app/composables/ready.ts b/packages/nuxt/src/app/composables/ready.ts index 2360bc002d..d4a1257a19 100644 --- a/packages/nuxt/src/app/composables/ready.ts +++ b/packages/nuxt/src/app/composables/ready.ts @@ -7,8 +7,8 @@ export const onNuxtReady = (callback: () => any) => { const nuxtApp = useNuxtApp() if (nuxtApp.isHydrating) { - nuxtApp.hooks.hookOnce('app:suspense:resolve', () => { requestIdleCallback(callback) }) + nuxtApp.hooks.hookOnce('app:suspense:resolve', () => { requestIdleCallback(() => callback()) }) } else { - requestIdleCallback(callback) + requestIdleCallback(() => callback()) } } From 1d94bac0af8962e8526aa580374e5c6cabd927a0 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 17:44:38 +0100 Subject: [PATCH 17/44] fix(schema): don't narrow head string types to literals (#27540) --- packages/schema/src/types/config.ts | 2 +- test/fixtures/basic-types/nuxt.config.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/schema/src/types/config.ts b/packages/schema/src/types/config.ts index 7306c5222e..44a1390734 100644 --- a/packages/schema/src/types/config.ts +++ b/packages/schema/src/types/config.ts @@ -141,7 +141,7 @@ export interface AppConfigInput extends CustomAppConfig { server?: never } -type Serializable = T extends Function ? never : T extends Promise ? Serializable : T extends Record ? { [K in keyof T]: Serializable } : T +type Serializable = T extends Function ? never : T extends Promise ? Serializable : T extends string & {} ? T : T extends Record ? { [K in keyof T]: Serializable } : T export interface NuxtAppConfig { head: Serializable diff --git a/test/fixtures/basic-types/nuxt.config.ts b/test/fixtures/basic-types/nuxt.config.ts index 3278402fa3..93a409cc04 100644 --- a/test/fixtures/basic-types/nuxt.config.ts +++ b/test/fixtures/basic-types/nuxt.config.ts @@ -21,6 +21,13 @@ export default defineNuxtConfig({ title: Promise.resolve('Nuxt Fixture'), // @ts-expect-error Functions are not allowed titleTemplate: title => 'test', + meta: [ + { + // Allows unknown property + property: 'og:thing', + content: '1234567890', + }, + ], }, pageTransition: { // @ts-expect-error Functions are not allowed From 6bbc85ade9b3810c51780db01829edb0c8bbee9f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 19:45:51 +0100 Subject: [PATCH 18/44] chore(deps): update dependency webpack to v5.92.0 (main) (#27539) --- packages/kit/package.json | 2 +- packages/schema/package.json | 2 +- packages/webpack/package.json | 2 +- pnpm-lock.yaml | 185 ++++++++++++++++++---------------- 4 files changed, 100 insertions(+), 91 deletions(-) diff --git a/packages/kit/package.json b/packages/kit/package.json index b7f9cddd6f..3544978785 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -56,7 +56,7 @@ "unbuild": "latest", "vite": "5.2.13", "vitest": "1.6.0", - "webpack": "5.91.0" + "webpack": "5.92.0" }, "engines": { "node": "^14.18.0 || >=16.10.0" diff --git a/packages/schema/package.json b/packages/schema/package.json index f4c8a3d989..eb43f7fd84 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -59,7 +59,7 @@ "vue-bundle-renderer": "2.1.0", "vue-loader": "17.4.2", "vue-router": "4.3.3", - "webpack": "5.91.0", + "webpack": "5.92.0", "webpack-dev-middleware": "7.2.1" }, "dependencies": { diff --git a/packages/webpack/package.json b/packages/webpack/package.json index c0932b511e..3eb50c34e0 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -62,7 +62,7 @@ "url-loader": "^4.1.1", "vue-bundle-renderer": "^2.1.0", "vue-loader": "^17.4.2", - "webpack": "^5.91.0", + "webpack": "^5.92.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-dev-middleware": "^7.2.1", "webpack-hot-middleware": "^2.26.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eec32fed95..490d89d41c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -247,8 +247,8 @@ importers: specifier: 1.6.0 version: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) webpack: - specifier: 5.91.0 - version: 5.91.0 + specifier: 5.92.0 + version: 5.92.0 packages/nuxt: dependencies: @@ -257,7 +257,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.3.3 - version: 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -429,7 +429,7 @@ importers: devDependencies: '@nuxt/scripts': specifier: 0.4.7 - version: 0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5)) + version: 0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) '@nuxt/ui-templates': specifier: workspace:* version: link:../ui-templates @@ -535,7 +535,7 @@ importers: version: 1.10.0 esbuild-loader: specifier: 4.1.0 - version: 4.1.0(webpack@5.91.0) + version: 4.1.0(webpack@5.92.0) h3: specifier: 1.11.1 version: 1.11.1 @@ -568,16 +568,16 @@ importers: version: 2.1.0 vue-loader: specifier: 17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0) vue-router: specifier: 4.3.3 version: 4.3.3(vue@3.4.27(typescript@5.4.5)) webpack: - specifier: 5.91.0 - version: 5.91.0 + specifier: 5.92.0 + version: 5.92.0 webpack-dev-middleware: specifier: 7.2.1 - version: 7.2.1(webpack@5.91.0) + version: 7.2.1(webpack@5.92.0) packages/ui-templates: devDependencies: @@ -755,7 +755,7 @@ importers: dependencies: '@nuxt/friendly-errors-webpack-plugin': specifier: ^2.6.0 - version: 2.6.0(webpack@5.91.0) + version: 2.6.0(webpack@5.92.0) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -764,10 +764,10 @@ importers: version: 10.4.19(postcss@8.4.38) css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.91.0) + version: 7.1.2(webpack@5.92.0) css-minimizer-webpack-plugin: specifier: ^7.0.0 - version: 7.0.0(webpack@5.91.0) + version: 7.0.0(webpack@5.92.0) cssnano: specifier: ^7.0.2 version: 7.0.2(postcss@8.4.38) @@ -776,7 +776,7 @@ importers: version: 6.1.4 esbuild-loader: specifier: ^4.1.0 - version: 4.1.0(webpack@5.91.0) + version: 4.1.0(webpack@5.92.0) escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -785,10 +785,10 @@ importers: version: 3.0.3 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.91.0) + version: 6.2.0(webpack@5.92.0) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.4.5)(webpack@5.91.0) + version: 9.0.2(typescript@5.4.5)(webpack@5.92.0) fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -809,7 +809,7 @@ importers: version: 4.9.2 mini-css-extract-plugin: specifier: ^2.9.0 - version: 2.9.0(webpack@5.91.0) + version: 2.9.0(webpack@5.92.0) mlly: specifier: ^1.7.1 version: 1.7.1 @@ -833,7 +833,7 @@ importers: version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0) + version: 8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.92.0) postcss-url: specifier: ^10.1.3 version: 10.1.3(postcss@8.4.38) @@ -845,7 +845,7 @@ importers: version: 3.7.0 time-fix-plugin: specifier: ^2.0.7 - version: 2.0.7(webpack@5.91.0) + version: 2.0.7(webpack@5.92.0) ufo: specifier: ^1.5.3 version: 1.5.3 @@ -857,22 +857,22 @@ importers: version: 1.10.1 url-loader: specifier: ^4.1.1 - version: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) + version: 4.1.1(file-loader@6.2.0(webpack@5.92.0))(webpack@5.92.0) vue-bundle-renderer: specifier: ^2.1.0 version: 2.1.0 vue-loader: specifier: ^17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0) + version: 17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0) webpack: - specifier: ^5.91.0 - version: 5.91.0 + specifier: ^5.92.0 + version: 5.92.0 webpack-bundle-analyzer: specifier: ^4.10.2 version: 4.10.2 webpack-dev-middleware: specifier: ^7.2.1 - version: 7.2.1(webpack@5.91.0) + version: 7.2.1(webpack@5.92.0) webpack-hot-middleware: specifier: ^2.26.1 version: 2.26.1 @@ -881,7 +881,7 @@ importers: version: 0.6.2 webpackbar: specifier: ^6.0.1 - version: 6.0.1(webpack@5.91.0) + version: 6.0.1(webpack@5.92.0) devDependencies: '@nuxt/schema': specifier: workspace:* @@ -3189,13 +3189,13 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - acorn-import-assertions@1.9.0: - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + acorn-import-attributes@1.9.2: + resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==} peerDependencies: acorn: ^8 - acorn-import-attributes@1.9.2: - resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==} + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 @@ -4050,6 +4050,10 @@ packages: resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -7505,8 +7509,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.91.0: - resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + webpack@5.92.0: + resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -8611,18 +8615,18 @@ snapshots: nuxt: link:packages/nuxt vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - '@nuxt/devtools-ui-kit@1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5))': + '@nuxt/devtools-ui-kit@1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@iconify-json/carbon': 1.1.35 '@iconify-json/logos': 1.1.43 '@iconify-json/ri': 1.1.20 '@iconify-json/tabler': 1.1.113 - '@nuxt/devtools': 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@nuxt/devtools': 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@nuxt/kit': link:packages/kit '@nuxtjs/color-mode': 3.4.1 '@unocss/core': 0.60.4 - '@unocss/nuxt': 0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.91.0(esbuild@0.21.5)) + '@unocss/nuxt': 0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.92.0(esbuild@0.21.5)) '@unocss/preset-attributify': 0.60.4 '@unocss/preset-icons': 0.60.4 '@unocss/preset-mini': 0.60.4 @@ -8671,13 +8675,13 @@ snapshots: rc9: 2.1.2 semver: 7.6.2 - '@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.8 '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.3.3 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 @@ -8769,18 +8773,18 @@ snapshots: - supports-color - typescript - '@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.91.0)': + '@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.92.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 + webpack: 5.92.0 - '@nuxt/scripts@0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5))': + '@nuxt/scripts@0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) - '@nuxt/devtools-ui-kit': 1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0(esbuild@0.21.5)) + '@nuxt/devtools-ui-kit': 1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) '@nuxt/kit': link:packages/kit '@types/google.maps': 3.55.9 '@types/stripe-v3': 3.1.33 @@ -9437,7 +9441,7 @@ snapshots: dependencies: '@types/node': 20.12.12 tapable: 2.2.1 - webpack: 5.91.0 + webpack: 5.92.0 transitivePeerDependencies: - '@swc/core' - esbuild @@ -9448,7 +9452,7 @@ snapshots: dependencies: '@types/connect': 3.4.37 tapable: 2.2.1 - webpack: 5.91.0 + webpack: 5.92.0 transitivePeerDependencies: - '@swc/core' - esbuild @@ -9644,7 +9648,7 @@ snapshots: gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/nuxt@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.91.0(esbuild@0.21.5))': + '@unocss/nuxt@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@nuxt/kit': link:packages/kit '@unocss/config': 0.60.4 @@ -9658,7 +9662,7 @@ snapshots: '@unocss/preset-wind': 0.60.4 '@unocss/reset': 0.60.4 '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) - '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)) + '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)) unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) transitivePeerDependencies: - postcss @@ -9774,7 +9778,7 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5))': + '@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) @@ -9784,7 +9788,7 @@ snapshots: fast-glob: 3.3.2 magic-string: 0.30.10 unplugin: 1.10.1 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.92.0(esbuild@0.21.5) webpack-sources: 3.2.3 transitivePeerDependencies: - rollup @@ -9966,12 +9970,12 @@ snapshots: '@vue/devtools-api@6.6.3': {} - '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.1.3 - '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) lodash-es: 4.17.21 perfect-debounce: 1.0.0 shiki: 1.3.0 @@ -10021,7 +10025,7 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@unocss/reset': 0.60.4 '@vue/devtools-shared': 7.1.3 @@ -10259,11 +10263,11 @@ snapshots: dependencies: event-target-shim: 5.0.1 - acorn-import-assertions@1.9.0(acorn@8.11.3): + acorn-import-attributes@1.9.2(acorn@8.11.3): dependencies: acorn: 8.11.3 - acorn-import-attributes@1.9.2(acorn@8.11.3): + acorn-import-attributes@1.9.5(acorn@8.11.3): dependencies: acorn: 8.11.3 @@ -10810,7 +10814,7 @@ snapshots: dependencies: postcss: 8.4.38 - css-loader@7.1.2(webpack@5.91.0): + css-loader@7.1.2(webpack@5.92.0): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 @@ -10821,9 +10825,9 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.2 optionalDependencies: - webpack: 5.91.0 + webpack: 5.92.0 - css-minimizer-webpack-plugin@7.0.0(webpack@5.91.0): + css-minimizer-webpack-plugin@7.0.0(webpack@5.92.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 cssnano: 7.0.2(postcss@8.4.38) @@ -10831,7 +10835,7 @@ snapshots: postcss: 8.4.38 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.91.0 + webpack: 5.92.0 css-select@5.1.0: dependencies: @@ -11104,6 +11108,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.17.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + entities@4.5.0: {} env-paths@2.2.1: {} @@ -11144,12 +11153,12 @@ snapshots: es-module-lexer@1.3.1: {} - esbuild-loader@4.1.0(webpack@5.91.0): + esbuild-loader@4.1.0(webpack@5.92.0): dependencies: esbuild: 0.20.2 get-tsconfig: 4.7.3 loader-utils: 2.0.4 - webpack: 5.91.0 + webpack: 5.92.0 webpack-sources: 1.4.3 esbuild@0.18.20: @@ -11573,11 +11582,11 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-loader@6.2.0(webpack@5.91.0): + file-loader@6.2.0(webpack@5.92.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.91.0 + webpack: 5.92.0 file-uri-to-path@1.0.0: {} @@ -11631,7 +11640,7 @@ snapshots: 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): + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.5)(webpack@5.92.0): dependencies: '@babel/code-frame': 7.24.2 chalk: 4.1.2 @@ -11646,7 +11655,7 @@ snapshots: semver: 7.6.2 tapable: 2.2.1 typescript: 5.4.5 - webpack: 5.91.0 + webpack: 5.92.0 fraction.js@4.3.7: {} @@ -12944,11 +12953,11 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.0(webpack@5.91.0): + mini-css-extract-plugin@2.9.0(webpack@5.92.0): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.91.0 + webpack: 5.92.0 minimatch@3.0.8: dependencies: @@ -13614,14 +13623,14 @@ snapshots: read-cache: 1.0.0 resolve: 1.22.8 - postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0): + postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.92.0): dependencies: cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.6 postcss: 8.4.38 semver: 7.6.2 optionalDependencies: - webpack: 5.91.0 + webpack: 5.92.0 transitivePeerDependencies: - typescript @@ -14562,25 +14571,25 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)): + terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.92.0(esbuild@0.21.5)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.27.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.92.0(esbuild@0.21.5) optionalDependencies: esbuild: 0.21.5 - terser-webpack-plugin@5.3.10(webpack@5.91.0): + terser-webpack-plugin@5.3.10(webpack@5.92.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.27.0 - webpack: 5.91.0 + webpack: 5.92.0 terser@5.27.0: dependencies: @@ -14605,9 +14614,9 @@ snapshots: dependencies: semver: 7.6.2 - time-fix-plugin@2.0.7(webpack@5.91.0): + time-fix-plugin@2.0.7(webpack@5.92.0): dependencies: - webpack: 5.91.0 + webpack: 5.92.0 tiny-invariant@1.3.1: {} @@ -14856,7 +14865,7 @@ snapshots: '@unocss/transformer-variant-group': 0.60.4 '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.91.0(esbuild@0.21.5)) + '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)) vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - postcss @@ -14951,14 +14960,14 @@ snapshots: dependencies: punycode: 2.3.0 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.92.0))(webpack@5.92.0): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.91.0 + webpack: 5.92.0 optionalDependencies: - file-loader: 6.2.0(webpack@5.91.0) + file-loader: 6.2.0(webpack@5.92.0) urlpattern-polyfill@8.0.2: {} @@ -15188,12 +15197,12 @@ snapshots: transitivePeerDependencies: - supports-color - vue-loader@17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.91.0): + vue-loader@17.4.2(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.1 - webpack: 5.91.0 + webpack: 5.92.0 optionalDependencies: '@vue/compiler-sfc': 3.4.27 vue: 3.4.27(typescript@5.4.5) @@ -15269,7 +15278,7 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@7.2.1(webpack@5.91.0): + webpack-dev-middleware@7.2.1(webpack@5.92.0): dependencies: colorette: 2.0.20 memfs: 4.9.2 @@ -15278,7 +15287,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.91.0 + webpack: 5.92.0 webpack-hot-middleware@2.26.1: dependencies: @@ -15297,7 +15306,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.91.0: + webpack@5.92.0: dependencies: '@types/eslint-scope': 3.7.6 '@types/estree': 1.0.5 @@ -15305,10 +15314,10 @@ snapshots: '@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) + acorn-import-attributes: 1.9.5(acorn@8.11.3) browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.17.0 es-module-lexer: 1.3.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -15320,7 +15329,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(webpack@5.92.0) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -15328,7 +15337,7 @@ snapshots: - esbuild - uglify-js - webpack@5.91.0(esbuild@0.21.5): + webpack@5.92.0(esbuild@0.21.5): dependencies: '@types/eslint-scope': 3.7.6 '@types/estree': 1.0.5 @@ -15336,10 +15345,10 @@ snapshots: '@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) + acorn-import-attributes: 1.9.5(acorn@8.11.3) browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.17.0 es-module-lexer: 1.3.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -15351,7 +15360,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)) + terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.92.0(esbuild@0.21.5)) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -15359,7 +15368,7 @@ snapshots: - esbuild - uglify-js - webpackbar@6.0.1(webpack@5.91.0): + webpackbar@6.0.1(webpack@5.92.0): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -15368,7 +15377,7 @@ snapshots: markdown-table: 2.0.0 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.91.0 + webpack: 5.92.0 wrap-ansi: 7.0.0 whatwg-mimetype@3.0.0: {} From bdf8f9e0dda3a06273d7f51bbb18d7b3f7c2f4fa Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Wed, 12 Jun 2024 04:47:42 +1000 Subject: [PATCH 19/44] fix(schema): `app/` dir backwards compatibility (#27529) --- packages/schema/src/config/common.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index 89cebec5a5..152a76a3ca 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -1,4 +1,5 @@ import { existsSync } from 'node:fs' +import { readdir } from 'node:fs/promises' import { defineUntypedSchema } from 'untyped' import { join, relative, resolve } from 'pathe' import { isDebug, isDevelopment, isTest } from 'std-env' @@ -117,7 +118,16 @@ export default defineUntypedSchema({ } const srcDir = resolve(rootDir, 'app') - if (!existsSync(srcDir)) { + const srcDirFiles = new Set() + if (existsSync(srcDir)) { + const files = await readdir(srcDir).catch(() => []) + for (const file of files) { + if (file !== 'spa-loading-template.html' && !file.startsWith('router.options')) { + srcDirFiles.add(file) + } + } + } + if (srcDirFiles.size === 0) { for (const file of ['app.vue', 'App.vue']) { if (existsSync(resolve(rootDir, file))) { return rootDir From b17aa3f08e314b18e45cd742c8f2fb0455ae84bb Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 11 Jun 2024 19:59:48 +0100 Subject: [PATCH 20/44] fix(nuxt): manually assign payload reactivity when `ssr: false` (#27542) --- packages/nuxt/src/app/composables/payload.ts | 8 +++++--- packages/nuxt/src/app/nuxt.ts | 2 +- packages/nuxt/src/core/runtime/nitro/renderer.ts | 4 ---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/nuxt/src/app/composables/payload.ts b/packages/nuxt/src/app/composables/payload.ts index 7a7d8fd2e7..69cd0919db 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, onServerPrefetch } from 'vue' import { useNuxtApp, useRuntimeConfig } from '../nuxt' +import type { NuxtPayload } from '../nuxt' import { useRoute } from './router' import { getAppManifest, getRouteRules } from './manifest' @@ -95,11 +96,12 @@ export async function isPrerendered (url = useRoute().path) { return !!rules.prerender && !rules.redirect } -let payloadCache: any = null +let payloadCache: NuxtPayload | null = null + /** @since 3.4.0 */ export async function getNuxtClientPayload () { if (import.meta.server) { - return + return null } if (payloadCache) { return payloadCache @@ -107,7 +109,7 @@ export async function getNuxtClientPayload () { const el = document.getElementById('__NUXT_DATA__') if (!el) { - return {} + return {} as Partial } const inlineData = await parsePayload(el.textContent || '') diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index d8fd5ffb5a..03f08213e4 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -69,7 +69,7 @@ export interface NuxtSSRContext extends SSRContext { /** whether we are rendering an SSR error */ error?: boolean nuxt: _NuxtApp - payload: NuxtPayload + payload: Partial head: VueHeadClient /** This is used solely to render runtime config with SPA renderer. */ config?: Pick diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 4fc1f2839f..f33a9774aa 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -165,11 +165,7 @@ const getSPARenderer = lazyCachedFunction(async () => { const config = useRuntimeConfig(ssrContext.event) ssrContext.modules = ssrContext.modules || new Set() ssrContext!.payload = { - _errors: {}, serverRendered: false, - data: {}, - state: {}, - once: new Set(), } ssrContext.config = { public: config.public, From 9e56b60c6b948596d29f153a0ef002ee04d5c067 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 12 Jun 2024 12:39:40 +0100 Subject: [PATCH 21/44] fix(nuxt): only log warning once per `runtimeConfig` key --- packages/nuxt/src/app/nuxt.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index 03f08213e4..8839005f3b 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -558,6 +558,7 @@ export function defineAppConfig (config: C): C { /** * Configure error getter on runtime secret property access that doesn't exist on the client side */ +const loggedKeys = new Set() function wrappedConfig (runtimeConfig: Record) { if (!import.meta.dev || import.meta.server) { return runtimeConfig } const keys = Object.keys(runtimeConfig).map(key => `\`${key}\``) @@ -565,7 +566,10 @@ function wrappedConfig (runtimeConfig: Record) { return new Proxy(runtimeConfig, { get (target, p, receiver) { if (typeof p === 'string' && p !== 'public' && !(p in target) && !p.startsWith('__v') /* vue check for reactivity, e.g. `__v_isRef` */) { - console.warn(`[nuxt] Could not access \`${p}\`. The only available runtime config keys on the client side are ${keys.join(', ')} and ${lastKey}. See \`https://nuxt.com/docs/guide/going-further/runtime-config\` for more information.`) + if (!loggedKeys.has(p)) { + loggedKeys.add(p) + console.warn(`[nuxt] Could not access \`${p}\`. The only available runtime config keys on the client side are ${keys.join(', ')} and ${lastKey}. See \`https://nuxt.com/docs/guide/going-further/runtime-config\` for more information.`) + } } return Reflect.get(target, p, receiver) }, From 47aa6a12129e29a589194633735af4197a495bd1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 17:15:39 +0100 Subject: [PATCH 22/44] chore(deps): update all non-major dependencies (main) (#27551) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe --- packages/nuxt/package.json | 2 +- packages/nuxt/src/imports/presets.ts | 1 + packages/nuxt/test/auto-imports.test.ts | 3 + packages/ui-templates/package.json | 4 +- pnpm-lock.yaml | 396 ++++++++++++++++++++++-- 5 files changed, 373 insertions(+), 33 deletions(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 6b788ebc0b..e08492f35d 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -118,7 +118,7 @@ "vue-router": "^4.3.3" }, "devDependencies": { - "@nuxt/scripts": "0.4.7", + "@nuxt/scripts": "0.5.1", "@nuxt/ui-templates": "1.3.4", "@parcel/watcher": "2.4.1", "@types/estree": "1.0.5", diff --git a/packages/nuxt/src/imports/presets.ts b/packages/nuxt/src/imports/presets.ts index 3b2e85534c..c5a6b52261 100644 --- a/packages/nuxt/src/imports/presets.ts +++ b/packages/nuxt/src/imports/presets.ts @@ -119,6 +119,7 @@ export const scriptsStubsPreset = { 'useScript', 'useScriptGoogleAnalytics', 'useScriptPlausibleAnalytics', + 'useScriptClarity', 'useScriptCloudflareWebAnalytics', 'useScriptFathomAnalytics', 'useScriptMatomoAnalytics', diff --git a/packages/nuxt/test/auto-imports.test.ts b/packages/nuxt/test/auto-imports.test.ts index f417369177..b25587f195 100644 --- a/packages/nuxt/test/auto-imports.test.ts +++ b/packages/nuxt/test/auto-imports.test.ts @@ -202,6 +202,9 @@ describe('imports:nuxt/scripts', () => { 'useAnalyticsPageEvent', 'useElementScriptTrigger', 'useConsentScriptTrigger', + // registered separately + 'useScriptGoogleTagManager', + 'useScriptGoogleAnalytics', ]) it.each(scriptsStubsPreset.imports)(`should register %s from @nuxt/scripts`, (name) => { if (globalScripts.has(name)) { return } diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 4232030b42..0cb9fec044 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@types/html-minifier": "4.0.5", "@types/lodash-es": "4.17.12", - "@unocss/reset": "0.60.4", + "@unocss/reset": "0.61.0", "critters": "0.0.22", "execa": "9.2.0", "globby": "14.0.1", @@ -32,7 +32,7 @@ "pathe": "1.1.2", "prettier": "3.3.2", "scule": "1.3.0", - "unocss": "0.60.4", + "unocss": "0.61.0", "vite": "5.2.13" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 490d89d41c..bbd4dc3abd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -257,7 +257,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.3.3 - version: 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -428,8 +428,8 @@ importers: version: 4.3.3(vue@3.4.27(typescript@5.4.5)) devDependencies: '@nuxt/scripts': - specifier: 0.4.7 - version: 0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) + specifier: 0.5.1 + version: 0.5.1(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) '@nuxt/ui-templates': specifier: workspace:* version: link:../ui-templates @@ -588,8 +588,8 @@ importers: specifier: 4.17.12 version: 4.17.12 '@unocss/reset': - specifier: 0.60.4 - version: 0.60.4 + specifier: 0.61.0 + version: 0.61.0 critters: specifier: 0.0.22 version: 0.0.22 @@ -621,8 +621,8 @@ importers: specifier: 1.3.0 version: 1.3.0 unocss: - specifier: 0.60.4 - version: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + specifier: 0.61.0 + version: 0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) vite: specifier: 5.2.13 version: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) @@ -2145,8 +2145,8 @@ packages: peerDependencies: webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - '@nuxt/scripts@0.4.7': - resolution: {integrity: sha512-zVP7tF3rmO2ZqQW5Hmmy0NQ4WYH+8ye1QBseSJZ0Ab1pDQEpWX+CI7tVak7Fw7IWVnrAcjIMh6TJFt0zQ/ARjg==} + '@nuxt/scripts@0.5.1': + resolution: {integrity: sha512-K3v/+Kej9F6Ul2ReTb4cNxB76JNeogDuNft76/4N/n3WUAPuhOqn2rFPTbvjidERsHxqmiLGxCPl7fKrhE0ZZg==} '@nuxt/telemetry@2.5.4': resolution: {integrity: sha512-KH6wxzsNys69daSO0xUv0LEBAfhwwjK1M+0Cdi1/vxmifCslMIY7lN11B4eywSfscbyVPAYJvANyc7XiVPImBQ==} @@ -2474,6 +2474,9 @@ packages: '@shikijs/core@1.6.3': resolution: {integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==} + '@shikijs/core@1.6.4': + resolution: {integrity: sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA==} + '@shikijs/transformers@1.1.2': resolution: {integrity: sha512-tldkUMW7RBkU2F6eXbiRMw3ja+hQer1EjwhD2NGOv6K0pgZdVp3JKjU8uisRtg65tyBqrVHq7zlLHVk7EKmUZA==} @@ -2820,24 +2823,50 @@ packages: vite: optional: true + '@unocss/astro@0.61.0': + resolution: {integrity: sha512-cbgztX/to5rMhAtEGCcR3ClMlK9F+lPxq21A72qsbWVQjiKa7W4O7qKBmUKPYsWRzJEJtdyN11A65H2037aKQw==} + peerDependencies: + vite: 5.2.13 + peerDependenciesMeta: + vite: + optional: true + '@unocss/cli@0.60.4': resolution: {integrity: sha512-RFt3BOgtp5ZI+cS6grKKo1DqvUJ/e8iRPwn843u6qSw18guIc4CEVTe5jcDAGuLcL4va9hg2wd4NReUEnMCZ/g==} engines: {node: '>=14'} hasBin: true + '@unocss/cli@0.61.0': + resolution: {integrity: sha512-NuwBFHpnI40PBu84/3c9JpyO02TBNoRPzZ+kJ0hmFa+dv8Ro7Sb1AMlLJ5t3ZjELhsh0zXQf6ucS9mpqu+785g==} + engines: {node: '>=14'} + hasBin: true + '@unocss/config@0.60.4': resolution: {integrity: sha512-ri9P2+YztD5JdPYSLiNjcLf6NgoBbwJDVutP/tQnfYYrE72DQ+j+4vepyxEBa1YaH/X4qsmLJCj+2tI/ufIiog==} engines: {node: '>=14'} + '@unocss/config@0.61.0': + resolution: {integrity: sha512-k8uV4n8eMti4S6BFeAkc9QBXJefDIlPyOWrdKykUMOHLIWVAIS53JixW9FJNgJRw0RVI6B7UR+rOznWwKpORPA==} + engines: {node: '>=14'} + '@unocss/core@0.60.4': resolution: {integrity: sha512-6tz8KTzC30oB0YikwRQoIpJ6Y6Dg+ZiK3NfCIsH+UX11bh2J2M53as2EL/5VQCqtiUn3YP0ZEzR2d1AWX78RCA==} + '@unocss/core@0.61.0': + resolution: {integrity: sha512-Y/Ly3LPIAzOBlWCdKBVzVzIaaWDsf+oWPIUZlaW7DL++WWypVBCghmxXIT5dyuMGXE560Hj92st4AkXfuVdxGQ==} + '@unocss/extractor-arbitrary-variants@0.60.4': resolution: {integrity: sha512-USuFGs5CLft9q7IGNdAEp1oliuUns+W7OO0Tx5qtx/oBh6pU/L93lcNNsuuGNrMU8BCmF3atx1/PEmGymgJ7VA==} + '@unocss/extractor-arbitrary-variants@0.61.0': + resolution: {integrity: sha512-9ru/UR4kZ1+jGXpMawV9T8kpL54FrJBmWKMuFlDTEDIwtzDyyfLbt/buoXdzKDLmil9hOXH3IH8+dah/OiiDoA==} + '@unocss/inspector@0.60.4': resolution: {integrity: sha512-PcnrEQ2H7osZho4Nh0+84O4IXzlkF7pvTUe/7FTJYF1HQGWHB/PfOSoyKn7/sF5sED8hMK9RlSJ9YGUH9ioY+g==} + '@unocss/inspector@0.61.0': + resolution: {integrity: sha512-gpL2RNw6Cp145kTxWN0BG/tWd4x3LVbgkZfyUlh5IAZHWKAq9MWA0jIifV2RU94h4rbSBNHxz50bodYtkzeM8A==} + '@unocss/nuxt@0.60.4': resolution: {integrity: sha512-2lv7tsVlAnGMqqImfZPLm05dtDo3Og0VDrHOAwFwL4XiVaTLXEXQfAf/bOBDRy4qpJ2nFDj9eltuoQYWto1jmA==} @@ -2847,60 +2876,120 @@ packages: peerDependencies: postcss: ^8.4.21 + '@unocss/postcss@0.61.0': + resolution: {integrity: sha512-0ZHUeLYu057xL1vXg2coV62ly6zaCgYdA/oHKCMaU9KT0TI49+DE73GouHypRNM5YXfuUPfXhPGGUuFWkAbI1A==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + '@unocss/preset-attributify@0.60.4': resolution: {integrity: sha512-J2GWUC0bcmZSXlBGLYUXwWQos/dNzKbq2CKweWVBAmAH9XyfM0mA5CTNBRv05PN1g6C/0z5st7ntUjV6KHJuTg==} + '@unocss/preset-attributify@0.61.0': + resolution: {integrity: sha512-E0oIfYAnnm8piSU7cbAnLIKKz0TwlHMOfAcg0Z0jv2N/MatCpq0BCJZHeE0fEw53OUc+oa6Dpd509rOEUXp/tA==} + '@unocss/preset-icons@0.60.4': resolution: {integrity: sha512-UN/dj+nhI3+S06YxCZQPLw3GZy780iaE71dysyhDMdh+Qq2KFVs3d94mr1427fjz/3Y8ZyXkgqyhCFr7UT0bMQ==} + '@unocss/preset-icons@0.61.0': + resolution: {integrity: sha512-xI7isKu1fQbyGee1lcJBLwvUlmubYbPN4ymepUamfprNPlWrzb5Gj2+SROERlzzrTaI8C0YdBxsYMGyOV94dXQ==} + '@unocss/preset-mini@0.60.4': resolution: {integrity: sha512-ZiHbP69vkyz0xmhqzC4B4PegwV+LPlZOBT7cRhsh0P8oPOQKYOyDRy4rAl+sJBJeIrggn1r1LgN+Z0Xvd8Ytcw==} + '@unocss/preset-mini@0.61.0': + resolution: {integrity: sha512-P+DdMtPtzAQ2aQ1/WWPoO3X/qvky+Fqq4eKXIvbqXOQ9c2oem7/dnsPeT08zzLIqxVJnuykymPwRT85EumS0gg==} + '@unocss/preset-tagify@0.60.4': resolution: {integrity: sha512-GxL/W3qkdWWDqXi43qyLbp/BpEj7gMw99KqkO7bmbVi3BVlFggreTFwmQu89pB6iatxGjxnAsc+TsQZqxKftZA==} + '@unocss/preset-tagify@0.61.0': + resolution: {integrity: sha512-Q3709A8/4fFZdQ4vfKfgDSugQYd21BoSO+TomJp/QMi9iyPjGsrERQilciMmkuRyAe8Q1rdLh+6ioGiJEU0XHQ==} + '@unocss/preset-typography@0.60.4': resolution: {integrity: sha512-6j8ySZYEAwMBy9a3Lw3EEfRlcAClti4zvaV0kBtkP4BDZCwlgX2eE1pmw2mTUy+E1yVlXm3NnRzKfDudQUzraA==} + '@unocss/preset-typography@0.61.0': + resolution: {integrity: sha512-chT2KvgeKsXoDFSedfP0BjhFLYgcDUBJCX0omJOXVVz9q7vB898abhZ5zA9Rcpmbkby4ovtbIjc2RqG9uIKLaQ==} + '@unocss/preset-uno@0.60.4': resolution: {integrity: sha512-AN8ZTtiKSaZNGKZZIqt/JAhMzSY2hHLwhGEOFDrXgjWFr85UlwZzODMDoT58PrU04VlbhN8+0N4lHfLmZCKpiQ==} + '@unocss/preset-uno@0.61.0': + resolution: {integrity: sha512-mkKOra3dQEc3uI7aPIqa3t8MJXlmpLSgGaPfEJK52xkFe991ex6CiUunYMMWbh6ZSzmdxkO31IwQIH9lcmj/Uw==} + '@unocss/preset-web-fonts@0.60.4': resolution: {integrity: sha512-COfxOQcREFgpsm6nw234pxrr1EV1zWUVYXBZjlH+vk7x8EhaS5BPAXqN6SneIVTTDvEE9U4opAaoEYz5A3XWaQ==} + '@unocss/preset-web-fonts@0.61.0': + resolution: {integrity: sha512-9bYvk2BSryLgguZ5qTDPVEhgD/olZiTAy/7JqHzrKKTh7xPURO1IcG2vbX354unfhTDR6GZIKiAkk64qJZUDPw==} + '@unocss/preset-wind@0.60.4': resolution: {integrity: sha512-dT/U+RkbL21lDTOP7/mlFZxlBbUAefUzQZINC0BX7vTKvO57G4HxRq62u9xvMGFv38lQ+qXXzKhABVsEPDNpUA==} + '@unocss/preset-wind@0.61.0': + resolution: {integrity: sha512-PooyLVAF4wH9KvW4OKfDxYFuM4qmnlU+Ci6O6RGgVsKyQMq76crRqqK76lbnehg7jOoZJVxmWfQ6k5gT3aQeXQ==} + '@unocss/reset@0.60.4': resolution: {integrity: sha512-MEngG4byIHnfb0osvxqU2gBdBkXPPE4z+G9HeEt3JUadWAp2gggm8ojC1/1PoJF5M31loxGEVVrB0FLSKACw3g==} + '@unocss/reset@0.61.0': + resolution: {integrity: sha512-VqemtmzH8Rgu5yNomtv50gIcy4KZ2x1aP+7WZCds9x5ZdTSEjbfCOgUDI9rDrrGSipJkCmJ1yOhUPMC7ND6Hfw==} + '@unocss/rule-utils@0.60.4': resolution: {integrity: sha512-7qUN33NM4T/IwWavm9VIOCZ2+4hLBc0YUGxcMNTDZSFQRQLkWe3N5dOlgwKXtMyMKatZfbIRUKVDUgvEefoCTA==} engines: {node: '>=14'} + '@unocss/rule-utils@0.61.0': + resolution: {integrity: sha512-MCdmfhE6Q9HSWjWqi2sx5/nnKyOEhfhoo+pVumHIqkHQICQ/LuKioFf7Y7e5ycqjFE/7dC2hKGZJ8WTMGIOMwA==} + engines: {node: '>=14'} + '@unocss/scope@0.60.4': resolution: {integrity: sha512-AOu/qvi4agy0XfGF3QEBbuxVHkVZHpmU0NMBYuxa0B869YZENT87sTM6DVwtvr75CZvACWxv/hcL3lR68uKBjw==} + '@unocss/scope@0.61.0': + resolution: {integrity: sha512-uDk84LX2meZHskSvy0Mad7jgF0Be6el16F9DKYYvxlUxlzu/mCj6PQpQrXi8uZ2+O3akneHFqAbO6ewYShKdQA==} + '@unocss/transformer-attributify-jsx-babel@0.60.4': resolution: {integrity: sha512-BL4g2gyLpbseu+fOhkAHKNxYcHcn7brQAjXj5k5Yyy6wpwm43lzHYPZtRPrbLVLniqqAN21FzEbtJXCPIHKlHA==} + '@unocss/transformer-attributify-jsx-babel@0.61.0': + resolution: {integrity: sha512-D9z28MQM4w8oowMZRiz7kxEVlor1/XUfaVBTujAS6Ks7Ly+0/91LuOLSHU9uC7vcKmMRI0Q2+Ww2hsVNf2z7ww==} + '@unocss/transformer-attributify-jsx@0.60.4': resolution: {integrity: sha512-tQwD1T8Juz5F4JHYxTgekCv5olEegAPRZwAgx75pP+X2+PkV670pdXv8zbK0t5q6bvyF53vEVBrgQ9q1xSH9yQ==} + '@unocss/transformer-attributify-jsx@0.61.0': + resolution: {integrity: sha512-mC0+O7KmxP5b0DlPyGVdu/3NM/33f9CgfXmwu+U+3NSsAfcCLjJ7nD1MOjl3vcFV5YpudTy1EVaqhcROQRSZIg==} + '@unocss/transformer-compile-class@0.60.4': resolution: {integrity: sha512-zIqKQ7javiCb9Q3fbMvx1QVln8OqvAzWwgCVHsPINzDrDi73KXa3eeCU6GNlsd46tzy0Y9ryRIvW73YS+9Oj1w==} + '@unocss/transformer-compile-class@0.61.0': + resolution: {integrity: sha512-iTQyWz+IbNZrQWCQaibHMY2+8+VoG4ZpizeyYKXHZe11/HaomSvorJwZdufEUTrdWmUzRhJgumGl1TW4FaJwpg==} + '@unocss/transformer-directives@0.60.4': resolution: {integrity: sha512-u3fQI8RszMhUevhJICtQ/bNpAfbh8MEXQf7YNnzUvLvbXGkkoieyU5mj0ray6fbToqxfxVceQtXYcFYIuf4aNg==} + '@unocss/transformer-directives@0.61.0': + resolution: {integrity: sha512-15nIynJPYFYnW/TUQu0NyZ5uxTDcrRyY8sB3axcYZOqqlu1hgPFotVukl6jqCZgGUR1AbfbnJwuDlcBQeT8xpA==} + '@unocss/transformer-variant-group@0.60.4': resolution: {integrity: sha512-R4d16G7s3fDXj9prUNFnJi8cZvH8/XZsqiKDzCBjXNKrbf9zp7YnWD2VaMFjUISgW5kSQjQNSWK84soVNWq3UQ==} + '@unocss/transformer-variant-group@0.61.0': + resolution: {integrity: sha512-5DHEram3iv+c9jPQW8p629aFyptyzdP5yNnRSMLBZcwyJ672VAKzPUZLYHh5UOUb69eaet3og1cU8uxpHhGKtQ==} + '@unocss/vite@0.60.4': resolution: {integrity: sha512-af9hhtW11geF56cotKUE16Fr+FirTdV/Al/usjKJ6P5hnCEQnqSHXQDFXL5Y6vXwcvLDmOhHYNrVR8duKgC8Mw==} peerDependencies: vite: 5.2.13 + '@unocss/vite@0.61.0': + resolution: {integrity: sha512-gjxLJrja1hqDwdd8z3QvzfMCcKppGqiL2+A6aHwG/AXfEmZMydA50U7VvJK7Wx8/Enm26G6JQrtGrpu+kK3QpQ==} + peerDependencies: + vite: 5.2.13 + '@unocss/webpack@0.60.4': resolution: {integrity: sha512-TcPuiAZZO+a+xiahrCm7eEHlP8o667n+CWv+kpz4bidY5V8Xyxs1MjzJAPVOk8Kwz86HvQZyf2CG+3powNTwKA==} peerDependencies: @@ -3066,6 +3155,9 @@ packages: '@vueuse/core@10.10.0': resolution: {integrity: sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==} + '@vueuse/core@10.10.1': + resolution: {integrity: sha512-8Vr8wxILdK+qfBjbngav8LVI+6UuM2TQCufRKMPz/GrpLHQ6dbY6kL5PLa9Eobq8JRrMaDyArPX9Jj18fMTPew==} + '@vueuse/core@10.9.0': resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} @@ -3113,6 +3205,9 @@ packages: '@vueuse/metadata@10.10.0': resolution: {integrity: sha512-UNAo2sTCAW5ge6OErPEHb5z7NEAg3XcO9Cj7OK45aZXfLLH1QkexDcZD77HBi5zvEiLOm1An+p/4b5K3Worpug==} + '@vueuse/metadata@10.10.1': + resolution: {integrity: sha512-dpEL5afVLUqbchwGiLrV6spkl4/6UOKJ3YgxFE+wWLj/LakyIZUC83bfeFgbHkRcNhsAqTQCGR74jImsLfK8pg==} + '@vueuse/metadata@10.9.0': resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} @@ -3124,6 +3219,9 @@ packages: '@vueuse/shared@10.10.0': resolution: {integrity: sha512-2aW33Ac0Uk0U+9yo3Ypg9s5KcR42cuehRWl7vnUHadQyFvCktseyxxEPBi1Eiq4D2yBGACOnqLZpx1eMc7g5Og==} + '@vueuse/shared@10.10.1': + resolution: {integrity: sha512-edqexI+RQpoeqDxTatqBZa+K87ganbrwpoP++Fd9828U3js5jzwcEDeyrYcUgkKZ5LLL8q7M5SOMvSpMrxBPxg==} + '@vueuse/shared@10.9.0': resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} @@ -6634,6 +6732,9 @@ packages: shiki@1.6.3: resolution: {integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==} + shiki@1.6.4: + resolution: {integrity: sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==} + side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -7124,6 +7225,18 @@ packages: vite: optional: true + unocss@0.61.0: + resolution: {integrity: sha512-7642v5tHpEpHO9dl9sqYbKT/Ri4X4lmGHhj/znE4uheEfXcptPPiZ1/hVmQVciHUSI8CnQBqDwkZuxNPDG3bTQ==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.61.0 + vite: 5.2.13 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + unplugin-vue-router@0.7.0: resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: @@ -7231,8 +7344,8 @@ packages: peerDependencies: '@vue/compiler-core': ^3.3 - valibot@0.30.0: - resolution: {integrity: sha512-5POBdbSkM+3nvJ6ZlyQHsggisfRtyT4tVTo1EIIShs6qCdXJnyWU5TJ68vr8iTg5zpOLjXLRiBqNx+9zwZz/rA==} + valibot@0.31.1: + resolution: {integrity: sha512-2YYIhPrnVSz/gfT2/iXVTrSj92HwchCt9Cga/6hX4B26iCz9zkIsGTS0HjDYTZfTi1Un0X6aRvhBi1cfqs/i0Q==} validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -7407,6 +7520,17 @@ packages: '@vue/composition-api': optional: true + vue-demi@0.14.8: + resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: 3.4.27 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue-devtools-stub@0.1.0: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} @@ -8615,13 +8739,13 @@ snapshots: nuxt: link:packages/nuxt vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - '@nuxt/devtools-ui-kit@1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': + '@nuxt/devtools-ui-kit@1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@iconify-json/carbon': 1.1.35 '@iconify-json/logos': 1.1.43 '@iconify-json/ri': 1.1.20 '@iconify-json/tabler': 1.1.113 - '@nuxt/devtools': 1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@nuxt/devtools': 1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@nuxt/kit': link:packages/kit '@nuxtjs/color-mode': 3.4.1 @@ -8631,13 +8755,13 @@ snapshots: '@unocss/preset-icons': 0.60.4 '@unocss/preset-mini': 0.60.4 '@unocss/reset': 0.60.4 - '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/core': 10.10.1(vue@3.4.27(typescript@5.4.5)) '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27(typescript@5.4.5)) '@vueuse/nuxt': 10.10.0(nuxt@packages+nuxt)(vue@3.4.27(typescript@5.4.5)) defu: 6.1.4 focus-trap: 7.5.4 splitpanes: 3.1.5 - unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) v-lazy-show: 0.2.4(@vue/compiler-core@3.4.27) transitivePeerDependencies: - '@unocss/webpack' @@ -8675,13 +8799,13 @@ snapshots: rc9: 2.1.2 semver: 7.6.2 - '@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.8 '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.3.3 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-applet': 7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 @@ -8781,17 +8905,17 @@ snapshots: string-width: 4.2.3 webpack: 5.92.0 - '@nuxt/scripts@0.4.7(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': + '@nuxt/scripts@0.5.1(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) - '@nuxt/devtools-ui-kit': 1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) + '@nuxt/devtools-ui-kit': 1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) '@nuxt/kit': link:packages/kit '@types/google.maps': 3.55.9 '@types/stripe-v3': 3.1.33 '@types/vimeo__player': 2.18.3 '@types/youtube': 0.0.50 '@unhead/vue': 1.9.12(vue@3.4.27(typescript@5.4.5)) - '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.4.5)) + '@vueuse/core': 10.10.1(vue@3.4.27(typescript@5.4.5)) consola: 3.2.3 defu: 6.1.4 estree-walker: 3.0.3 @@ -8803,7 +8927,7 @@ snapshots: pathe: 1.1.2 pkg-types: 1.1.1 semver: 7.6.2 - shiki: 1.6.3 + shiki: 1.6.4 sirv: 2.0.4 std-env: 3.7.0 third-party-capital: 1.0.30 @@ -8811,7 +8935,7 @@ snapshots: unimport: 3.7.2(rollup@4.18.0) unplugin: 1.10.1 unstorage: 1.10.2(ioredis@5.3.2) - valibot: 0.30.0 + valibot: 0.31.1 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -9158,6 +9282,8 @@ snapshots: '@shikijs/core@1.6.3': {} + '@shikijs/core@1.6.4': {} + '@shikijs/transformers@1.1.2': dependencies: shiki: 1.1.2 @@ -9612,6 +9738,16 @@ snapshots: transitivePeerDependencies: - rollup + '@unocss/astro@0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/reset': 0.61.0 + '@unocss/vite': 0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + optionalDependencies: + vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - rollup + '@unocss/cli@0.60.4(rollup@4.18.0)': dependencies: '@ampproject/remapping': 2.3.0 @@ -9630,17 +9766,46 @@ snapshots: transitivePeerDependencies: - rollup + '@unocss/cli@0.61.0(rollup@4.18.0)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@unocss/config': 0.61.0 + '@unocss/core': 0.61.0 + '@unocss/preset-uno': 0.61.0 + 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.10 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + '@unocss/config@0.60.4': dependencies: '@unocss/core': 0.60.4 unconfig: 0.3.13 + '@unocss/config@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + unconfig: 0.3.13 + '@unocss/core@0.60.4': {} + '@unocss/core@0.61.0': {} + '@unocss/extractor-arbitrary-variants@0.60.4': dependencies: '@unocss/core': 0.60.4 + '@unocss/extractor-arbitrary-variants@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/inspector@0.60.4': dependencies: '@unocss/core': 0.60.4 @@ -9648,6 +9813,13 @@ snapshots: gzip-size: 6.0.0 sirv: 2.0.4 + '@unocss/inspector@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/rule-utils': 0.61.0 + gzip-size: 6.0.0 + sirv: 2.0.4 + '@unocss/nuxt@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@nuxt/kit': link:packages/kit @@ -9663,7 +9835,7 @@ snapshots: '@unocss/reset': 0.60.4 '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)) - unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) transitivePeerDependencies: - postcss - rollup @@ -9681,10 +9853,24 @@ snapshots: magic-string: 0.30.10 postcss: 8.4.38 + '@unocss/postcss@0.61.0(postcss@8.4.38)': + dependencies: + '@unocss/config': 0.61.0 + '@unocss/core': 0.61.0 + '@unocss/rule-utils': 0.61.0 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.10 + postcss: 8.4.38 + '@unocss/preset-attributify@0.60.4': dependencies: '@unocss/core': 0.60.4 + '@unocss/preset-attributify@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/preset-icons@0.60.4': dependencies: '@iconify/utils': 2.1.24 @@ -9693,21 +9879,44 @@ snapshots: transitivePeerDependencies: - supports-color + '@unocss/preset-icons@0.61.0': + dependencies: + '@iconify/utils': 2.1.24 + '@unocss/core': 0.61.0 + ofetch: 1.3.4 + transitivePeerDependencies: + - supports-color + '@unocss/preset-mini@0.60.4': dependencies: '@unocss/core': 0.60.4 '@unocss/extractor-arbitrary-variants': 0.60.4 '@unocss/rule-utils': 0.60.4 + '@unocss/preset-mini@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/extractor-arbitrary-variants': 0.61.0 + '@unocss/rule-utils': 0.61.0 + '@unocss/preset-tagify@0.60.4': dependencies: '@unocss/core': 0.60.4 + '@unocss/preset-tagify@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/preset-typography@0.60.4': dependencies: '@unocss/core': 0.60.4 '@unocss/preset-mini': 0.60.4 + '@unocss/preset-typography@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/preset-mini': 0.61.0 + '@unocss/preset-uno@0.60.4': dependencies: '@unocss/core': 0.60.4 @@ -9715,26 +9924,53 @@ snapshots: '@unocss/preset-wind': 0.60.4 '@unocss/rule-utils': 0.60.4 + '@unocss/preset-uno@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/preset-mini': 0.61.0 + '@unocss/preset-wind': 0.61.0 + '@unocss/rule-utils': 0.61.0 + '@unocss/preset-web-fonts@0.60.4': dependencies: '@unocss/core': 0.60.4 ofetch: 1.3.4 + '@unocss/preset-web-fonts@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + ofetch: 1.3.4 + '@unocss/preset-wind@0.60.4': dependencies: '@unocss/core': 0.60.4 '@unocss/preset-mini': 0.60.4 '@unocss/rule-utils': 0.60.4 + '@unocss/preset-wind@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/preset-mini': 0.61.0 + '@unocss/rule-utils': 0.61.0 + '@unocss/reset@0.60.4': {} + '@unocss/reset@0.61.0': {} + '@unocss/rule-utils@0.60.4': dependencies: '@unocss/core': 0.60.4 magic-string: 0.30.10 + '@unocss/rule-utils@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + magic-string: 0.30.10 + '@unocss/scope@0.60.4': {} + '@unocss/scope@0.61.0': {} + '@unocss/transformer-attributify-jsx-babel@0.60.4': dependencies: '@babel/core': 7.24.7 @@ -9744,24 +9980,51 @@ snapshots: transitivePeerDependencies: - supports-color + '@unocss/transformer-attributify-jsx-babel@0.61.0': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@unocss/core': 0.61.0 + transitivePeerDependencies: + - supports-color + '@unocss/transformer-attributify-jsx@0.60.4': dependencies: '@unocss/core': 0.60.4 + '@unocss/transformer-attributify-jsx@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/transformer-compile-class@0.60.4': dependencies: '@unocss/core': 0.60.4 + '@unocss/transformer-compile-class@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/transformer-directives@0.60.4': dependencies: '@unocss/core': 0.60.4 '@unocss/rule-utils': 0.60.4 css-tree: 2.3.1 + '@unocss/transformer-directives@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/rule-utils': 0.61.0 + css-tree: 2.3.1 + '@unocss/transformer-variant-group@0.60.4': dependencies: '@unocss/core': 0.60.4 + '@unocss/transformer-variant-group@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + '@unocss/vite@0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 @@ -9778,6 +10041,22 @@ snapshots: transitivePeerDependencies: - rollup + '@unocss/vite@0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@unocss/config': 0.61.0 + '@unocss/core': 0.61.0 + '@unocss/inspector': 0.61.0 + '@unocss/scope': 0.61.0 + '@unocss/transformer-directives': 0.61.0 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.10 + vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - rollup + '@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@ampproject/remapping': 2.3.0 @@ -9970,12 +10249,12 @@ snapshots: '@vue/devtools-api@6.6.3': {} - '@vue/devtools-applet@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-applet@7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.1.3 - '@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-ui': 7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) lodash-es: 4.17.21 perfect-debounce: 1.0.0 shiki: 1.3.0 @@ -10025,9 +10304,9 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.1.3(@unocss/reset@0.60.4)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-ui@7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@unocss/reset': 0.60.4 + '@unocss/reset': 0.61.0 '@vue/devtools-shared': 7.1.3 '@vueuse/components': 10.9.0(vue@3.4.27(typescript@5.4.5)) '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.4.5)) @@ -10035,7 +10314,7 @@ snapshots: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' @@ -10124,6 +10403,16 @@ snapshots: - '@vue/composition-api' - vue + '@vueuse/core@10.10.1(vue@3.4.27(typescript@5.4.5))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.10.1 + '@vueuse/shared': 10.10.1(vue@3.4.27(typescript@5.4.5)) + vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + '@vueuse/core@10.9.0(vue@3.4.27(typescript@5.4.5))': dependencies: '@types/web-bluetooth': 0.0.20 @@ -10147,6 +10436,8 @@ snapshots: '@vueuse/metadata@10.10.0': {} + '@vueuse/metadata@10.10.1': {} + '@vueuse/metadata@10.9.0': {} '@vueuse/nuxt@10.10.0(nuxt@packages+nuxt)(vue@3.4.27(typescript@5.4.5))': @@ -10168,6 +10459,13 @@ snapshots: - '@vue/composition-api' - vue + '@vueuse/shared@10.10.1(vue@3.4.27(typescript@5.4.5))': + dependencies: + vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + '@vueuse/shared@10.9.0(vue@3.4.27(typescript@5.4.5))': dependencies: vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5)) @@ -14332,6 +14630,10 @@ snapshots: dependencies: '@shikijs/core': 1.6.3 + shiki@1.6.4: + dependencies: + '@shikijs/core': 1.6.4 + side-channel@1.0.4: dependencies: call-bind: 1.0.7 @@ -14842,7 +15144,7 @@ snapshots: universalify@2.0.0: {} - unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): dependencies: '@unocss/astro': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@unocss/cli': 0.60.4(rollup@4.18.0) @@ -14872,6 +15174,36 @@ snapshots: - rollup - supports-color + unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): + dependencies: + '@unocss/astro': 0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/cli': 0.61.0(rollup@4.18.0) + '@unocss/core': 0.61.0 + '@unocss/extractor-arbitrary-variants': 0.61.0 + '@unocss/postcss': 0.61.0(postcss@8.4.38) + '@unocss/preset-attributify': 0.61.0 + '@unocss/preset-icons': 0.61.0 + '@unocss/preset-mini': 0.61.0 + '@unocss/preset-tagify': 0.61.0 + '@unocss/preset-typography': 0.61.0 + '@unocss/preset-uno': 0.61.0 + '@unocss/preset-web-fonts': 0.61.0 + '@unocss/preset-wind': 0.61.0 + '@unocss/reset': 0.61.0 + '@unocss/transformer-attributify-jsx': 0.61.0 + '@unocss/transformer-attributify-jsx-babel': 0.61.0 + '@unocss/transformer-compile-class': 0.61.0 + '@unocss/transformer-directives': 0.61.0 + '@unocss/transformer-variant-group': 0.61.0 + '@unocss/vite': 0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + optionalDependencies: + '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)) + vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + unplugin-vue-router@0.7.0(rollup@4.18.0)(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): dependencies: '@babel/types': 7.24.5 @@ -14977,7 +15309,7 @@ snapshots: dependencies: '@vue/compiler-core': 3.4.27 - valibot@0.30.0: {} + valibot@0.31.1: {} validate-npm-package-license@3.0.4: dependencies: @@ -15182,6 +15514,10 @@ snapshots: dependencies: vue: 3.4.27(typescript@5.4.5) + vue-demi@0.14.8(vue@3.4.27(typescript@5.4.5)): + dependencies: + vue: 3.4.27(typescript@5.4.5) + vue-devtools-stub@0.1.0: {} vue-eslint-parser@9.4.2(eslint@9.4.0): From fbb66c43be7dfd502e210cd582d7f80d43694f3a Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 12 Jun 2024 17:32:53 +0100 Subject: [PATCH 23/44] fix(nuxt): overwrite `#app/defaults` rather than augmenting (#27567) --- packages/nuxt/src/core/nuxt.ts | 1 + packages/nuxt/src/core/templates.ts | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index e319d53d7c..b64525af10 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -125,6 +125,7 @@ async function initNuxt (nuxt: Nuxt) { // Add nuxt types nuxt.hook('prepare:types', (opts) => { opts.references.push({ types: 'nuxt' }) + opts.references.push({ path: resolve(nuxt.options.buildDir, 'types/app-defaults.d.ts') }) opts.references.push({ path: resolve(nuxt.options.buildDir, 'types/plugins.d.ts') }) // Add vue shim if (nuxt.options.typescript.shim) { diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 9e120da0ff..8c54e9e79d 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -7,7 +7,7 @@ import escapeRE from 'escape-string-regexp' import { hash } from 'ohash' import { camelCase } from 'scule' import { filename } from 'pathe/utils' -import type { NuxtTemplate } from 'nuxt/schema' +import type { NuxtTemplate, NuxtTypeTemplate } from 'nuxt/schema' import { annotatePlugins, checkForCircularDependencies } from './app' @@ -96,6 +96,20 @@ export const serverPluginTemplate: NuxtTemplate = { }, } +export const appDefaults: NuxtTypeTemplate = { + filename: 'types/app-defaults.d.ts', + getContents: (ctx) => { + const isV4 = ctx.nuxt.options.future.compatibilityVersion === 4 + return ` +declare module '#app/defaults' { + type DefaultAsyncDataErrorValue = ${isV4 ? 'undefined' : 'null'} + type DefaultAsyncDataValue = ${isV4 ? 'undefined' : 'null'} + type DefaultErrorValue = ${isV4 ? 'undefined' : 'null'} + type DedupeOption = ${isV4 ? '\'cancel\' | \'defer\'' : 'boolean | \'cancel\' | \'defer\''} +}` + }, +} + export const pluginsDeclaration: NuxtTemplate = { filename: 'types/plugins.d.ts', getContents: async (ctx) => { @@ -112,8 +126,6 @@ export const pluginsDeclaration: NuxtTemplate = { const pluginsName = (await annotatePlugins(ctx.nuxt, ctx.app.plugins)).filter(p => p.name).map(p => `'${p.name}'`) - const isV4 = ctx.nuxt.options.future.compatibilityVersion === 4 - return `// Generated by Nuxt' import type { Plugin } from '#app' @@ -132,13 +144,6 @@ declare module '#app' { } } -declare module '#app/defaults' { - type DefaultAsyncDataErrorValue = ${isV4 ? 'undefined' : 'null'} - type DefaultAsyncDataValue = ${isV4 ? 'undefined' : 'null'} - type DefaultErrorValue = ${isV4 ? 'undefined' : 'null'} - type DedupeOption = ${isV4 ? '\'cancel\' | \'defer\'' : 'boolean | \'cancel\' | \'defer\''} -} - declare module 'vue' { interface ComponentCustomProperties extends NuxtAppInjections { } } From 1321c56483e09b3eb255c1ef3900a13eedd68a28 Mon Sep 17 00:00:00 2001 From: Okuto Oyama <0910yama@gmail.com> Date: Thu, 13 Jun 2024 01:46:17 +0900 Subject: [PATCH 24/44] fix(nuxt): export `useRouteAnnouncer` (#27562) --- packages/nuxt/src/app/composables/index.ts | 1 + packages/nuxt/src/imports/presets.ts | 4 ++++ test/nuxt/composables.test.ts | 1 + 3 files changed, 6 insertions(+) diff --git a/packages/nuxt/src/app/composables/index.ts b/packages/nuxt/src/app/composables/index.ts index dbb5e96079..c0abdec2e4 100644 --- a/packages/nuxt/src/app/composables/index.ts +++ b/packages/nuxt/src/app/composables/index.ts @@ -37,3 +37,4 @@ export { reloadNuxtApp } from './chunk' export { useRequestURL } from './url' export { usePreviewMode } from './preview' export { useId } from './id' +export { useRouteAnnouncer } from './route-announcer' diff --git a/packages/nuxt/src/imports/presets.ts b/packages/nuxt/src/imports/presets.ts index c5a6b52261..068615cb91 100644 --- a/packages/nuxt/src/imports/presets.ts +++ b/packages/nuxt/src/imports/presets.ts @@ -109,6 +109,10 @@ const granularAppPresets: InlinePreset[] = [ imports: ['useId'], from: '#app/composables/id', }, + { + imports: ['useRouteAnnouncer'], + from: '#app/composables/route-announcer', + }, ] export const scriptsStubsPreset = { diff --git a/test/nuxt/composables.test.ts b/test/nuxt/composables.test.ts index d4bf1eaaa4..e22488309b 100644 --- a/test/nuxt/composables.test.ts +++ b/test/nuxt/composables.test.ts @@ -53,6 +53,7 @@ describe('app config', () => { describe('composables', () => { it('are all tested', () => { const testedComposables: string[] = [ + 'useRouteAnnouncer', 'clearNuxtData', 'refreshNuxtData', 'useAsyncData', From 803100e34ea19858e0c193056d3ce6975c2c3234 Mon Sep 17 00:00:00 2001 From: Valerii Strilets Date: Wed, 12 Jun 2024 21:51:09 +0300 Subject: [PATCH 25/44] fix(nuxt): remove backticks around runtimeConfig warning log (#27549) --- 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 8839005f3b..75ce824a47 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -568,7 +568,7 @@ function wrappedConfig (runtimeConfig: Record) { if (typeof p === 'string' && p !== 'public' && !(p in target) && !p.startsWith('__v') /* vue check for reactivity, e.g. `__v_isRef` */) { if (!loggedKeys.has(p)) { loggedKeys.add(p) - console.warn(`[nuxt] Could not access \`${p}\`. The only available runtime config keys on the client side are ${keys.join(', ')} and ${lastKey}. See \`https://nuxt.com/docs/guide/going-further/runtime-config\` for more information.`) + console.warn(`[nuxt] Could not access \`${p}\`. The only available runtime config keys on the client side are ${keys.join(', ')} and ${lastKey}. See https://nuxt.com/docs/guide/going-further/runtime-config for more information.`) } } return Reflect.get(target, p, receiver) From 6bca120d02cc974ee74fd0a12c73e21d512948d3 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 12 Jun 2024 20:55:24 +0100 Subject: [PATCH 26/44] fix(nuxt): close top-level watcher on nuxt 'close' (#27571) --- packages/nuxt/src/core/builder.ts | 1 + packages/nuxt/src/core/nuxt.ts | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/builder.ts b/packages/nuxt/src/core/builder.ts index c66e33c198..ca1b41dfd7 100644 --- a/packages/nuxt/src/core/builder.ts +++ b/packages/nuxt/src/core/builder.ts @@ -136,6 +136,7 @@ function createGranularWatcher () { console.timeEnd('[nuxt] builder:chokidar:watch') } }) + nuxt.hook('close', () => watcher?.close()) } } diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index b64525af10..6d4d62524e 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -49,7 +49,10 @@ export function createNuxt (options: NuxtOptions): Nuxt { addHooks: hooks.addHooks, hook: hooks.hook, ready: () => initNuxt(nuxt), - close: () => Promise.resolve(hooks.callHook('close', nuxt)), + close: async () => { + await hooks.callHook('close', nuxt) + hooks.removeAllHooks() + }, vfs: {}, apps: {}, } From d443a24cff1a05eafe155e2db72f2022daef0719 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 20:55:40 +0100 Subject: [PATCH 27/44] chore(deps): update all non-major dependencies (main) (#27568) --- .github/workflows/ci.yml | 4 +- .github/workflows/scorecards.yml | 2 +- packages/kit/package.json | 2 +- packages/kit/src/loader/config.ts | 4 +- packages/nuxt/package.json | 2 +- packages/schema/package.json | 4 +- pnpm-lock.yaml | 97 ++++++++++++++++--------------- 7 files changed, 59 insertions(+), 56 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f98bf80f1..7ea1234165 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@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 + uses: github/codeql-action/init@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9 with: languages: javascript queries: +security-and-quality @@ -95,7 +95,7 @@ jobs: path: packages - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 + uses: github/codeql-action/analyze@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9 with: category: "/language:javascript" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 7a36b4a412..1f091275de 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -68,7 +68,7 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 + uses: github/codeql-action/upload-sarif@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9 if: github.repository == 'nuxt/nuxt' && success() with: sarif_file: results.sarif diff --git a/packages/kit/package.json b/packages/kit/package.json index 3544978785..576702fa62 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@nuxt/schema": "workspace:*", - "c12": "^1.10.0", + "c12": "^1.11.1", "consola": "^3.2.3", "defu": "^6.1.4", "destr": "^2.0.3", diff --git a/packages/kit/src/loader/config.ts b/packages/kit/src/loader/config.ts index fab118bf6c..3c5894ea68 100644 --- a/packages/kit/src/loader/config.ts +++ b/packages/kit/src/loader/config.ts @@ -7,7 +7,9 @@ import { NuxtConfigSchema } from '@nuxt/schema' import { globby } from 'globby' import defu from 'defu' -export interface LoadNuxtConfigOptions extends LoadConfigOptions {} +export interface LoadNuxtConfigOptions extends Omit, 'overrides'> { + overrides?: Exclude['overrides'], Promise | Function> +} const layerSchemaKeys = ['future', 'srcDir', 'rootDir', 'dir'] const layerSchema = Object.fromEntries(Object.entries(NuxtConfigSchema).filter(([key]) => layerSchemaKeys.includes(key))) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index e08492f35d..7f7182a30f 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -70,7 +70,7 @@ "@unhead/vue": "^1.9.12", "@vue/shared": "^3.4.27", "acorn": "8.11.3", - "c12": "^1.10.0", + "c12": "^1.11.1", "chokidar": "^3.6.0", "cookie-es": "^1.1.0", "defu": "^6.1.4", diff --git a/packages/schema/package.json b/packages/schema/package.json index eb43f7fd84..3d1c9b4594 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -45,7 +45,7 @@ "@vue/compiler-core": "3.4.27", "@vue/compiler-sfc": "3.4.27", "@vue/language-core": "2.0.21", - "c12": "1.10.0", + "c12": "1.11.1", "esbuild-loader": "4.1.0", "h3": "1.11.1", "ignore": "5.3.1", @@ -63,7 +63,7 @@ "webpack-dev-middleware": "7.2.1" }, "dependencies": { - "compatx": "^0.1.3", + "compatx": "^0.1.8", "consola": "^3.2.3", "defu": "^6.1.4", "hookable": "^5.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bbd4dc3abd..1a2b693dd6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.13.1 - version: 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + version: 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -67,7 +67,7 @@ importers: version: 0.6.1 changelogen: specifier: 0.5.5 - version: 0.5.5 + version: 0.5.5(magicast@0.3.4) consola: specifier: 3.2.3 version: 3.2.3 @@ -109,7 +109,7 @@ importers: version: 0.41.0 nitropack: specifier: 2.9.6 - version: 2.9.6(encoding@0.1.13) + version: 2.9.6(encoding@0.1.13)(magicast@0.3.4) nuxi: specifier: 3.12.0 version: 3.12.0 @@ -148,7 +148,7 @@ importers: version: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + version: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -165,8 +165,8 @@ importers: specifier: workspace:* version: link:../schema c12: - specifier: ^1.10.0 - version: 1.10.0 + specifier: ^1.11.1 + version: 1.11.1(magicast@0.3.4) consola: specifier: ^3.2.3 version: 3.2.3 @@ -236,7 +236,7 @@ importers: version: 4.17.21 nitropack: specifier: 2.9.6 - version: 2.9.6(encoding@0.1.13) + version: 2.9.6(encoding@0.1.13)(magicast@0.3.4) unbuild: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) @@ -289,8 +289,8 @@ importers: specifier: 8.11.3 version: 8.11.3 c12: - specifier: ^1.10.0 - version: 1.10.0 + specifier: ^1.11.1 + version: 1.11.1(magicast@0.3.4) chokidar: specifier: ^3.6.0 version: 3.6.0 @@ -347,7 +347,7 @@ importers: version: 1.7.1 nitropack: specifier: ^2.9.6 - version: 2.9.6(encoding@0.1.13) + version: 2.9.6(encoding@0.1.13)(magicast@0.3.4) nuxi: specifier: ^3.12.0 version: 3.12.0 @@ -461,8 +461,8 @@ importers: packages/schema: dependencies: compatx: - specifier: ^0.1.3 - version: 0.1.3 + specifier: ^0.1.8 + version: 0.1.8 consola: specifier: ^3.2.3 version: 3.2.3 @@ -531,8 +531,8 @@ importers: specifier: 2.0.21 version: 2.0.21(typescript@5.4.5) c12: - specifier: 1.10.0 - version: 1.10.0 + specifier: 1.11.1 + version: 1.11.1(magicast@0.3.4) esbuild-loader: specifier: 4.1.0 version: 4.1.0(webpack@5.92.0) @@ -544,7 +544,7 @@ importers: version: 5.3.1 nitropack: specifier: 2.9.6 - version: 2.9.6(encoding@0.1.13) + version: 2.9.6(encoding@0.1.13)(magicast@0.3.4) ofetch: specifier: 1.3.4 version: 1.3.4 @@ -2471,9 +2471,6 @@ packages: '@shikijs/core@1.3.0': resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} - '@shikijs/core@1.6.3': - resolution: {integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==} - '@shikijs/core@1.6.4': resolution: {integrity: sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA==} @@ -3544,8 +3541,13 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - c12@1.10.0: - resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} + c12@1.11.1: + resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==} + peerDependencies: + magicast: ^0.3.4 + peerDependenciesMeta: + magicast: + optional: true cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} @@ -3727,8 +3729,8 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compatx@0.1.3: - resolution: {integrity: sha512-MWspQwvBk5xeLZMetIfjOozTAtmAIICz1mtol6NbBpCSllXOO+HvWMO87B18rcFtqjfrZ0tIFOH9gNG63ep+mw==} + compatx@0.1.8: + resolution: {integrity: sha512-jcbsEAR81Bt5s1qOFymBufmCbXCXbk0Ql+K5ouj6gCyx2yHlu6AgmGIi9HxfKixpUDO5bCFJUHQ5uM6ecbTebw==} compress-commons@6.0.2: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} @@ -4576,8 +4578,8 @@ packages: get-tsconfig@4.7.3: resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} - giget@1.2.1: - resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} + giget@1.2.3: + resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} hasBin: true git-config-path@2.0.0: @@ -6729,9 +6731,6 @@ packages: shiki@1.3.0: resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==} - shiki@1.6.3: - resolution: {integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==} - shiki@1.6.4: resolution: {integrity: sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==} @@ -8993,11 +8992,11 @@ snapshots: rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/test-utils@3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema - c12: 1.10.0 + c12: 1.11.1(magicast@0.3.4) consola: 3.2.3 defu: 6.1.4 destr: 2.0.3 @@ -9008,7 +9007,7 @@ snapshots: h3: 1.11.1 local-pkg: 0.5.0 magic-string: 0.30.10 - nitropack: 2.9.6(encoding@0.1.13) + nitropack: 2.9.6(encoding@0.1.13)(magicast@0.3.4) node-fetch-native: 1.6.4 ofetch: 1.3.4 pathe: 1.1.2 @@ -9020,7 +9019,7 @@ snapshots: unenv: 1.9.0 unplugin: 1.10.1 vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: 3.4.27(typescript@5.4.5) vue-router: 4.3.3(vue@3.4.27(typescript@5.4.5)) optionalDependencies: @@ -9029,6 +9028,8 @@ snapshots: happy-dom: 14.12.0 playwright-core: 1.44.1 vitest: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) + transitivePeerDependencies: + - magicast '@nuxtjs/color-mode@3.4.1': dependencies: @@ -9068,7 +9069,7 @@ snapshots: remark-parse: 11.0.0 remark-rehype: 11.1.0 scule: 1.3.0 - shiki: 1.6.3 + shiki: 1.6.4 ufo: 1.5.3 unified: 11.0.4 unist-builder: 4.0.0 @@ -9280,8 +9281,6 @@ snapshots: '@shikijs/core@1.3.0': {} - '@shikijs/core@1.6.3': {} - '@shikijs/core@1.6.4': {} '@shikijs/transformers@1.1.2': @@ -10812,13 +10811,13 @@ snapshots: dependencies: run-applescript: 7.0.0 - c12@1.10.0: + c12@1.11.1(magicast@0.3.4): dependencies: chokidar: 3.6.0 confbox: 0.1.7 defu: 6.1.4 dotenv: 16.4.5 - giget: 1.2.1 + giget: 1.2.3 jiti: 1.21.6 mlly: 1.7.1 ohash: 1.1.3 @@ -10826,6 +10825,8 @@ snapshots: perfect-debounce: 1.0.0 pkg-types: 1.1.1 rc9: 2.1.2 + optionalDependencies: + magicast: 0.3.4 cac@6.7.14: {} @@ -10897,9 +10898,9 @@ snapshots: chalk@5.3.0: {} - changelogen@0.5.5: + changelogen@0.5.5(magicast@0.3.4): dependencies: - c12: 1.10.0 + c12: 1.11.1(magicast@0.3.4) colorette: 2.0.20 consola: 3.2.3 convert-gitmoji: 0.1.3 @@ -10914,6 +10915,8 @@ snapshots: semver: 7.6.2 std-env: 3.7.0 yaml: 2.3.4 + transitivePeerDependencies: + - magicast char-regex@1.0.2: {} @@ -11017,7 +11020,7 @@ snapshots: commondir@1.0.1: {} - compatx@0.1.3: {} + compatx@0.1.8: {} compress-commons@6.0.2: dependencies: @@ -12033,7 +12036,7 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 - giget@1.2.1: + giget@1.2.3: dependencies: citty: 0.1.6 consola: 3.2.3 @@ -13377,7 +13380,7 @@ snapshots: neo-async@2.6.2: {} - nitropack@2.9.6(encoding@0.1.13): + nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4): dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 @@ -13392,7 +13395,7 @@ snapshots: '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4(encoding@0.1.13) archiver: 7.0.1 - c12: 1.10.0 + c12: 1.11.1(magicast@0.3.4) chalk: 5.3.0 chokidar: 3.6.0 citty: 0.1.6 @@ -13463,6 +13466,7 @@ snapshots: - drizzle-orm - encoding - idb-keyval + - magicast - supports-color - uWebSockets.js @@ -14626,10 +14630,6 @@ snapshots: dependencies: '@shikijs/core': 1.3.0 - shiki@1.6.3: - dependencies: - '@shikijs/core': 1.6.3 - shiki@1.6.4: dependencies: '@shikijs/core': 1.6.4 @@ -15425,9 +15425,9 @@ snapshots: sass: 1.69.4 terser: 5.27.0 - vitest-environment-nuxt@1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): dependencies: - '@nuxt/test-utils': 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + '@nuxt/test-utils': 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -15438,6 +15438,7 @@ snapshots: - h3 - happy-dom - jsdom + - magicast - nitropack - playwright-core - vite From c2f2627b990a5c4a99c6e96059c5b13fbd4a678e Mon Sep 17 00:00:00 2001 From: garthreckers Date: Thu, 13 Jun 2024 01:44:30 -0700 Subject: [PATCH 28/44] docs: add warning about bridge migration with `head` (#27575) --- docs/6.bridge/6.meta.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/6.bridge/6.meta.md b/docs/6.bridge/6.meta.md index 6903a774e6..e29ca7995f 100644 --- a/docs/6.bridge/6.meta.md +++ b/docs/6.bridge/6.meta.md @@ -98,6 +98,10 @@ export default defineNuxtComponent({ ``` +::warning +Possible breaking change: `head` receives the nuxt app but cannot access the component instance. If the code in your `head` tries to access the data object through `this` or `this.$data`, you will need to migrate to the `useHead` composable. +:: + ## Title Template 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 `/layouts` directory. From d195930aaeff5523721f68bd651f14c6fd5fb3ab Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 13 Jun 2024 12:51:00 +0100 Subject: [PATCH 29/44] perf(kit): deduplicate layers before resolving config (#27582) --- packages/kit/src/loader/config.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/kit/src/loader/config.ts b/packages/kit/src/loader/config.ts index 3c5894ea68..b2c4d1b883 100644 --- a/packages/kit/src/loader/config.ts +++ b/packages/kit/src/loader/config.ts @@ -42,10 +42,15 @@ export async function loadNuxtConfig (opts: LoadNuxtConfigOptions): Promise[] = [] + const processedLayers = new Set() for (const layer of layers) { // Resolve `rootDir` & `srcDir` of layers layer.config = layer.config || {} - layer.config.rootDir = layer.config.rootDir ?? layer.cwd + layer.config.rootDir = layer.config.rootDir ?? layer.cwd! + + // Only process/resolve layers once + if (processedLayers.has(layer.config.rootDir)) { continue } + processedLayers.add(layer.config.rootDir) // Normalise layer directories layer.config = await applyDefaults(layerSchema, layer.config as NuxtConfig & Record) as unknown as NuxtConfig From cae13aaa24477b0dfa2077f5b3aeb07351eb128e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 13:37:54 +0100 Subject: [PATCH 30/44] chore(deps): update all non-major dependencies (main) (#27573) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/autofix-docs.yml | 2 +- .github/workflows/autofix.yml | 2 +- .github/workflows/benchmark.yml | 2 +- .github/workflows/changelog.yml | 2 +- .github/workflows/check-links.yml | 2 +- .github/workflows/ci.yml | 18 ++-- .github/workflows/dependency-review.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/introspect.yml | 2 +- .github/workflows/release-pr.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/reproduire.yml | 2 +- .github/workflows/scorecards.yml | 2 +- package.json | 4 +- packages/nuxt/package.json | 6 +- packages/schema/package.json | 2 +- pnpm-lock.yaml | 112 ++++++++++++------------ 17 files changed, 83 insertions(+), 83 deletions(-) diff --git a/.github/workflows/autofix-docs.yml b/.github/workflows/autofix-docs.yml index edc59497ef..d90a8e2f9e 100644 --- a/.github/workflows/autofix-docs.yml +++ b/.github/workflows/autofix-docs.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 4af68cee5e..03d5a654f3 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index f3bc4aa393..83645d7c3e 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index b2e4b57ea5..492a0fb118 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 4a81648ec0..14a3db9075 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -25,7 +25,7 @@ jobs: restore-keys: cache-lychee- # check links with Lychee - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Lychee link checker uses: lycheeverse/lychee-action@25a231001d1723960a301b7d4c82884dc7ef857d # for v1.8.0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ea1234165..2a1e733ab1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -72,7 +72,7 @@ jobs: - build steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -111,7 +111,7 @@ jobs: module: ["bundler", "node"] steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -142,7 +142,7 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -166,7 +166,7 @@ jobs: needs: - build steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -218,7 +218,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -248,7 +248,7 @@ jobs: TEST_PAYLOAD: ${{ matrix.payload }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || matrix.payload == 'js' || runner.os == 'Windows' }} - - uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # v4.4.1 + - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.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 }} @@ -270,7 +270,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: fetch-depth: 0 - run: corepack enable @@ -309,7 +309,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 7c6cfb6746..7d1ac0d64a 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -17,6 +17,6 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: 'Dependency Review' uses: actions/dependency-review-action@72eb03d02c7872a771aacd928f3123ac62ad6d3a # v4.3.3 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index f2bdb9b4f1..624cafa244 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - run: corepack enable - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: diff --git a/.github/workflows/introspect.yml b/.github/workflows/introspect.yml index 06f7994104..6b7f4fd586 100644 --- a/.github/workflows/introspect.yml +++ b/.github/workflows/introspect.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 # From https://github.com/rhysd/actionlint/blob/main/docs/usage.md#use-actionlint-on-github-actions - name: Check workflow files run: | diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 5f128f7df6..7a45a29223 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -29,7 +29,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: ref: ${{ github.event.issue.pull_request.head.sha }} fetch-depth: 0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d975a363f3..727d0669ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 20 steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/reproduire.yml b/.github/workflows/reproduire.yml index b001dd9fca..e38add83d7 100644 --- a/.github/workflows/reproduire.yml +++ b/.github/workflows/reproduire.yml @@ -10,7 +10,7 @@ jobs: reproduire: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: Hebilicious/reproduire@4b686ae9cbb72dad60f001d278b6e3b2ce40a9ac # v0.0.9-mp with: label: needs reproduction diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 1f091275de..9e97020891 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -32,7 +32,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: persist-credentials: false diff --git a/package.json b/package.json index eec7837f9a..ed71c0d1ec 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "@types/fs-extra": "11.0.4", "@types/node": "20.14.2", "@types/semver": "7.5.8", - "@unhead/schema": "1.9.12", + "@unhead/schema": "1.9.13", "@vitejs/plugin-vue": "5.0.4", "@vitest/coverage-v8": "1.6.0", "@vue/test-utils": "2.4.6", @@ -66,7 +66,7 @@ "devalue": "5.0.0", "eslint": "9.4.0", "eslint-plugin-no-only-tests": "3.1.0", - "eslint-plugin-perfectionist": "2.10.0", + "eslint-plugin-perfectionist": "2.11.0", "eslint-typegen": "0.2.4", "execa": "9.2.0", "fs-extra": "11.2.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 7f7182a30f..86c3384be6 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -65,9 +65,9 @@ "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.5.4", "@nuxt/vite-builder": "workspace:*", - "@unhead/dom": "^1.9.12", - "@unhead/ssr": "^1.9.12", - "@unhead/vue": "^1.9.12", + "@unhead/dom": "^1.9.13", + "@unhead/ssr": "^1.9.13", + "@unhead/vue": "^1.9.13", "@vue/shared": "^3.4.27", "acorn": "8.11.3", "c12": "^1.11.1", diff --git a/packages/schema/package.json b/packages/schema/package.json index 3d1c9b4594..c68a38367e 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -39,7 +39,7 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.8", - "@unhead/schema": "1.9.12", + "@unhead/schema": "1.9.13", "@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue-jsx": "4.0.0", "@vue/compiler-core": "3.4.27", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1a2b693dd6..1b94d1c395 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,8 +51,8 @@ importers: specifier: 7.5.8 version: 7.5.8 '@unhead/schema': - specifier: 1.9.12 - version: 1.9.12 + specifier: 1.9.13 + version: 1.9.13 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) @@ -81,8 +81,8 @@ importers: specifier: 3.1.0 version: 3.1.0 eslint-plugin-perfectionist: - specifier: 2.10.0 - version: 2.10.0(eslint@9.4.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.4.0)) + specifier: 2.11.0 + version: 2.11.0(eslint@9.4.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.4.0)) eslint-typegen: specifier: 0.2.4 version: 0.2.4(eslint@9.4.0) @@ -274,14 +274,14 @@ importers: specifier: ^14.18.0 || >=16.10.0 version: 20.14.2 '@unhead/dom': - specifier: ^1.9.12 - version: 1.9.12 + specifier: ^1.9.13 + version: 1.9.13 '@unhead/ssr': - specifier: ^1.9.12 - version: 1.9.12 + specifier: ^1.9.13 + version: 1.9.13 '@unhead/vue': - specifier: ^1.9.12 - version: 1.9.12(vue@3.4.27(typescript@5.4.5)) + specifier: ^1.9.13 + version: 1.9.13(vue@3.4.27(typescript@5.4.5)) '@vue/shared': specifier: ^3.4.27 version: 3.4.27 @@ -513,8 +513,8 @@ importers: specifier: 8.0.8 version: 8.0.8 '@unhead/schema': - specifier: 1.9.12 - version: 1.9.12 + specifier: 1.9.13 + version: 1.9.13 '@vitejs/plugin-vue': specifier: 5.0.4 version: 5.0.4(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) @@ -918,7 +918,7 @@ importers: dependencies: '@unhead/shared': specifier: latest - version: 1.9.12 + version: 1.9.13 '@vue/devtools-api': specifier: latest version: 6.6.3 @@ -930,7 +930,7 @@ importers: version: link:../packages/nuxt unhead: specifier: latest - version: 1.9.12 + version: 1.9.13 vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -946,10 +946,10 @@ importers: devDependencies: '@unhead/dom': specifier: latest - version: 1.9.12 + version: 1.9.13 '@unhead/shared': specifier: latest - version: 1.9.12 + version: 1.9.13 '@vue/devtools-api': specifier: latest version: 6.6.3 @@ -964,7 +964,7 @@ importers: version: 1.5.3 unhead: specifier: latest - version: 1.9.12 + version: 1.9.13 unplugin: specifier: latest version: 1.10.1 @@ -1020,7 +1020,7 @@ importers: devDependencies: '@unhead/shared': specifier: latest - version: 1.9.12 + version: 1.9.13 '@vue/devtools-api': specifier: latest version: 6.6.3 @@ -1029,7 +1029,7 @@ importers: version: 3.4.27 unhead: specifier: latest - version: 1.9.12 + version: 1.9.13 test/fixtures/suspense: dependencies: @@ -1042,7 +1042,7 @@ importers: devDependencies: '@unhead/shared': specifier: latest - version: 1.9.12 + version: 1.9.13 '@vue/devtools-api': specifier: latest version: 6.6.3 @@ -1054,7 +1054,7 @@ importers: version: 5.4.5 unhead: specifier: latest - version: 1.9.12 + version: 1.9.13 packages: @@ -2795,20 +2795,20 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@unhead/dom@1.9.12': - resolution: {integrity: sha512-3MY1TbZmEjGNZapi3wvJW0vWNS2CLKHt7/m57sScDHCNvNBe1mTwrIOhtZFDgAndhml2EVQ68RMa0Vhum/M+cw==} + '@unhead/dom@1.9.13': + resolution: {integrity: sha512-Fzc929W+5f88c90kn9aKs7EbgRBhphArMqBbifre134GWgrgDVR0odoadNa7i9eH4roPEDE1FIGcKVWuxOIHbg==} - '@unhead/schema@1.9.12': - resolution: {integrity: sha512-ue2FKyIZKsuZDpWJBMlBGwMm4s+vFeU3NUWsNt8Z+2JkOUIqO/VG43LxNgY1M595bOS71Gdxk+G9VtzfKJ5uEA==} + '@unhead/schema@1.9.13': + resolution: {integrity: sha512-keOfTXC/tI21fURcEszBHgGvIg2AszQVQEXBG5BYgC2TQph25Bmv7Fk8W2ogFmj+DdZmFiDnSJdz/NKv3bqnTQ==} - '@unhead/shared@1.9.12': - resolution: {integrity: sha512-72wlLXG3FP3sXUrwd42Uv8jYpHSg4R6IFJcsl+QisRjKM89JnjOFSw1DqWO4IOftW5xOxS4J5v7SQyJ4NJo7Bw==} + '@unhead/shared@1.9.13': + resolution: {integrity: sha512-zNlJ2i5WonQZu/UMHJJzYMyBLhlCCxj1JxHL6lEG+Z6XiERfJDFr8mEAsQY7M2KrGAHR+WRBxNVoLw03j/kfrA==} - '@unhead/ssr@1.9.12': - resolution: {integrity: sha512-EbUT55CzAYsXL/A1hjxpDoK0EitV3n1YZVWHfdE+I8Qe13EL/tnQwco2AYILjb1gtA4s70n3PjTNGeJ17cHPnw==} + '@unhead/ssr@1.9.13': + resolution: {integrity: sha512-YjYrZ3u9uNDzrMybWMVFE0bDcMWBV6Dyqba2Sjq6x84NBRBpZfcUrc7v58iwp5m4XBNfyPs1+r5tOSV0qCiGww==} - '@unhead/vue@1.9.12': - resolution: {integrity: sha512-keE4EuswgzCqVU7zmZprU+ToMvNWc3s8NoLreH5AtJd2u0FgBygD8sxRVyEnZw1KwFYOJ2C7yD2TChSKZioPGQ==} + '@unhead/vue@1.9.13': + resolution: {integrity: sha512-vIMNrB0kZ/3zalmE4j64eBLTkXkrcms78YbptXLvfnnQ9BLGiwsSuB3c0e+4S5Cn1dpMqUTfg5e/hCQYGDMhEA==} peerDependencies: vue: 3.4.27 @@ -4261,13 +4261,13 @@ packages: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@2.10.0: - resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==} + eslint-plugin-perfectionist@2.11.0: + resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} peerDependencies: - astro-eslint-parser: ^0.16.0 + astro-eslint-parser: ^1.0.2 eslint: '>=8.0.0' svelte: '>=3.0.0' - svelte-eslint-parser: ^0.33.0 + svelte-eslint-parser: ^0.37.0 vue-eslint-parser: '>=9.0.0' peerDependenciesMeta: astro-eslint-parser: @@ -7165,8 +7165,8 @@ packages: unenv@1.9.0: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} - unhead@1.9.12: - resolution: {integrity: sha512-s6VxcTV45hy8c/IioKQOonFnAO+kBOSpgDfqEHhnU0YVSQYaRPEp9pzW1qSPf0lx+bg9RKeOQyNNbSGGUP26aQ==} + unhead@1.9.13: + resolution: {integrity: sha512-r7O7s5nw1vUrolueEitawh1HnrzXoekHPM1gsYMF3Tu0A2SzochDJw/1F+Nhu3e073rJ9cUGZqobZY3+RZS4Ew==} unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} @@ -8913,7 +8913,7 @@ snapshots: '@types/stripe-v3': 3.1.33 '@types/vimeo__player': 2.18.3 '@types/youtube': 0.0.50 - '@unhead/vue': 1.9.12(vue@3.4.27(typescript@5.4.5)) + '@unhead/vue': 1.9.13(vue@3.4.27(typescript@5.4.5)) '@vueuse/core': 10.10.1(vue@3.4.27(typescript@5.4.5)) consola: 3.2.3 defu: 6.1.4 @@ -9700,31 +9700,31 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@unhead/dom@1.9.12': + '@unhead/dom@1.9.13': dependencies: - '@unhead/schema': 1.9.12 - '@unhead/shared': 1.9.12 + '@unhead/schema': 1.9.13 + '@unhead/shared': 1.9.13 - '@unhead/schema@1.9.12': + '@unhead/schema@1.9.13': dependencies: hookable: 5.5.3 zhead: 2.2.4 - '@unhead/shared@1.9.12': + '@unhead/shared@1.9.13': dependencies: - '@unhead/schema': 1.9.12 + '@unhead/schema': 1.9.13 - '@unhead/ssr@1.9.12': + '@unhead/ssr@1.9.13': dependencies: - '@unhead/schema': 1.9.12 - '@unhead/shared': 1.9.12 + '@unhead/schema': 1.9.13 + '@unhead/shared': 1.9.13 - '@unhead/vue@1.9.12(vue@3.4.27(typescript@5.4.5))': + '@unhead/vue@1.9.13(vue@3.4.27(typescript@5.4.5))': dependencies: - '@unhead/schema': 1.9.12 - '@unhead/shared': 1.9.12 + '@unhead/schema': 1.9.13 + '@unhead/shared': 1.9.13 hookable: 5.5.3 - unhead: 1.9.12 + unhead: 1.9.13 vue: 3.4.27(typescript@5.4.5) '@unocss/astro@0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': @@ -11625,7 +11625,7 @@ snapshots: eslint-plugin-no-only-tests@3.1.0: {} - eslint-plugin-perfectionist@2.10.0(eslint@9.4.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.4.0)): + eslint-plugin-perfectionist@2.11.0(eslint@9.4.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.4.0)): dependencies: '@typescript-eslint/utils': 7.9.0(eslint@9.4.0)(typescript@5.4.5) eslint: 9.4.0 @@ -15068,11 +15068,11 @@ snapshots: node-fetch-native: 1.6.4 pathe: 1.1.2 - unhead@1.9.12: + unhead@1.9.13: dependencies: - '@unhead/dom': 1.9.12 - '@unhead/schema': 1.9.12 - '@unhead/shared': 1.9.12 + '@unhead/dom': 1.9.13 + '@unhead/schema': 1.9.13 + '@unhead/shared': 1.9.13 hookable: 5.5.3 unicode-emoji-modifier-base@1.0.0: {} From d202669611d3d1e8f8078e6d7f2e1f7552bae9ba Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 13 Jun 2024 13:54:49 +0100 Subject: [PATCH 31/44] ci: improve generated changelog --- scripts/update-changelog.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/update-changelog.ts b/scripts/update-changelog.ts index 65ccb9a2f1..9dab8a8b94 100644 --- a/scripts/update-changelog.ts +++ b/scripts/update-changelog.ts @@ -13,9 +13,9 @@ async function main () { const commits = await getLatestCommits().then(commits => commits.filter( c => config.types[c.type] && !(c.type === 'chore' && c.scope === 'deps' && !c.isBreaking), )) - const bumpType = await determineBumpType() + const bumpType = await determineBumpType() || 'patch' - const newVersion = inc(workspace.find('nuxt').data.version, bumpType || 'patch') + const newVersion = inc(workspace.find('nuxt').data.version, bumpType) const changelog = await generateMarkDown(commits, config) // Create and push a branch with bumped versions if it has not already been created @@ -44,7 +44,8 @@ async function main () { changelog .replace(/^## v.*\n/, '') .replace(`...${releaseBranch}`, `...v${newVersion}`) - .replace(/### ❤️ Contributors[\s\S]*$/, ''), + .replace(/### ❤️ Contributors[\s\S]*$/, '') + .replace(/[\n\r]+/g, '\n'), '### ❤️ Contributors', contributors.map(c => `- ${c.name} (@${c.username})`).join('\n'), ].join('\n') From ab887d90d71ea0d4e977574263d3b8a112f07cef Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 13 Jun 2024 14:44:08 +0100 Subject: [PATCH 32/44] fix(nuxt): handle tsx code when extracting pageMeta/routeRules (#27583) --- packages/nuxt/src/pages/route-rules.ts | 5 +++-- packages/nuxt/src/pages/utils.ts | 15 +++++++++------ test/fixtures/basic/pages/tsx-page-meta.vue | 9 +++++++++ 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 test/fixtures/basic/pages/tsx-page-meta.vue diff --git a/packages/nuxt/src/pages/route-rules.ts b/packages/nuxt/src/pages/route-rules.ts index fef075e03e..24acf217b1 100644 --- a/packages/nuxt/src/pages/route-rules.ts +++ b/packages/nuxt/src/pages/route-rules.ts @@ -18,11 +18,12 @@ export async function extractRouteRules (code: string): Promise]*>([\s\S]*?)<\/script[^>]*>/i +const SFC_SCRIPT_RE = /[^>]*)>(?[\s\S]*?)<\/script[^>]*>/i export function extractScriptContent (html: string) { - const match = html.match(SFC_SCRIPT_RE) + const groups = html.match(SFC_SCRIPT_RE)?.groups || {} - if (match && match[1]) { - return match[1].trim() + if (groups.content) { + return { + loader: groups.attrs.includes('tsx') ? 'tsx' : 'ts', + code: groups.content.trim(), + } as const } return null @@ -185,12 +188,12 @@ async function getRouteMeta (contents: string, absolutePath: string): Promise + + + + From 452d43ab23243628b8a1c23aefb1f3d48bb191bd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 15:19:05 +0100 Subject: [PATCH 33/44] chore(deps): update dependency vite to v5.3.0 (main) (#27586) 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/ui-templates/package.json | 2 +- packages/vite/package.json | 2 +- pnpm-lock.yaml | 212 ++++++++++++++--------------- 7 files changed, 112 insertions(+), 112 deletions(-) diff --git a/package.json b/package.json index ed71c0d1ec..03e833fefe 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "magic-string": "^0.30.10", "nuxt": "workspace:*", "rollup": "^4.18.0", - "vite": "5.2.13", + "vite": "5.3.0", "vue": "3.4.27" }, "devDependencies": { diff --git a/packages/kit/package.json b/packages/kit/package.json index 576702fa62..310931589b 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -54,7 +54,7 @@ "lodash-es": "4.17.21", "nitropack": "2.9.6", "unbuild": "latest", - "vite": "5.2.13", + "vite": "5.3.0", "vitest": "1.6.0", "webpack": "5.92.0" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 86c3384be6..bc9c2b3c14 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -126,7 +126,7 @@ "@vitejs/plugin-vue": "5.0.4", "@vue/compiler-sfc": "3.4.27", "unbuild": "latest", - "vite": "5.2.13", + "vite": "5.3.0", "vitest": "1.6.0" }, "peerDependencies": { diff --git a/packages/schema/package.json b/packages/schema/package.json index c68a38367e..d295d4e3df 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -54,7 +54,7 @@ "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.9.0", - "vite": "5.2.13", + "vite": "5.3.0", "vue": "3.4.27", "vue-bundle-renderer": "2.1.0", "vue-loader": "17.4.2", diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 0cb9fec044..efa7de45e7 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -33,6 +33,6 @@ "prettier": "3.3.2", "scule": "1.3.0", "unocss": "0.61.0", - "vite": "5.2.13" + "vite": "5.3.0" } } diff --git a/packages/vite/package.json b/packages/vite/package.json index 39dfbfe91f..d2b64f1169 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.13", + "vite": "^5.3.0", "vite-node": "^1.6.0", "vite-plugin-checker": "^0.6.4", "vue-bundle-renderer": "^2.1.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b94d1c395..f38e4b444e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ overrides: magic-string: ^0.30.10 nuxt: workspace:* rollup: ^4.18.0 - vite: 5.2.13 + vite: 5.3.0 vue: 3.4.27 importers: @@ -31,7 +31,7 @@ importers: version: link:packages/kit '@nuxt/test-utils': specifier: 3.13.1 - version: 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + version: 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack @@ -55,7 +55,7 @@ importers: version: 1.9.13 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.4(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitest/coverage-v8': specifier: 1.6.0 version: 1.6.0(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0)) @@ -148,7 +148,7 @@ importers: version: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) vitest-environment-nuxt: specifier: 1.0.0 - version: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + version: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -241,8 +241,8 @@ importers: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: - specifier: 5.2.13 - version: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + specifier: 5.3.0 + version: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.6.0 version: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) @@ -257,7 +257,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.3.3 - version: 1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -429,7 +429,7 @@ importers: devDependencies: '@nuxt/scripts': specifier: 0.5.1 - version: 0.5.1(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) + version: 0.5.1(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) '@nuxt/ui-templates': specifier: workspace:* version: link:../ui-templates @@ -444,7 +444,7 @@ importers: version: 11.0.4 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.4(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/compiler-sfc': specifier: 3.4.27 version: 3.4.27 @@ -452,8 +452,8 @@ importers: specifier: latest version: 2.0.0(sass@1.69.4)(typescript@5.4.5) vite: - specifier: 5.2.13 - version: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + specifier: 5.3.0 + version: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vitest: specifier: 1.6.0 version: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) @@ -517,10 +517,10 @@ importers: version: 1.9.13 '@vitejs/plugin-vue': specifier: 5.0.4 - version: 5.0.4(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.4(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: 4.0.0 - version: 4.0.0(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 4.0.0(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/compiler-core': specifier: 3.4.27 version: 3.4.27 @@ -558,8 +558,8 @@ importers: specifier: 1.9.0 version: 1.9.0 vite: - specifier: 5.2.13 - version: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + specifier: 5.3.0 + version: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vue: specifier: 3.4.27 version: 3.4.27(typescript@5.4.5) @@ -622,10 +622,10 @@ importers: version: 1.3.0 unocss: specifier: 0.61.0 - version: 0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + version: 0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) vite: - specifier: 5.2.13 - version: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + specifier: 5.3.0 + version: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) packages/vite: dependencies: @@ -637,10 +637,10 @@ importers: version: 5.0.7(rollup@4.18.0) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 5.0.4(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.0 - version: 4.0.0(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + version: 4.0.0(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -720,14 +720,14 @@ importers: specifier: ^1.10.1 version: 1.10.1 vite: - specifier: 5.2.13 - version: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + specifier: 5.3.0 + version: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vite-node: specifier: ^1.6.0 version: 1.6.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vite-plugin-checker: specifier: ^0.6.4 - version: 0.6.4(eslint@9.4.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.21(typescript@5.4.5)) + version: 0.6.4(eslint@9.4.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.21(typescript@5.4.5)) vue-bundle-renderer: specifier: ^2.1.0 version: 2.1.0 @@ -2111,7 +2111,7 @@ packages: resolution: {integrity: sha512-YkcuSirzVVi36gWjIl9sJ4lsuiuQiIStY3upLy829zMTIXXeF8yUEBexKL6zHD3UPqCigoF7IuovnfLw78BQ9g==} peerDependencies: nuxt: workspace:* - vite: 5.2.13 + vite: 5.3.0 '@nuxt/devtools-ui-kit@1.3.3': resolution: {integrity: sha512-vM9dcb/CLXf1big6SmhVL0mh/JzNtZaJwHMYDd3vqv7jAedGuNfURDSGGVYQRFlSFisA3Cn0TnjDDs+dPrGuAA==} @@ -2127,7 +2127,7 @@ packages: hasBin: true peerDependencies: nuxt: workspace:* - vite: 5.2.13 + vite: 5.3.0 '@nuxt/eslint-config@0.3.13': resolution: {integrity: sha512-xnMkcrz9vFjtIuKsfOPhNOKFVD51JZClj/16raciHVOK9eiqZuQjbxaf60b7ffk7cmD1EDhlQhbSxaLAJm/QYg==} @@ -2167,7 +2167,7 @@ packages: jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 nitropack: '*' playwright-core: ^1.43.1 - vite: 5.2.13 + vite: 5.3.0 vitest: ^0.34.6 || ^1.0.0 vue: 3.4.27 vue-router: ^4.0.0 @@ -2815,7 +2815,7 @@ packages: '@unocss/astro@0.60.4': resolution: {integrity: sha512-mfWiEVCUP00gxrMewwPfnTuw+ur5b6uIBRH2tIGkvfI21rLyZw8TIF08w7USz9C/47rvzsixBtCqq7v0g3Tw9w==} peerDependencies: - vite: 5.2.13 + vite: 5.3.0 peerDependenciesMeta: vite: optional: true @@ -2823,7 +2823,7 @@ packages: '@unocss/astro@0.61.0': resolution: {integrity: sha512-cbgztX/to5rMhAtEGCcR3ClMlK9F+lPxq21A72qsbWVQjiKa7W4O7qKBmUKPYsWRzJEJtdyN11A65H2037aKQw==} peerDependencies: - vite: 5.2.13 + vite: 5.3.0 peerDependenciesMeta: vite: optional: true @@ -2980,12 +2980,12 @@ packages: '@unocss/vite@0.60.4': resolution: {integrity: sha512-af9hhtW11geF56cotKUE16Fr+FirTdV/Al/usjKJ6P5hnCEQnqSHXQDFXL5Y6vXwcvLDmOhHYNrVR8duKgC8Mw==} peerDependencies: - vite: 5.2.13 + vite: 5.3.0 '@unocss/vite@0.61.0': resolution: {integrity: sha512-gjxLJrja1hqDwdd8z3QvzfMCcKppGqiL2+A6aHwG/AXfEmZMydA50U7VvJK7Wx8/Enm26G6JQrtGrpu+kK3QpQ==} peerDependencies: - vite: 5.2.13 + vite: 5.3.0 '@unocss/webpack@0.60.4': resolution: {integrity: sha512-TcPuiAZZO+a+xiahrCm7eEHlP8o667n+CWv+kpz4bidY5V8Xyxs1MjzJAPVOk8Kwz86HvQZyf2CG+3powNTwKA==} @@ -3001,14 +3001,14 @@ packages: resolution: {integrity: sha512-A+6wL2AdQhDsLsDnY+2v4rRDI1HLJGIMc97a8FURO9tqKsH5QvjWrzsa5DH3NlZsM742W2wODl2fF+bfcTWtXw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.2.13 + vite: 5.3.0 vue: 3.4.27 '@vitejs/plugin-vue@5.0.4': resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.2.13 + vite: 5.3.0 vue: 3.4.27 '@vitest/coverage-v8@1.6.0': @@ -7217,7 +7217,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.60.4 - vite: 5.2.13 + vite: 5.3.0 peerDependenciesMeta: '@unocss/webpack': optional: true @@ -7229,7 +7229,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.61.0 - vite: 5.2.13 + vite: 5.3.0 peerDependenciesMeta: '@unocss/webpack': optional: true @@ -7365,7 +7365,7 @@ packages: vite-hot-client@0.2.3: resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: - vite: 5.2.13 + vite: 5.3.0 vite-node@1.6.0: resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} @@ -7381,7 +7381,7 @@ packages: optionator: ^0.9.1 stylelint: '>=13' typescript: '*' - vite: 5.2.13 + vite: 5.3.0 vls: '*' vti: '*' vue-tsc: '>=1.3.9' @@ -7408,7 +7408,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.2.13 + vite: 5.3.0 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -7416,10 +7416,10 @@ packages: vite-plugin-vue-inspector@5.1.0: resolution: {integrity: sha512-yIw9dvBz9nQW7DPfbJtUVW6JTnt67hqTPRnTwT2CZWMqDvISyQHRjgKl32nlMh1DRH+92533Sv6t59pWMLUCWA==} peerDependencies: - vite: 5.2.13 + vite: 5.3.0 - vite@5.2.13: - resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==} + vite@5.3.0: + resolution: {integrity: sha512-hA6vAVK977NyW1Qw+fLvqSo7xDPej7von7C3DwwqPRmnnnK36XEBC/J3j1V5lP8fbt7y0TgTKJbpNGSwM+Bdeg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -8730,26 +8730,26 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': + '@nuxt/devtools-kit@1.3.3(nuxt@packages+nuxt)(vite@5.3.0(@types/node@20.14.2)(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.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - '@nuxt/devtools-ui-kit@1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': + '@nuxt/devtools-ui-kit@1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@iconify-json/carbon': 1.1.35 '@iconify-json/logos': 1.1.43 '@iconify-json/ri': 1.1.20 '@iconify-json/tabler': 1.1.113 - '@nuxt/devtools': 1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) - '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/devtools': 1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@nuxt/kit': link:packages/kit '@nuxtjs/color-mode': 3.4.1 '@unocss/core': 0.60.4 - '@unocss/nuxt': 0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.92.0(esbuild@0.21.5)) + '@unocss/nuxt': 0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.92.0(esbuild@0.21.5)) '@unocss/preset-attributify': 0.60.4 '@unocss/preset-icons': 0.60.4 '@unocss/preset-mini': 0.60.4 @@ -8760,7 +8760,7 @@ snapshots: defu: 6.1.4 focus-trap: 7.5.4 splitpanes: 3.1.5 - unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) v-lazy-show: 0.2.4(@vue/compiler-core@3.4.27) transitivePeerDependencies: - '@unocss/webpack' @@ -8798,14 +8798,14 @@ snapshots: rc9: 2.1.2 semver: 7.6.2 - '@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.8 - '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@nuxt/devtools-wizard': 1.3.3 '@nuxt/kit': link:packages/kit - '@vue/devtools-applet': 7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) - '@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-applet': 7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-core': 7.1.3(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) birpc: 0.2.17 consola: 3.2.3 @@ -8835,9 +8835,9 @@ snapshots: simple-git: 3.24.0 sirv: 2.0.4 unimport: 3.7.2(rollup@4.18.0) - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - vite-plugin-inspect: 0.8.4(@nuxt/kit@packages+kit)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) - vite-plugin-vue-inspector: 5.1.0(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite-plugin-inspect: 0.8.4(@nuxt/kit@packages+kit)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + vite-plugin-vue-inspector: 5.1.0(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) which: 3.0.1 ws: 8.17.0 transitivePeerDependencies: @@ -8904,10 +8904,10 @@ snapshots: string-width: 4.2.3 webpack: 5.92.0 - '@nuxt/scripts@0.5.1(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': + '@nuxt/scripts@0.5.1(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(ioredis@5.3.2)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5))': dependencies: - '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) - '@nuxt/devtools-ui-kit': 1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) + '@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@nuxt/devtools-ui-kit': 1.3.3(@nuxt/devtools@1.3.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.18.0)(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)))(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(@vue/compiler-core@3.4.27)(nuxt@packages+nuxt)(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))(webpack@5.92.0(esbuild@0.21.5)) '@nuxt/kit': link:packages/kit '@types/google.maps': 3.55.9 '@types/stripe-v3': 3.1.33 @@ -8992,7 +8992,7 @@ snapshots: rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': + '@nuxt/test-utils@3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema @@ -9018,8 +9018,8 @@ snapshots: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) - vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) vue: 3.4.27(typescript@5.4.5) vue-router: 4.3.3(vue@3.4.27(typescript@5.4.5)) optionalDependencies: @@ -9727,23 +9727,23 @@ snapshots: unhead: 1.9.13 vue: 3.4.27(typescript@5.4.5) - '@unocss/astro@0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.60.4(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': dependencies: '@unocss/core': 0.60.4 '@unocss/reset': 0.60.4 - '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/astro@0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': + '@unocss/astro@0.61.0(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': dependencies: '@unocss/core': 0.61.0 '@unocss/reset': 0.61.0 - '@unocss/vite': 0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.61.0(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup @@ -9819,7 +9819,7 @@ snapshots: gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/nuxt@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.92.0(esbuild@0.21.5))': + '@unocss/nuxt@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(webpack@5.92.0(esbuild@0.21.5))': dependencies: '@nuxt/kit': link:packages/kit '@unocss/config': 0.60.4 @@ -9832,9 +9832,9 @@ snapshots: '@unocss/preset-web-fonts': 0.60.4 '@unocss/preset-wind': 0.60.4 '@unocss/reset': 0.60.4 - '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)) - unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) transitivePeerDependencies: - postcss - rollup @@ -10024,7 +10024,7 @@ snapshots: dependencies: '@unocss/core': 0.61.0 - '@unocss/vite@0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.60.4(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) @@ -10036,11 +10036,11 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup - '@unocss/vite@0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': + '@unocss/vite@0.61.0(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) @@ -10052,7 +10052,7 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - rollup @@ -10089,19 +10089,19 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@4.0.0(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vitejs/plugin-vue-jsx@4.0.0(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@babel/core': 7.24.7 '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.7) - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.0.4(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vitejs/plugin-vue@5.0.4(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vue: 3.4.27(typescript@5.4.5) '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))': @@ -10248,12 +10248,12 @@ snapshots: '@vue/devtools-api@6.6.3': {} - '@vue/devtools-applet@7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-applet@7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: - '@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-core': 7.1.3(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.1.3 - '@vue/devtools-ui': 7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) + '@vue/devtools-ui': 7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5)) lodash-es: 4.17.21 perfect-debounce: 1.0.0 shiki: 1.3.0 @@ -10278,14 +10278,14 @@ snapshots: - unocss - vite - '@vue/devtools-core@7.1.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-core@7.1.3(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': dependencies: '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5)) '@vue/devtools-shared': 7.1.3 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + vite-hot-client: 0.2.3(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) transitivePeerDependencies: - vite - vue @@ -10303,7 +10303,7 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': + '@vue/devtools-ui@7.1.3(@unocss/reset@0.61.0)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))': dependencies: '@unocss/reset': 0.61.0 '@vue/devtools-shared': 7.1.3 @@ -10313,7 +10313,7 @@ snapshots: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + unocss: 0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) vue: 3.4.27(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' @@ -15144,9 +15144,9 @@ snapshots: universalify@2.0.0: {} - unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): + unocss@0.60.4(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.60.4(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@unocss/cli': 0.60.4(rollup@4.18.0) '@unocss/core': 0.60.4 '@unocss/extractor-arbitrary-variants': 0.60.4 @@ -15165,18 +15165,18 @@ snapshots: '@unocss/transformer-compile-class': 0.60.4 '@unocss/transformer-directives': 0.60.4 '@unocss/transformer-variant-group': 0.60.4 - '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.60.4(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)) - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - postcss - rollup - supports-color - unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): + unocss@0.61.0(@unocss/webpack@0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)))(postcss@8.4.38)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): dependencies: - '@unocss/astro': 0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/astro': 0.61.0(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) '@unocss/cli': 0.61.0(rollup@4.18.0) '@unocss/core': 0.61.0 '@unocss/extractor-arbitrary-variants': 0.61.0 @@ -15195,10 +15195,10 @@ snapshots: '@unocss/transformer-compile-class': 0.61.0 '@unocss/transformer-directives': 0.61.0 '@unocss/transformer-variant-group': 0.61.0 - '@unocss/vite': 0.61.0(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) + '@unocss/vite': 0.61.0(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)) optionalDependencies: '@unocss/webpack': 0.60.4(rollup@4.18.0)(webpack@5.92.0(esbuild@0.21.5)) - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - postcss - rollup @@ -15336,9 +15336,9 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-hot-client@0.2.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): + vite-hot-client@0.2.3(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): dependencies: - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vite-node@1.6.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0): dependencies: @@ -15346,7 +15346,7 @@ snapshots: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -15357,7 +15357,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@9.4.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.21(typescript@5.4.5)): + vite-plugin-checker@0.6.4(eslint@9.4.0)(optionator@0.9.3)(typescript@5.4.5)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue-tsc@2.0.21(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 @@ -15370,7 +15370,7 @@ snapshots: semver: 7.6.2 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 @@ -15381,7 +15381,7 @@ snapshots: typescript: 5.4.5 vue-tsc: 2.0.21(typescript@5.4.5) - vite-plugin-inspect@0.8.4(@nuxt/kit@packages+kit)(rollup@4.18.0)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): + vite-plugin-inspect@0.8.4(@nuxt/kit@packages+kit)(rollup@4.18.0)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): dependencies: '@antfu/utils': 0.7.8 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) @@ -15392,14 +15392,14 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) optionalDependencies: '@nuxt/kit': link:packages/kit transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@5.1.0(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): + vite-plugin-vue-inspector@5.1.0(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)): dependencies: '@babel/core': 7.24.7 '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.7) @@ -15410,13 +15410,13 @@ snapshots: '@vue/compiler-dom': 3.4.27 kolorist: 1.8.0 magic-string: 0.30.10 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) transitivePeerDependencies: - supports-color - vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0): + vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0): dependencies: - esbuild: 0.20.2 + esbuild: 0.21.5 postcss: 8.4.38 rollup: 4.18.0 optionalDependencies: @@ -15425,9 +15425,9 @@ snapshots: sass: 1.69.4 terser: 5.27.0 - vitest-environment-nuxt@1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): + vitest-environment-nuxt@1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)): dependencies: - '@nuxt/test-utils': 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) + '@nuxt/test-utils': 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.12.0)(magicast@0.3.4)(nitropack@2.9.6(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.44.1)(vite@5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -15465,7 +15465,7 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.5.1 tinypool: 0.8.4 - vite: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) + vite: 5.3.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) vite-node: 1.6.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0) why-is-node-running: 2.2.2 optionalDependencies: From 95458af9a195dd663e299c4fdb2516e0e5c25e9e Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 13 Jun 2024 16:39:37 +0100 Subject: [PATCH 34/44] fix(nuxt): handle more edge cases with external/custom links (#27487) --- packages/nuxt/src/app/components/nuxt-link.ts | 86 +++++++++++-------- packages/nuxt/test/nuxt-link.test.ts | 19 +++- test/basic.test.ts | 18 ++++ .../basic/pages/nuxt-link/custom-external.vue | 53 ++++++++++++ 4 files changed, 135 insertions(+), 41 deletions(-) create mode 100644 test/fixtures/basic/pages/nuxt-link/custom-external.vue diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index 16116ebcfd..e4fa62d8a4 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -8,7 +8,7 @@ import type { } from 'vue' import { computed, defineComponent, h, inject, onBeforeUnmount, onMounted, provide, ref, resolveComponent } from 'vue' import type { RouteLocation, RouteLocationRaw, Router, RouterLink, RouterLinkProps, useLink } from '#vue-router' -import { hasProtocol, joinURL, parseQuery, withTrailingSlash, withoutTrailingSlash } from 'ufo' +import { hasProtocol, joinURL, parseQuery, withQuery, withTrailingSlash, withoutTrailingSlash } from 'ufo' import { preloadRouteComponents } from '../composables/preload' import { onNuxtReady } from '../composables/ready' import { navigateTo, useRouter } from '../composables/router' @@ -70,8 +70,8 @@ export interface NuxtLinkProps extends Omit { * @see https://nuxt.com/docs/api/components/nuxt-link */ export interface NuxtLinkOptions extends - Pick, - Pick { + Partial>, + Partial> { /** * The name of the component. * @default "NuxtLink" @@ -124,34 +124,17 @@ export function defineNuxtLink (options: NuxtLinkOptions) { const router = useRouter() const config = useRuntimeConfig() - // Resolving `to` value from `to` and `href` props - const to: ComputedRef = 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) - }) + const hasTarget = computed(() => !!props.target && props.target !== '_self') // 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 isAbsoluteUrl = computed(() => { + const path = props.to || props.href || '' + return typeof path === 'string' && hasProtocol(path, { acceptRelative: true }) + }) 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(() => { // External prop is explicitly set @@ -159,17 +142,40 @@ export function defineNuxtLink (options: NuxtLinkOptions) { return true } - // When `target` prop is set, link is external - if (hasTarget.value) { - return true - } + const path = props.to || props.href || '' // When `to` is a route object then it's an internal link - if (typeof to.value === 'object') { + if (typeof path === 'object') { return false } - return to.value === '' || isAbsoluteUrl.value + return path === '' || isAbsoluteUrl.value + }) + + // Resolving `to` value from `to` and `href` props + const to: ComputedRef = computed(() => { + checkPropConflicts(props, 'to', 'href') + const path = props.to || props.href || '' // Defaults to empty string (won't render any `href` attribute) + if (isExternal.value) { return path } + return resolveTrailingSlashBehavior(path, router.resolve) + }) + + const link = isExternal.value ? undefined : useBuiltinLink?.({ ...props, to }) + + // Resolves `to` value if it's a route location object + const href = computed(() => { + if (!to.value || isAbsoluteUrl.value) { return to.value as string } + + if (isExternal.value) { + const path = typeof to.value === 'object' ? resolveRouteObject(to.value) : to.value + return resolveTrailingSlashBehavior(path, router.resolve /* will not be called */) as string + } + + if (typeof to.value === 'object') { + return router.resolve(to.value)?.href ?? null + } + + return resolveTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), router.resolve /* will not be called */) }) return { @@ -183,10 +189,10 @@ export function defineNuxtLink (options: NuxtLinkOptions) { 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 }) + await navigateTo(href.value, { replace: props.replace, external: isExternal.value || hasTarget.value }) }, } satisfies ReturnType & { - to: ComputedRef + to: ComputedRef hasTarget: ComputedRef isAbsoluteUrl: ComputedRef isExternal: ComputedRef @@ -307,10 +313,12 @@ export function defineNuxtLink (options: NuxtLinkOptions) { unobserve?.() unobserve = null - const path = typeof to.value === 'string' ? to.value : router.resolve(to.value).fullPath + const path = typeof to.value === 'string' + ? to.value + : isExternal.value ? resolveRouteObject(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 && !hasTarget.value && preloadRouteComponents(to.value as string, router).catch(() => {}), ]) prefetched.value = true }) @@ -336,7 +344,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { } return () => { - if (!isExternal.value) { + if (!isExternal.value && !hasTarget.value) { const routerLinkProps: RouterLinkProps & VNodeProps & AllowedComponentProps & AnchorHTMLAttributes = { ref: elRef, to: to.value, @@ -408,7 +416,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { }, rel, target, - isExternal: isExternal.value, + isExternal: isExternal.value || hasTarget.value, isActive: false, isExactActive: false, }) @@ -487,3 +495,7 @@ function isSlowConnection () { if (cn && (cn.saveData || /2g/.test(cn.effectiveType))) { return true } return false } + +function resolveRouteObject (to: Exclude) { + return withQuery(to.path || '', to.query || {}) + (to.hash ? '#' + to.hash : '') +} diff --git a/packages/nuxt/test/nuxt-link.test.ts b/packages/nuxt/test/nuxt-link.test.ts index 1ee1490837..a712d0f267 100644 --- a/packages/nuxt/test/nuxt-link.test.ts +++ b/packages/nuxt/test/nuxt-link.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, vi } from 'vitest' -import type { RouteLocation, RouteLocationRaw } from 'vue-router' +import type { RouteLocation } from 'vue-router' import type { NuxtLinkOptions, NuxtLinkProps } from '../src/app/components/nuxt-link' import { defineNuxtLink } from '../src/app/components/nuxt-link' import { useRuntimeConfig } from '../src/app/nuxt' @@ -99,7 +99,11 @@ describe('nuxt-link:isExternal', () => { }) it('returns `false` when `to` is a route location object', () => { - expect(nuxtLink({ to: { to: '/to' } as RouteLocationRaw }).type).toBe(INTERNAL) + expect(nuxtLink({ to: { path: '/to' } }).type).toBe(INTERNAL) + }) + + it('returns `true` when `to` has a `target`', () => { + expect(nuxtLink({ to: { path: '/to' }, target: '_blank' }).type).toBe(EXTERNAL) }) it('honors `external` prop', () => { @@ -122,7 +126,12 @@ describe('nuxt-link:propsOrAttributes', () => { }) it('resolves route location object', () => { - expect(nuxtLink({ to: { to: '/to' } as RouteLocationRaw, external: true }).props.href).toBe('/to') + expect(nuxtLink({ to: { path: '/to' }, external: true }).props.href).toBe('/to') + }) + + it('applies trailing slash behaviour', () => { + expect(nuxtLink({ to: { path: '/to' }, external: true }, { trailingSlash: 'append' }).props.href).toBe('/to/') + expect(nuxtLink({ to: '/to', external: true }, { trailingSlash: 'append' }).props.href).toBe('/to/') }) }) @@ -167,6 +176,8 @@ describe('nuxt-link:propsOrAttributes', () => { }, () => { expect(nuxtLink({ to: 'http://nuxtjs.org/app/about', target: '_blank' }).props.href).toBe('http://nuxtjs.org/app/about') expect(nuxtLink({ to: '//nuxtjs.org/app/about', target: '_blank' }).props.href).toBe('//nuxtjs.org/app/about') + expect(nuxtLink({ to: { path: '/' }, external: true }).props.href).toBe('/') + expect(nuxtLink({ to: '/', external: true }).props.href).toBe('/') }) }) }) @@ -209,7 +220,7 @@ describe('nuxt-link:propsOrAttributes', () => { describe('to', () => { it('forwards `to` prop', () => { expect(nuxtLink({ to: '/to' }).props.to).toBe('/to') - expect(nuxtLink({ to: { to: '/to' } as RouteLocationRaw }).props.to).toEqual({ to: '/to' }) + expect(nuxtLink({ to: { path: '/to' } }).props.to).toEqual({ path: '/to' }) }) }) diff --git a/test/basic.test.ts b/test/basic.test.ts index 1e4db83c89..f86faf36d1 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -745,6 +745,24 @@ describe('nuxt links', () => { `) }) + it('respects external links in edge cases', async () => { + const html = await $fetch('/nuxt-link/custom-external') + const hrefs = html.match(/]*href="([^"]+)"/g) + expect(hrefs).toMatchInlineSnapshot(` + [ + " c.text.includes('No match found for location')) + expect(warnings).toMatchInlineSnapshot(`[]`) + await page.close() + }) + it('preserves route state', async () => { const { page } = await renderPage('/nuxt-link/trailing-slash') diff --git a/test/fixtures/basic/pages/nuxt-link/custom-external.vue b/test/fixtures/basic/pages/nuxt-link/custom-external.vue new file mode 100644 index 0000000000..4dff81fb0d --- /dev/null +++ b/test/fixtures/basic/pages/nuxt-link/custom-external.vue @@ -0,0 +1,53 @@ + + + From 220cc502a14f191445d62c4719120c7844c4c3f9 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 13 Jun 2024 17:59:24 +0100 Subject: [PATCH 35/44] fix(nuxt): preserve route metadata assigned outside page (#27587) --- packages/nuxt/src/pages/utils.ts | 121 +++++++------- .../pages-override-meta-enabled.test.ts.snap | 2 +- packages/nuxt/test/page-metadata.test.ts | 148 ++++++++++++++++++ test/basic.test.ts | 15 ++ test/fixtures/basic/nuxt.config.ts | 11 ++ test/fixtures/basic/pages/meta.vue | 36 +++++ 6 files changed, 274 insertions(+), 59 deletions(-) create mode 100644 packages/nuxt/test/page-metadata.test.ts create mode 100644 test/fixtures/basic/pages/meta.vue diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 63bb9cacf9..1e713075dd 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -9,6 +9,7 @@ import { filename } from 'pathe/utils' import { hash } from 'ohash' import { transform } from 'esbuild' import { parse } from 'acorn' +import { walk } from 'estree-walker' import type { CallExpression, ExpressionStatement, ObjectExpression, Program, Property } from 'estree' import type { NuxtPage } from 'nuxt/schema' @@ -173,7 +174,7 @@ const DYNAMIC_META_KEY = '__nuxt_dynamic_meta_key' as const const pageContentsCache: Record = {} const metaCache: Record>> = {} -async function getRouteMeta (contents: string, absolutePath: string): Promise>> { +export async function getRouteMeta (contents: string, absolutePath: string): Promise>> { // set/update pageContentsCache, invalidate metaCache on cache mismatch if (!(absolutePath in pageContentsCache) || pageContentsCache[absolutePath] !== contents) { pageContentsCache[absolutePath] = contents @@ -199,70 +200,77 @@ async function getRouteMeta (contents: string, absolutePath: string): Promise node.type === 'ExpressionStatement' && node.expression.type === 'CallExpression' && node.expression.callee.type === 'Identifier' && node.expression.callee.name === 'definePageMeta') - if (!pageMetaAST) { - metaCache[absolutePath] = {} - return {} - } - const pageMetaArgument = ((pageMetaAST as ExpressionStatement).expression as CallExpression).arguments[0] as ObjectExpression const extractedMeta = {} as Partial> const extractionKeys = ['name', 'path', 'alias', 'redirect'] as const const dynamicProperties = new Set() - for (const key of extractionKeys) { - const property = pageMetaArgument.properties.find(property => property.type === 'Property' && property.key.type === 'Identifier' && property.key.name === key) as Property - if (!property) { continue } + let foundMeta = false - if (property.value.type === 'ObjectExpression') { - const valueString = js.code.slice(property.value.range![0], property.value.range![1]) - try { - extractedMeta[key] = JSON.parse(runInNewContext(`JSON.stringify(${valueString})`, {})) - } catch { - console.debug(`[nuxt] Skipping extraction of \`${key}\` metadata as it is not JSON-serializable (reading \`${absolutePath}\`).`) - dynamicProperties.add(key) - continue - } - } + walk(ast, { + enter (node) { + if (foundMeta) { return } - if (property.value.type === 'ArrayExpression') { - const values = [] - for (const element of property.value.elements) { - if (!element) { + if (node.type !== 'ExpressionStatement' || node.expression.type !== 'CallExpression' || node.expression.callee.type !== 'Identifier' || node.expression.callee.name !== 'definePageMeta') { return } + + foundMeta = true + const pageMetaArgument = ((node as ExpressionStatement).expression as CallExpression).arguments[0] as ObjectExpression + + for (const key of extractionKeys) { + const property = pageMetaArgument.properties.find(property => property.type === 'Property' && property.key.type === 'Identifier' && property.key.name === key) as Property + if (!property) { continue } + + if (property.value.type === 'ObjectExpression') { + const valueString = js.code.slice(property.value.range![0], property.value.range![1]) + try { + extractedMeta[key] = JSON.parse(runInNewContext(`JSON.stringify(${valueString})`, {})) + } catch { + console.debug(`[nuxt] Skipping extraction of \`${key}\` metadata as it is not JSON-serializable (reading \`${absolutePath}\`).`) + dynamicProperties.add(key) + continue + } + } + + if (property.value.type === 'ArrayExpression') { + const values = [] + for (const element of property.value.elements) { + if (!element) { + continue + } + if (element.type !== 'Literal' || typeof element.value !== 'string') { + console.debug(`[nuxt] Skipping extraction of \`${key}\` metadata as it is not an array of string literals (reading \`${absolutePath}\`).`) + dynamicProperties.add(key) + continue + } + values.push(element.value) + } + extractedMeta[key] = values continue } - if (element.type !== 'Literal' || typeof element.value !== 'string') { - console.debug(`[nuxt] Skipping extraction of \`${key}\` metadata as it is not an array of string literals (reading \`${absolutePath}\`).`) + + if (property.value.type !== 'Literal' || typeof property.value.value !== 'string') { + console.debug(`[nuxt] Skipping extraction of \`${key}\` metadata as it is not a string literal or array of string literals (reading \`${absolutePath}\`).`) dynamicProperties.add(key) continue } - values.push(element.value) + extractedMeta[key] = property.value.value } - extractedMeta[key] = values - continue - } - if (property.value.type !== 'Literal' || typeof property.value.value !== 'string') { - console.debug(`[nuxt] Skipping extraction of \`${key}\` metadata as it is not a string literal or array of string literals (reading \`${absolutePath}\`).`) - dynamicProperties.add(key) - continue - } - extractedMeta[key] = property.value.value - } + const extraneousMetaKeys = pageMetaArgument.properties + .filter(property => property.type === 'Property' && property.key.type === 'Identifier' && !(extractionKeys as unknown as string[]).includes(property.key.name)) + // @ts-expect-error inferred types have been filtered out + .map(property => property.key.name) - const extraneousMetaKeys = pageMetaArgument.properties - .filter(property => property.type === 'Property' && property.key.type === 'Identifier' && !(extractionKeys as unknown as string[]).includes(property.key.name)) - // @ts-expect-error inferred types have been filtered out - .map(property => property.key.name) + if (extraneousMetaKeys.length) { + dynamicProperties.add('meta') + } - if (extraneousMetaKeys.length) { - dynamicProperties.add('meta') - } - - if (dynamicProperties.size) { - extractedMeta.meta ??= {} - extractedMeta.meta[DYNAMIC_META_KEY] = dynamicProperties - } + if (dynamicProperties.size) { + extractedMeta.meta ??= {} + extractedMeta.meta[DYNAMIC_META_KEY] = dynamicProperties + } + }, + }) metaCache[absolutePath] = extractedMeta return extractedMeta @@ -505,19 +513,20 @@ async function createClientPage(loader) { }`) } - if (route.children != null) { + if (route.children) { metaRoute.children = route.children } - if (overrideMeta) { - metaRoute.name = `${metaImportName}?.name` - metaRoute.path = `${metaImportName}?.path ?? ''` + if (route.meta) { + metaRoute.meta = `{ ...(${metaImportName} || {}), ...${route.meta} }` + } + if (overrideMeta) { // 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 } - metaRoute[key] = route[key] ?? metaRoute[key] + metaRoute[key] = route[key] ?? `${metaImportName}?.${key}` } // set to extracted value or delete if none extracted @@ -532,10 +541,6 @@ async function createClientPage(loader) { metaRoute[key] = route[key] } } else { - if (route.meta != null) { - metaRoute.meta = `{ ...(${metaImportName} || {}), ...${route.meta} }` - } - if (route.alias != null) { metaRoute.alias = `${route.alias}.concat(${metaImportName}?.alias || [])` } diff --git a/packages/nuxt/test/__snapshots__/pages-override-meta-enabled.test.ts.snap b/packages/nuxt/test/__snapshots__/pages-override-meta-enabled.test.ts.snap index 88989345d1..9fb308e7c1 100644 --- a/packages/nuxt/test/__snapshots__/pages-override-meta-enabled.test.ts.snap +++ b/packages/nuxt/test/__snapshots__/pages-override-meta-enabled.test.ts.snap @@ -303,7 +303,7 @@ "alias": "mockMeta?.alias || []", "component": "() => import("pages/index.vue").then(m => m.default || m)", "meta": "mockMeta || {}", - "name": "mockMeta?.name", + "name": "mockMeta?.name ?? "index"", "path": ""/"", "redirect": "mockMeta?.redirect", }, diff --git a/packages/nuxt/test/page-metadata.test.ts b/packages/nuxt/test/page-metadata.test.ts new file mode 100644 index 0000000000..4431b80f2f --- /dev/null +++ b/packages/nuxt/test/page-metadata.test.ts @@ -0,0 +1,148 @@ +import { describe, expect, it } from 'vitest' +import { getRouteMeta, normalizeRoutes } from '../src/pages/utils' +import type { NuxtPage } from '../schema' + +const filePath = '/app/pages/index.vue' + +describe('page metadata', () => { + it('should not extract metadata from empty files', async () => { + expect(await getRouteMeta('', filePath)).toEqual({}) + expect(await getRouteMeta('', filePath)).toEqual({}) + }) + + it('should use and invalidate cache', async () => { + const fileContents = `` + const meta = await getRouteMeta(fileContents, filePath) + expect(meta === await getRouteMeta(fileContents, filePath)).toBeTruthy() + expect(meta === await getRouteMeta(fileContents, '/app/pages/other.vue')).toBeFalsy() + expect(meta === await getRouteMeta('' + fileContents, filePath)).toBeFalsy() + }) + + it('should extract serialisable metadata', async () => { + const meta = await getRouteMeta(` + + `, filePath) + + expect(meta).toMatchInlineSnapshot(` + { + "meta": { + "__nuxt_dynamic_meta_key": Set { + "meta", + }, + }, + "name": "some-custom-name", + "path": "/some-custom-path", + } + `) + }) + + it('should extract serialisable metadata in options api', async () => { + const meta = await getRouteMeta(` + + `, filePath) + + expect(meta).toMatchInlineSnapshot(` + { + "meta": { + "__nuxt_dynamic_meta_key": Set { + "meta", + }, + }, + "name": "some-custom-name", + "path": "/some-custom-path", + } + `) + }) +}) + +describe('normalizeRoutes', () => { + it('should produce valid route objects when used with extracted meta', async () => { + const page: NuxtPage = { path: '/', file: filePath } + Object.assign(page, await getRouteMeta(` + + `, filePath)) + + page.meta ||= {} + page.meta.layout = 'test' + page.meta.foo = 'bar' + + const { routes, imports } = normalizeRoutes([page], new Set(), true) + expect({ routes, imports }).toMatchInlineSnapshot(` + { + "imports": Set { + "import { default as indexN6pT4Un8hYMeta } from "/app/pages/index.vue?macro=true";", + }, + "routes": "[ + { + name: "some-custom-name", + path: indexN6pT4Un8hYMeta?.path ?? "/", + meta: { ...(indexN6pT4Un8hYMeta || {}), ...{"layout":"test","foo":"bar"} }, + redirect: "/", + component: () => import("/app/pages/index.vue").then(m => m.default || m) + } + ]", + } + `) + }) + + it('should produce valid route objects when used without extracted meta', () => { + const page: NuxtPage = { path: '/', file: filePath } + page.meta ||= {} + page.meta.layout = 'test' + page.meta.foo = 'bar' + + const { routes, imports } = normalizeRoutes([page], new Set()) + expect({ routes, imports }).toMatchInlineSnapshot(` + { + "imports": Set { + "import { default as indexN6pT4Un8hYMeta } from "/app/pages/index.vue?macro=true";", + }, + "routes": "[ + { + name: indexN6pT4Un8hYMeta?.name ?? undefined, + path: indexN6pT4Un8hYMeta?.path ?? "/", + meta: { ...(indexN6pT4Un8hYMeta || {}), ...{"layout":"test","foo":"bar"} }, + alias: indexN6pT4Un8hYMeta?.alias || [], + redirect: indexN6pT4Un8hYMeta?.redirect, + component: () => import("/app/pages/index.vue").then(m => m.default || m) + } + ]", + } + `) + }) +}) diff --git a/test/basic.test.ts b/test/basic.test.ts index f86faf36d1..864e48726e 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -166,6 +166,21 @@ describe('pages', () => { expect(res.headers.get('x-extend')).toEqual('added in pages:extend') }) + it('preserves page metadata added in pages:extend hook', async () => { + const html = await $fetch('/some-custom-path') + expect (html.match(/
([^<]*)<\/pre>/)?.[1]?.trim().replace(/"/g, '"').replace(/>/g, '>')).toMatchInlineSnapshot(`
+      "{
+        "name": "some-custom-name",
+        "path": "/some-custom-path",
+        "validate": "() => true",
+        "middleware": [
+          "() => true"
+        ],
+        "otherValue": "{\\"foo\\":\\"bar\\"}"
+      }"
+    `)
+  })
+
   it('validates routes', async () => {
     const { status, headers } = await fetch('/forbidden')
     expect(status).toEqual(404)
diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts
index d312d55944..08f427b2a6 100644
--- a/test/fixtures/basic/nuxt.config.ts
+++ b/test/fixtures/basic/nuxt.config.ts
@@ -151,6 +151,17 @@ export default defineNuxtConfig({
         internalParent!.children = newPages
       })
     },
+    function (_options, nuxt) {
+      // to check that page metadata is preserved
+      nuxt.hook('pages:extend', (pages) => {
+        const customName = pages.find(page => page.name === 'some-custom-name')
+        if (!customName) { throw new Error('Page with custom name not found') }
+        if (customName.path !== '/some-custom-path') { throw new Error('Page path not extracted') }
+
+        customName.meta ||= {}
+        customName.meta.someProp = true
+      })
+    },
     // To test falsy module values
     undefined,
   ],
diff --git a/test/fixtures/basic/pages/meta.vue b/test/fixtures/basic/pages/meta.vue
new file mode 100644
index 0000000000..7983bde1ee
--- /dev/null
+++ b/test/fixtures/basic/pages/meta.vue
@@ -0,0 +1,36 @@
+
+
+

From fbf88f7b101c59bc4a10e28aafa6b79847e4b6e1 Mon Sep 17 00:00:00 2001
From: Daniel Roe 
Date: Thu, 13 Jun 2024 18:51:44 +0100
Subject: [PATCH 36/44] fix(nuxt): use portal to sync nitro/nuxt runtimeConfig
 + routeRules (#27596)

---
 packages/nuxt/src/core/nuxt.ts     | 48 ++++++++++++++++++++++++++++--
 test/fixtures/basic/nuxt.config.ts | 10 ++++++-
 2 files changed, 54 insertions(+), 4 deletions(-)

diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts
index 6d4d62524e..20d59295dc 100644
--- a/packages/nuxt/src/core/nuxt.ts
+++ b/packages/nuxt/src/core/nuxt.ts
@@ -4,7 +4,7 @@ import ignore from 'ignore'
 import type { LoadNuxtOptions } 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, NuxtModule, NuxtOptions, RuntimeConfig } from 'nuxt/schema'
+import type { Nuxt, NuxtHooks, NuxtModule, NuxtOptions } from 'nuxt/schema'
 import type { PackageJson } from 'pkg-types'
 import { readPackageJSON, resolvePackageJSON } from 'pkg-types'
 import { hash } from 'ohash'
@@ -645,8 +645,22 @@ export async function loadNuxt (opts: LoadNuxtOptions): Promise {
     options._modules.push('@nuxt/telemetry')
   }
 
-  // Ensure we share runtime config between Nuxt and Nitro
-  options.runtimeConfig = options.nitro.runtimeConfig as RuntimeConfig
+  // Ensure we share key config between Nuxt and Nitro
+  createPortalProperties(options.nitro.runtimeConfig, options, ['nitro.runtimeConfig', 'runtimeConfig'])
+  createPortalProperties(options.nitro.routeRules, options, ['nitro.routeRules', 'routeRules'])
+
+  // prevent replacement of options.nitro
+  const nitroOptions = options.nitro
+  Object.defineProperties(options, {
+    nitro: {
+      configurable: false,
+      enumerable: true,
+      get: () => nitroOptions,
+      set (value) {
+        Object.assign(nitroOptions, value)
+      },
+    },
+  })
 
   const nuxt = createNuxt(options)
 
@@ -695,3 +709,31 @@ function deduplicateArray (maybeArray: T): T {
   }
   return fresh as T
 }
+
+function createPortalProperties (sourceValue: any, options: NuxtOptions, paths: string[]) {
+  let sharedValue = sourceValue
+
+  for (const path of paths) {
+    const segments = path.split('.')
+    const key = segments.pop()!
+    let parent: Record = options
+
+    while (segments.length) {
+      const key = segments.shift()!
+      parent = parent[key] || (parent[key] = {})
+    }
+
+    delete parent[key]
+
+    Object.defineProperties(parent, {
+      [key]: {
+        configurable: false,
+        enumerable: true,
+        get: () => sharedValue,
+        set (value) {
+          sharedValue = value
+        },
+      },
+    })
+  }
+}
diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts
index 08f427b2a6..320f957777 100644
--- a/test/fixtures/basic/nuxt.config.ts
+++ b/test/fixtures/basic/nuxt.config.ts
@@ -1,5 +1,6 @@
 import { addBuildPlugin, addComponent } from 'nuxt/kit'
 import type { NuxtPage } from 'nuxt/schema'
+import { defu } from 'defu'
 import { createUnplugin } from 'unplugin'
 import { withoutLeadingSlash } from 'ufo'
 
@@ -88,10 +89,17 @@ export default defineNuxtConfig({
   runtimeConfig: {
     public: {
       needsFallback: undefined,
-      testConfig: 123,
     },
   },
   modules: [
+    function (_options, nuxt) {
+      // ensure setting `runtimeConfig` also sets `nitro.runtimeConfig`
+      nuxt.options.runtimeConfig = defu(nuxt.options.runtimeConfig, {
+        public: {
+          testConfig: 123,
+        },
+      })
+    },
     function (_options, nuxt) {
       nuxt.hook('modules:done', () => {
         // @ts-expect-error not valid nuxt option

From 2c5102557ab0b0b815c42935c81d25443093bbc7 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 13 Jun 2024 19:33:15 +0100
Subject: [PATCH 37/44] chore(deps): update github/codeql-action action to
 v3.25.10 (main) (#27590)

---
 .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 2a1e733ab1..1c4c56cfc2 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@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9
+        uses: github/codeql-action/init@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10
         with:
           languages: javascript
           queries: +security-and-quality
@@ -95,7 +95,7 @@ jobs:
           path: packages
 
       - name: Perform CodeQL Analysis
-        uses: github/codeql-action/analyze@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9
+        uses: github/codeql-action/analyze@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10
         with:
           category: "/language:javascript"
 
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 9e97020891..fb0b7dc233 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -68,7 +68,7 @@ jobs:
 
       # Upload the results to GitHub's code scanning dashboard.
       - name: "Upload to code-scanning"
-        uses: github/codeql-action/upload-sarif@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9
+        uses: github/codeql-action/upload-sarif@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10
         if: github.repository == 'nuxt/nuxt' && success()
         with:
           sarif_file: results.sarif

From e4bfea642878ae742b1747e3e0d5142470000c39 Mon Sep 17 00:00:00 2001
From: Daniel Roe 
Date: Thu, 13 Jun 2024 21:00:11 +0100
Subject: [PATCH 38/44] fix(nuxt,schema): add types for `_installedModules`

---
 packages/kit/src/template.ts           | 2 +-
 packages/nuxt/src/core/nitro.ts        | 2 +-
 packages/schema/src/config/internal.ts | 5 ++++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts
index 194434f69f..1816ccf536 100644
--- a/packages/kit/src/template.ts
+++ b/packages/kit/src/template.ts
@@ -120,7 +120,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 isV4 = nuxt.options.future?.compatibilityVersion === 4
diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts
index 84d6aec7dd..4c96a48666 100644
--- a/packages/nuxt/src/core/nitro.ts
+++ b/packages/nuxt/src/core/nitro.ts
@@ -43,7 +43,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(nuxt.options.nitro, {
diff --git a/packages/schema/src/config/internal.ts b/packages/schema/src/config/internal.ts
index 5f6545c469..346beff214 100644
--- a/packages/schema/src/config/internal.ts
+++ b/packages/schema/src/config/internal.ts
@@ -23,7 +23,10 @@ export default defineUntypedSchema({
   _nuxtConfigFiles: [],
   /** @private */
   appDir: '',
-  /** @private */
+  /**
+   * @private
+   * @type {Array<{ meta: ModuleMeta; timings?: Record; entryPath?: string }>}
+   */
   _installedModules: [],
   /** @private */
   _modules: [],

From d929cd4ef6bf10a12194ed9b2d2a6204e7c8e1be Mon Sep 17 00:00:00 2001
From: Michael Brevard 
Date: Thu, 13 Jun 2024 21:56:26 +0100
Subject: [PATCH 39/44] perf(webpack): decrease assets map iterations

---
 packages/webpack/src/plugins/vue/client.ts | 25 +++++++++-------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/packages/webpack/src/plugins/vue/client.ts b/packages/webpack/src/plugins/vue/client.ts
index 14c0c184e3..10127fcace 100644
--- a/packages/webpack/src/plugins/vue/client.ts
+++ b/packages/webpack/src/plugins/vue/client.ts
@@ -43,24 +43,19 @@ export default class VueSSRClientPlugin {
 
       const allFiles = new Set()
       const asyncFiles = new Set()
-
-      for (const asset of stats.assets!) {
-        const file = asset.name
-        if (!isHotUpdate(file)) {
-          allFiles.add(file)
-          if (initialFiles.has(file)) { continue }
-          if (isJS(file) || isCSS(file)) {
-            asyncFiles.add(file)
-          }
-        }
-      }
-
       const assetsMapping: Record = {}
-      for (const { name, chunkNames = [] } of stats.assets!) {
-        if (isJS(name) && !isHotUpdate(name)) {
+
+      for (const { name: file, chunkNames = [] } of stats.assets!) {
+        if (isHotUpdate(file)) { continue }
+        allFiles.add(file)
+        const isFileJS = isJS(file)
+        if (!initialFiles.has(file) && (isFileJS || isCSS(file))) {
+          asyncFiles.add(file)
+        }
+        if (isFileJS) {
           const componentHash = hash(chunkNames.join('|'))
           const map = assetsMapping[componentHash] ||= []
-          map.push(name)
+          map.push(file)
         }
       }
 

From 7dfc85623bb145b91b2152482604be3cd33e9b2a Mon Sep 17 00:00:00 2001
From: Daniel Roe 
Date: Thu, 13 Jun 2024 22:52:57 +0100
Subject: [PATCH 40/44] perf(kit): various performance improvements (#27600)

Co-authored-by: Michael Brevard 
---
 packages/kit/src/internal/cjs.ts         |  4 +-
 packages/kit/src/internal/template.ts    |  5 +-
 packages/kit/src/loader/config.ts        |  7 +-
 packages/kit/src/module/compatibility.ts |  9 +--
 packages/kit/src/pages.ts                |  5 +-
 packages/kit/src/resolve.ts              | 14 +++-
 packages/kit/src/template.ts             | 97 +++++++++++++++---------
 packages/kit/test/generate-types.spec.ts |  2 +-
 8 files changed, 92 insertions(+), 51 deletions(-)

diff --git a/packages/kit/src/internal/cjs.ts b/packages/kit/src/internal/cjs.ts
index 7e30acfec7..b2c01e8c69 100644
--- a/packages/kit/src/internal/cjs.ts
+++ b/packages/kit/src/internal/cjs.ts
@@ -61,7 +61,7 @@ function getRequireCacheItem (id: string) {
   }
 }
 
-export function getModulePaths (paths?: string[] | string) {
+export function getNodeModulesPaths (paths?: string[] | string) {
   return ([] as Array).concat(
     global.__NUXT_PREPATHS__,
     paths || [],
@@ -73,7 +73,7 @@ export function getModulePaths (paths?: string[] | string) {
 /** @deprecated Do not use CJS utils */
 export function resolveModule (id: string, opts: ResolveModuleOptions = {}) {
   return normalize(_require.resolve(id, {
-    paths: getModulePaths(opts.paths),
+    paths: getNodeModulesPaths(opts.paths),
   }))
 }
 
diff --git a/packages/kit/src/internal/template.ts b/packages/kit/src/internal/template.ts
index 5b40a2a214..343393e5ec 100644
--- a/packages/kit/src/internal/template.ts
+++ b/packages/kit/src/internal/template.ts
@@ -32,10 +32,11 @@ const serialize = (data: any) => JSON.stringify(data, null, 2).replace(/"\{(.+)\
 /** @deprecated */
 const importSources = (sources: string | string[], { lazy = false } = {}) => {
   return toArray(sources).map((src) => {
+    const safeVariableName = genSafeVariableName(src)
     if (lazy) {
-      return `const ${genSafeVariableName(src)} = ${genDynamicImport(src, { comment: `webpackChunkName: ${JSON.stringify(src)}` })}`
+      return `const ${safeVariableName} = ${genDynamicImport(src, { comment: `webpackChunkName: ${JSON.stringify(src)}` })}`
     }
-    return genImport(src, genSafeVariableName(src))
+    return genImport(src, safeVariableName)
   }).join('\n')
 }
 
diff --git a/packages/kit/src/loader/config.ts b/packages/kit/src/loader/config.ts
index b2c4d1b883..8e2c1354a9 100644
--- a/packages/kit/src/loader/config.ts
+++ b/packages/kit/src/loader/config.ts
@@ -12,7 +12,12 @@ export interface LoadNuxtConfigOptions extends Omit layerSchemaKeys.includes(key)))
+const layerSchema = Object.create(null)
+for (const key of layerSchemaKeys) {
+  if (key in NuxtConfigSchema) {
+    layerSchema[key] = NuxtConfigSchema[key]
+  }
+}
 
 export async function loadNuxtConfig (opts: LoadNuxtConfigOptions): Promise {
   // Automatically detect and import layers from `~~/layers/` directory
diff --git a/packages/kit/src/module/compatibility.ts b/packages/kit/src/module/compatibility.ts
index 446e7e3fce..5bccbf8654 100644
--- a/packages/kit/src/module/compatibility.ts
+++ b/packages/kit/src/module/compatibility.ts
@@ -51,11 +51,10 @@ export async function getNuxtModuleVersion (module: string | NuxtModule, nuxt: N
   // need a name from here
   if (!moduleMeta.name) { return false }
   // maybe the version got attached within the installed module instance?
-  const version = nuxt.options._installedModules
-    // @ts-expect-error _installedModules is not typed
-    .filter(m => m.meta.name === moduleMeta.name).map(m => m.meta.version)?.[0]
-  if (version) {
-    return version
+  for (const m of nuxt.options._installedModules) {
+    if (m.meta.name === moduleMeta.name && m.meta.version) {
+      return m.meta.version
+    }
   }
   // it's possible that the module will be installed, it just hasn't been done yet, preemptively load the instance
   if (hasNuxtModule(moduleMeta.name)) {
diff --git a/packages/kit/src/pages.ts b/packages/kit/src/pages.ts
index a5f7fc1d3e..04c7592a55 100644
--- a/packages/kit/src/pages.ts
+++ b/packages/kit/src/pages.ts
@@ -51,11 +51,12 @@ 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 }
+        const foundPath = app.middleware[find].path
+        if (foundPath === middleware.path) { continue }
         if (options.override === true) {
           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.`)
+          logger.warn(`'${middleware.name}' middleware already exists at '${foundPath}'. You can set \`override: true\` to replace it.`)
         }
       } else {
         app.middleware.push({ ...middleware })
diff --git a/packages/kit/src/resolve.ts b/packages/kit/src/resolve.ts
index 392dec86d8..b170210efe 100644
--- a/packages/kit/src/resolve.ts
+++ b/packages/kit/src/resolve.ts
@@ -168,8 +168,8 @@ export function createResolver (base: string | URL): Resolver {
   }
 }
 
-export async function resolveNuxtModule (base: string, paths: string[]) {
-  const resolved = []
+export async function resolveNuxtModule (base: string, paths: string[]): Promise {
+  const resolved: string[] = []
   const resolver = createResolver(base)
 
   for (const path of paths) {
@@ -209,6 +209,12 @@ function existsInVFS (path: string, nuxt = tryUseNuxt()) {
 }
 
 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()
+  const files: string[] = []
+  for (const file of await globby(pattern, { cwd: path, followSymbolicLinks: opts.followSymbolicLinks ?? true })) {
+    const p = resolve(path, file)
+    if (!isIgnored(p)) {
+      files.push(p)
+    }
+  }
+  return files.sort()
 }
diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts
index 1816ccf536..8e729c2f20 100644
--- a/packages/kit/src/template.ts
+++ b/packages/kit/src/template.ts
@@ -11,7 +11,7 @@ import { readPackageJSON } from 'pkg-types'
 import { tryResolveModule } from './internal/esm'
 import { getDirectory } from './module/install'
 import { tryUseNuxt, useNuxt } from './context'
-import { getModulePaths } from './internal/cjs'
+import { getNodeModulesPaths } from './internal/cjs'
 import { resolveNuxtModule } from './resolve'
 
 /**
@@ -113,18 +113,55 @@ export async function updateTemplates (options?: { filter?: (template: ResolvedN
 }
 
 export async function _generateTypes (nuxt: Nuxt) {
-  const nodeModulePaths = getModulePaths(nuxt.options.modulesDir)
-
   const rootDirWithSlash = withTrailingSlash(nuxt.options.rootDir)
+  const relativeRootDir = relativeWithDot(nuxt.options.buildDir, nuxt.options.rootDir)
 
-  const modulePaths = await resolveNuxtModule(rootDirWithSlash,
-    nuxt.options._installedModules
-      .filter(m => m.entryPath)
-      .map(m => getDirectory(m.entryPath!)),
-  )
+  const include = new Set([
+    './nuxt.d.ts',
+    join(relativeRootDir, '.config/nuxt.*'),
+    join(relativeRootDir, '**/*'),
+  ])
+
+  if (nuxt.options.srcDir !== nuxt.options.rootDir) {
+    include.add(join(relative(nuxt.options.buildDir, nuxt.options.srcDir), '**/*'))
+  }
+
+  if (nuxt.options.typescript.includeWorkspace && nuxt.options.workspaceDir !== nuxt.options.rootDir) {
+    include.add(join(relative(nuxt.options.buildDir, nuxt.options.workspaceDir), '**/*'))
+  }
+
+  for (const layer of nuxt.options._layers) {
+    const srcOrCwd = layer.config.srcDir ?? layer.cwd
+    if (!srcOrCwd.startsWith(rootDirWithSlash) || srcOrCwd.includes('node_modules')) {
+      include.add(join(relative(nuxt.options.buildDir, srcOrCwd), '**/*'))
+    }
+  }
+
+  const exclude = new Set([
+    // 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')),
+  ])
+
+  for (const dir of nuxt.options.modulesDir) {
+    exclude.add(relativeWithDot(nuxt.options.buildDir, dir))
+  }
+
+  const moduleEntryPaths: string[] = []
+  for (const m of nuxt.options._installedModules) {
+    if (m.entryPath) {
+      moduleEntryPaths.push(getDirectory(m.entryPath))
+    }
+  }
+
+  const modulePaths = await resolveNuxtModule(rootDirWithSlash, moduleEntryPaths)
+
+  for (const path of modulePaths) {
+    const relative = relativeWithDot(nuxt.options.buildDir, path)
+    include.add(join(relative, 'runtime'))
+    exclude.add(join(relative, 'runtime/server'))
+  }
 
   const isV4 = nuxt.options.future?.compatibilityVersion === 4
-
   const hasTypescriptVersionWithModulePreserve = await readPackageJSON('typescript', { url: nuxt.options.modulesDir })
     .then(r => r?.version && gte(r.version, '5.4.0'))
     .catch(() => isV4)
@@ -168,23 +205,8 @@ export async function _generateTypes (nuxt: Nuxt) {
       noImplicitThis: true, /* enabled with `strict` */
       allowSyntheticDefaultImports: true,
     },
-    include: [
-      './nuxt.d.ts',
-      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)
-        .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')),
-    ],
-    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')),
-    ],
+    include: [...include],
+    exclude: [...exclude],
   } satisfies TSConfig)
 
   const aliases: Record = {
@@ -195,7 +217,9 @@ export async function _generateTypes (nuxt: Nuxt) {
   // Exclude bridge alias types to support Volar
   const excludedAlias = [/^@vue\/.*$/]
 
-  const basePath = tsConfig.compilerOptions!.baseUrl ? resolve(nuxt.options.buildDir, tsConfig.compilerOptions!.baseUrl) : nuxt.options.buildDir
+  const basePath = tsConfig.compilerOptions!.baseUrl
+    ? resolve(nuxt.options.buildDir, tsConfig.compilerOptions!.baseUrl)
+    : nuxt.options.buildDir
 
   tsConfig.compilerOptions = tsConfig.compilerOptions || {}
   tsConfig.include = tsConfig.include || []
@@ -237,12 +261,13 @@ export async function _generateTypes (nuxt: Nuxt) {
     }
   }
 
-  const references: TSReference[] = await Promise.all([
-    ...nuxt.options.modules,
-    ...nuxt.options._modules,
-  ]
-    .filter(f => typeof f === 'string')
-    .map(async id => ({ types: (await readPackageJSON(id, { url: nodeModulePaths }).catch(() => null))?.name || id })))
+  const references: TSReference[] = []
+  await Promise.all([...nuxt.options.modules, ...nuxt.options._modules].map(async (id) => {
+    if (typeof id !== 'string') { return }
+
+    const pkg = await readPackageJSON(id, { url: getNodeModulesPaths(nuxt.options.modulesDir) }).catch(() => null)
+    references.push(({ types: pkg?.name || id }))
+  }))
 
   const declarations: string[] = []
 
@@ -302,7 +327,11 @@ export async function writeTypes (nuxt: Nuxt) {
 }
 
 function renderAttrs (obj: Record) {
-  return Object.entries(obj).map(e => renderAttr(e[0], e[1])).join(' ')
+  const attrs: string[] = []
+  for (const key in obj) {
+    attrs.push(renderAttr(key, obj[key]))
+  }
+  return attrs.join(' ')
 }
 
 function renderAttr (key: string, value: string) {
diff --git a/packages/kit/test/generate-types.spec.ts b/packages/kit/test/generate-types.spec.ts
index 7ac10ba8d1..b5bcc9a6bb 100644
--- a/packages/kit/test/generate-types.spec.ts
+++ b/packages/kit/test/generate-types.spec.ts
@@ -53,12 +53,12 @@ describe('tsConfig generation', () => {
     }))
     expect(tsConfig.exclude).toMatchInlineSnapshot(`
       [
+        "../dist",
         "../modules/test/node_modules",
         "../modules/node_modules",
         "../node_modules/@some/module/node_modules",
         "../node_modules",
         "../../node_modules",
-        "../dist",
       ]
     `)
   })

From 02945b9fa6d7323f63137e89422007bb5ebd7e4f Mon Sep 17 00:00:00 2001
From: Daniel Roe 
Date: Thu, 13 Jun 2024 22:47:24 +0100
Subject: [PATCH 41/44] chore: add extra types for empty array definitions

---
 packages/nuxt/src/app/components/nuxt-island.ts  | 6 +++---
 packages/nuxt/src/app/components/utils.ts        | 2 +-
 packages/nuxt/src/core/nuxt.ts                   | 2 +-
 packages/nuxt/src/core/runtime/nitro/renderer.ts | 2 +-
 packages/nuxt/src/pages/utils.ts                 | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts
index 784132a752..93832a1eaf 100644
--- a/packages/nuxt/src/app/components/nuxt-island.ts
+++ b/packages/nuxt/src/app/components/nuxt-island.ts
@@ -1,4 +1,4 @@
-import type { Component, PropType } from 'vue'
+import type { Component, PropType, VNode } from 'vue'
 import { Fragment, Teleport, computed, createStaticVNode, createVNode, defineComponent, getCurrentInstance, h, nextTick, onMounted, ref, toRaw, watch, withMemo } from 'vue'
 import { debounce } from 'perfect-debounce'
 import { hash } from 'ohash'
@@ -29,7 +29,7 @@ const getId = import.meta.client ? () => (id++).toString() : randomUUID
 const components = import.meta.client ? new Map() : undefined
 
 async function loadComponents (source = appBaseURL, paths: NuxtIslandResponse['components']) {
-  const promises = []
+  const promises: Array> = []
 
   for (const component in paths) {
     if (!(components!.has(component))) {
@@ -259,7 +259,7 @@ export default defineComponent({
 
         // should away be triggered ONE tick after re-rendering the static node
         withMemo([teleportKey.value], () => {
-          const teleports = []
+          const teleports: Array = []
           // 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))
 
diff --git a/packages/nuxt/src/app/components/utils.ts b/packages/nuxt/src/app/components/utils.ts
index a5e918a89d..3de363755d 100644
--- a/packages/nuxt/src/app/components/utils.ts
+++ b/packages/nuxt/src/app/components/utils.ts
@@ -86,7 +86,7 @@ export function vforToArray (source: any): any[] {
     if (import.meta.dev && !Number.isInteger(source)) {
       console.warn(`The v-for range expect an integer value but got ${source}.`)
     }
-    const array = []
+    const array: number[] = []
     for (let i = 0; i < source; i++) {
       array[i] = i
     }
diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts
index 20d59295dc..b054abb923 100644
--- a/packages/nuxt/src/core/nuxt.ts
+++ b/packages/nuxt/src/core/nuxt.ts
@@ -698,7 +698,7 @@ const RESTART_RE = /^(?:app|error|app\.config)\.(?:js|ts|mjs|jsx|tsx|vue)$/i
 function deduplicateArray (maybeArray: T): T {
   if (!Array.isArray(maybeArray)) { return maybeArray }
 
-  const fresh = []
+  const fresh: any[] = []
   const hashes = new Set()
   for (const item of maybeArray) {
     const _hash = hash(item)
diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts
index f33a9774aa..4321a2387a 100644
--- a/packages/nuxt/src/core/runtime/nitro/renderer.ts
+++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts
@@ -400,7 +400,7 @@ export default defineRenderHandler(async (event): Promise
Date: Thu, 13 Jun 2024 23:35:00 +0100
Subject: [PATCH 42/44] perf(vite): various performance improvements (#27601)

---
 packages/vite/package.json                   |  1 +
 packages/vite/src/client.ts                  | 13 +++++++++---
 packages/vite/src/css.ts                     | 17 +++++++++------
 packages/vite/src/dev-bundler.ts             |  8 ++++++-
 packages/vite/src/manifest.ts                | 13 +++++++-----
 packages/vite/src/plugins/analyze.ts         | 19 ++++++++++-------
 packages/vite/src/plugins/composable-keys.ts |  7 +++++--
 packages/vite/src/plugins/public-dirs.ts     |  2 +-
 packages/vite/src/plugins/ssr-styles.ts      |  6 +++---
 packages/vite/src/server.ts                  |  2 +-
 packages/vite/src/utils/transpile.ts         |  2 +-
 packages/vite/src/vite.ts                    | 22 +++++++++++++-------
 pnpm-lock.yaml                               |  3 +++
 13 files changed, 77 insertions(+), 38 deletions(-)

diff --git a/packages/vite/package.json b/packages/vite/package.json
index d2b64f1169..24c6384263 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -28,6 +28,7 @@
     "@types/clear": "0.1.4",
     "@types/estree": "1.0.5",
     "@types/fs-extra": "11.0.4",
+    "rollup": "^4.18.0",
     "unbuild": "latest",
     "vue": "3.4.27"
   },
diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts
index 12d746c021..607666f933 100644
--- a/packages/vite/src/client.ts
+++ b/packages/vite/src/client.ts
@@ -163,10 +163,11 @@ export async function buildClient (ctx: ViteBuildContext) {
   }
 
   // We want to respect users' own rollup output options
+  const fileNames = withoutLeadingSlash(join(ctx.nuxt.options.app.buildAssetsDir, '[hash].js'))
   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')),
+      chunkFileNames: ctx.nuxt.options.dev ? undefined : fileNames,
+      entryFileNames: ctx.nuxt.options.dev ? 'entry.js' : fileNames,
     } satisfies NonNullable['output'],
   }) as any
 
@@ -228,7 +229,13 @@ export async function buildClient (ctx: ViteBuildContext) {
     })
 
     const viteMiddleware = defineEventHandler(async (event) => {
-      const viteRoutes = viteServer.middlewares.stack.map(m => m.route).filter(r => r.length > 1)
+      const viteRoutes: string[] = []
+      for (const viteRoute of viteServer.middlewares.stack) {
+        const m = viteRoute.route
+        if (m.length > 1) {
+          viteRoutes.push(m)
+        }
+      }
       if (!event.path.startsWith(clientConfig.base!) && !viteRoutes.some(route => event.path.startsWith(route))) {
         // @ts-expect-error _skip_transform is a private property
         event.node.req._skip_transform = true
diff --git a/packages/vite/src/css.ts b/packages/vite/src/css.ts
index 96413a3ce4..e99b323fa4 100644
--- a/packages/vite/src/css.ts
+++ b/packages/vite/src/css.ts
@@ -3,6 +3,8 @@ import type { Nuxt } from '@nuxt/schema'
 import type { InlineConfig as ViteConfig } from 'vite'
 import { distDir } from './dirs'
 
+const lastPlugins = ['autoprefixer', 'cssnano']
+
 export function resolveCSSOptions (nuxt: Nuxt): ViteConfig['css'] {
   const css: ViteConfig['css'] & { postcss: NonNullable['postcss'], string>> } = {
     postcss: {
@@ -10,19 +12,22 @@ export function resolveCSSOptions (nuxt: Nuxt): ViteConfig['css'] {
     },
   }
 
-  const lastPlugins = ['autoprefixer', 'cssnano']
-  css.postcss.plugins = Object.entries(nuxt.options.postcss.plugins)
+  css.postcss.plugins = []
+
+  const plugins = Object.entries(nuxt.options.postcss.plugins)
     .sort((a, b) => lastPlugins.indexOf(a[0]) - lastPlugins.indexOf(b[0]))
-    .filter(([, opts]) => opts)
-    .map(([name, opts]) => {
+
+  for (const [name, opts] of plugins) {
+    if (opts) {
       const plugin = requireModule(name, {
         paths: [
           ...nuxt.options.modulesDir,
           distDir,
         ],
       })
-      return plugin(opts)
-    })
+      css.postcss.plugins.push(plugin(opts))
+    }
+  }
 
   return css
 }
diff --git a/packages/vite/src/dev-bundler.ts b/packages/vite/src/dev-bundler.ts
index cf774c241d..e2d970b524 100644
--- a/packages/vite/src/dev-bundler.ts
+++ b/packages/vite/src/dev-bundler.ts
@@ -238,7 +238,13 @@ export async function initViteDevBundler (ctx: ViteBuildContext, onBuild: () =>
     const { code, ids } = await bundleRequest(options, ctx.entry)
     await fse.writeFile(resolve(ctx.nuxt.options.buildDir, 'dist/server/server.mjs'), code, 'utf-8')
     // Have CSS in the manifest to prevent FOUC on dev SSR
-    await writeManifest(ctx, ids.filter(isCSS).map(i => i.slice(1)))
+    const manifestIds: string[] = []
+    for (const i of ids) {
+      if (isCSS(i)) {
+        manifestIds.push(i.slice(1))
+      }
+    }
+    await writeManifest(ctx, manifestIds)
     const time = (Date.now() - start)
     logger.success(`Vite server built in ${time}ms`)
     await onBuild()
diff --git a/packages/vite/src/manifest.ts b/packages/vite/src/manifest.ts
index f5d3e7aa6a..54471633ec 100644
--- a/packages/vite/src/manifest.ts
+++ b/packages/vite/src/manifest.ts
@@ -50,11 +50,14 @@ export async function writeManifest (ctx: ViteBuildContext, css: string[] = [])
   await fse.mkdirp(serverDist)
 
   if (ctx.config.build?.cssCodeSplit === false) {
-    const entryCSS = Object.values(clientManifest as Record).find(val => (val).file?.endsWith('.css'))?.file
-    if (entryCSS) {
-      const key = relative(ctx.config.root!, ctx.entry)
-      clientManifest[key].css ||= []
-      clientManifest[key].css!.push(entryCSS)
+    for (const key in clientManifest as Record) {
+      const val = clientManifest[key]
+      if (val.file?.endsWith('.css')) {
+        const key = relative(ctx.config.root!, ctx.entry)
+        clientManifest[key].css ||= []
+        clientManifest[key].css!.push(val.file)
+        break
+      }
     }
   }
 
diff --git a/packages/vite/src/plugins/analyze.ts b/packages/vite/src/plugins/analyze.ts
index 3fa23b94b8..ddb923f244 100644
--- a/packages/vite/src/plugins/analyze.ts
+++ b/packages/vite/src/plugins/analyze.ts
@@ -3,6 +3,7 @@ import { transform } from 'esbuild'
 import { visualizer } from 'rollup-plugin-visualizer'
 import defu from 'defu'
 import type { NuxtOptions } from 'nuxt/schema'
+import type { RenderedModule } from 'rollup'
 import type { ViteBuildContext } from '../vite'
 
 export function analyzePlugin (ctx: ViteBuildContext): Plugin[] {
@@ -13,14 +14,18 @@ export function analyzePlugin (ctx: ViteBuildContext): Plugin[] {
     {
       name: 'nuxt:analyze-minify',
       async generateBundle (_opts, outputBundle) {
-        for (const [_bundleId, bundle] of Object.entries(outputBundle)) {
+        for (const _bundleId in outputBundle) {
+          const bundle = outputBundle[_bundleId]
           if (bundle.type !== 'chunk') { continue }
-          const originalEntries = Object.entries(bundle.modules)
-          const minifiedEntries = await Promise.all(originalEntries.map(async ([moduleId, module]) => {
-            const { code } = await transform(module.code || '', { minify: true })
-            return [moduleId, { ...module, code }]
-          }))
-          bundle.modules = Object.fromEntries(minifiedEntries)
+          const minifiedModuleEntryPromises: Array> = []
+          for (const moduleId in bundle.modules) {
+            const module = bundle.modules[moduleId]
+            minifiedModuleEntryPromises.push(
+              transform(module.code || '', { minify: true })
+                .then(result => [moduleId, { ...module, code: result.code }]),
+            )
+          }
+          bundle.modules = Object.fromEntries(await Promise.all(minifiedModuleEntryPromises))
         }
       },
     },
diff --git a/packages/vite/src/plugins/composable-keys.ts b/packages/vite/src/plugins/composable-keys.ts
index 4832d60e61..af967c9eb7 100644
--- a/packages/vite/src/plugins/composable-keys.ts
+++ b/packages/vite/src/plugins/composable-keys.ts
@@ -23,12 +23,15 @@ const SUPPORTED_EXT_RE = /\.(?:m?[jt]sx?|vue)/
 
 export const composableKeysPlugin = createUnplugin((options: ComposableKeysOptions) => {
   const composableMeta: Record = {}
+  const composableLengths = new Set()
+  const keyedFunctions = new Set()
   for (const { name, ...meta } of options.composables) {
     composableMeta[name] = meta
+    keyedFunctions.add(name)
+    composableLengths.add(meta.argumentLength)
   }
 
-  const maxLength = Math.max(...options.composables.map(({ argumentLength }) => argumentLength))
-  const keyedFunctions = new Set(options.composables.map(({ name }) => name))
+  const maxLength = Math.max(...composableLengths)
   const KEYED_FUNCTIONS_RE = new RegExp(`\\b(${[...keyedFunctions].map(f => escapeRE(f)).join('|')})\\b`)
 
   return {
diff --git a/packages/vite/src/plugins/public-dirs.ts b/packages/vite/src/plugins/public-dirs.ts
index 442b87e6e5..379d451819 100644
--- a/packages/vite/src/plugins/public-dirs.ts
+++ b/packages/vite/src/plugins/public-dirs.ts
@@ -25,7 +25,7 @@ export const VitePublicDirsPlugin = createUnplugin((options: { sourcemap?: boole
       resolveId: {
         enforce: 'post',
         handler (id) {
-          if (id === '/__skip_vite' || !id.startsWith('/') || id.startsWith('/@fs')) { return }
+          if (id === '/__skip_vite' || id[0] !== '/' || id.startsWith('/@fs')) { return }
 
           if (resolveFromPublicAssets(id)) {
             return PREFIX + encodeURIComponent(id)
diff --git a/packages/vite/src/plugins/ssr-styles.ts b/packages/vite/src/plugins/ssr-styles.ts
index 37fc7da1f7..b1e785c6e9 100644
--- a/packages/vite/src/plugins/ssr-styles.ts
+++ b/packages/vite/src/plugins/ssr-styles.ts
@@ -66,12 +66,12 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin {
         const { files, inBundle } = cssMap[file]
         // File has been tree-shaken out of build (or there are no styles to inline)
         if (!files.length || !inBundle) { continue }
-
+        const fileName = filename(file)
         const base = typeof outputOptions.assetFileNames === 'string'
           ? outputOptions.assetFileNames
           : outputOptions.assetFileNames({
             type: 'asset',
-            name: `${filename(file)}-styles.mjs`,
+            name: `${fileName}-styles.mjs`,
             source: '',
           })
 
@@ -79,7 +79,7 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin {
 
         emitted[file] = this.emitFile({
           type: 'asset',
-          name: `${filename(file)}-styles.mjs`,
+          name: `${fileName}-styles.mjs`,
           source: [
             ...files.map((css, i) => `import style_${i} from './${relative(baseDir, this.getFileName(css))}';`),
             `export default [${files.map((_, i) => `style_${i}`).join(', ')}]`,
diff --git a/packages/vite/src/server.ts b/packages/vite/src/server.ts
index 33965931a8..67919c8b2f 100644
--- a/packages/vite/src/server.ts
+++ b/packages/vite/src/server.ts
@@ -105,7 +105,7 @@ 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(() => [])
+      .then(r => import(r!)).then(r => r.dependencies ? Object.keys(r.dependencies) : []).catch(() => [])
     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
diff --git a/packages/vite/src/utils/transpile.ts b/packages/vite/src/utils/transpile.ts
index 2484cc7034..8c60c1776a 100644
--- a/packages/vite/src/utils/transpile.ts
+++ b/packages/vite/src/utils/transpile.ts
@@ -10,7 +10,7 @@ interface Envs {
 
 export function transpile (envs: Envs): Array {
   const nuxt = useNuxt()
-  const transpile = []
+  const transpile: Array = []
 
   for (let pattern of nuxt.options.build.transpile) {
     if (typeof pattern === 'function') {
diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts
index 1c6a9c82f4..b19b29ba0f 100644
--- a/packages/vite/src/vite.ts
+++ b/packages/vite/src/vite.ts
@@ -4,6 +4,7 @@ import { dirname, join, normalize, resolve } from 'pathe'
 import type { Nuxt, NuxtBuilder, ViteConfig } from '@nuxt/schema'
 import { addVitePlugin, isIgnored, logger, resolvePath } from '@nuxt/kit'
 import replace from '@rollup/plugin-replace'
+import type { RollupReplaceOptions } from '@rollup/plugin-replace'
 import { sanitizeFilePath } from 'mlly'
 import { withoutLeadingSlash } from 'ufo'
 import { filename } from 'pathe/utils'
@@ -102,10 +103,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => {
             rootDir: nuxt.options.rootDir,
             composables: nuxt.options.optimization.keyedComposables,
           }),
-          replace({
-            ...Object.fromEntries([';', '(', '{', '}', ' ', '\t', '\n'].map(d => [`${d}global.`, `${d}globalThis.`])),
-            preventAssignment: true,
-          }),
+          replace({ preventAssignment: true, ...globalThisReplacements }),
           virtual(nuxt.vfs),
         ],
         server: {
@@ -164,10 +162,16 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => {
   await nuxt.callHook('vite:extend', ctx)
 
   nuxt.hook('vite:extendConfig', (config) => {
-    config.plugins!.push(replace({
-      preventAssignment: true,
-      ...Object.fromEntries(Object.entries(config.define!).filter(([key]) => key.startsWith('import.meta.'))),
-    }))
+    const replaceOptions: RollupReplaceOptions = Object.create(null)
+    replaceOptions.preventAssignment = true
+
+    for (const key in config.define!) {
+      if (key.startsWith('import.meta.')) {
+        replaceOptions[key] = config.define![key]
+      }
+    }
+
+    config.plugins!.push(replace(replaceOptions))
   })
 
   if (!ctx.nuxt.options.dev) {
@@ -224,3 +228,5 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => {
   await buildClient(ctx)
   await buildServer(ctx)
 }
+
+const globalThisReplacements = Object.fromEntries([';', '(', '{', '}', ' ', '\t', '\n'].map(d => [`${d}global.`, `${d}globalThis.`]))
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f38e4b444e..73b476bb7e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -744,6 +744,9 @@ importers:
       '@types/fs-extra':
         specifier: 11.0.4
         version: 11.0.4
+      rollup:
+        specifier: ^4.18.0
+        version: 4.18.0
       unbuild:
         specifier: latest
         version: 2.0.0(sass@1.69.4)(typescript@5.4.5)

From 8af56b176182a63b93256dfbe66ac367af677334 Mon Sep 17 00:00:00 2001
From: Daniel Roe 
Date: Thu, 13 Jun 2024 23:35:57 +0100
Subject: [PATCH 43/44] fix(nuxt): include build-time pages in prerender routes
 (#27569)

---
 packages/nuxt/src/pages/module.ts | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts
index 3e5982ea3b..4121e0dd84 100644
--- a/packages/nuxt/src/pages/module.ts
+++ b/packages/nuxt/src/pages/module.ts
@@ -275,6 +275,20 @@ export default defineNuxtModule({
       }
     })
 
+    // TODO: inject routes in `200.html` in next nitro upgrade (2.9.7+) via https://github.com/unjs/nitro/pull/2517
+    if (!nuxt.options.dev && !nuxt.options._prepare) {
+      nuxt.hook('app:templatesGenerated', (app) => {
+        const nitro = useNitro()
+        if (nitro.options.prerender.crawlLinks) {
+          for (const page of app.pages!) {
+            if (page.path && !page.path.includes(':')) {
+              nitro.options.prerender.routes.push(page.path)
+            }
+          }
+        }
+      })
+    }
+
     nuxt.hook('imports:extend', (imports) => {
       imports.push(
         { name: 'definePageMeta', as: 'definePageMeta', from: resolve(runtimeDir, 'composables') },

From 51ab5de3e6c1c9451f8fc20a2ce15910452c5333 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 13 Jun 2024 23:36:38 +0100
Subject: [PATCH 44/44] chore(deps): pin devdependency rollup to 4.18.0 (main)
 (#27603)

---
 packages/vite/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/vite/package.json b/packages/vite/package.json
index 24c6384263..0960b6bf51 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -28,7 +28,7 @@
     "@types/clear": "0.1.4",
     "@types/estree": "1.0.5",
     "@types/fs-extra": "11.0.4",
-    "rollup": "^4.18.0",
+    "rollup": "4.18.0",
     "unbuild": "latest",
     "vue": "3.4.27"
   },