refactor(nuxt): update to vue v3.5 + native useId (#28285)

This commit is contained in:
Daniel Roe 2024-09-03 14:33:21 +01:00
parent 7f6d34961f
commit 26ba7a3d88
No known key found for this signature in database
GPG Key ID: 3714AB03996F442B
13 changed files with 219 additions and 299 deletions

View File

@ -44,7 +44,7 @@
"nuxt": "workspace:*",
"rollup": "^4.21.2",
"vite": "5.4.2",
"vue": "3.4.38"
"vue": "3.5.0"
},
"devDependencies": {
"@eslint/js": "9.9.1",
@ -93,7 +93,7 @@
"ufo": "1.5.4",
"vitest": "2.0.5",
"vitest-environment-nuxt": "1.0.1",
"vue": "3.4.38",
"vue": "3.5.0",
"vue-router": "4.4.3",
"vue-tsc": "2.1.4"
},

View File

@ -68,7 +68,7 @@
"@unhead/dom": "^1.10.4",
"@unhead/ssr": "^1.10.4",
"@unhead/vue": "^1.10.4",
"@vue/shared": "^3.4.38",
"@vue/shared": "^3.5.0",
"acorn": "8.12.1",
"c12": "^1.11.2",
"chokidar": "^3.6.0",
@ -117,7 +117,7 @@
"unplugin-vue-router": "^0.10.7",
"unstorage": "^1.10.2",
"untyped": "^1.4.2",
"vue": "^3.4.38",
"vue": "^3.5.0",
"vue-bundle-renderer": "^2.1.0",
"vue-devtools-stub": "^0.1.0",
"vue-router": "^4.4.3"
@ -128,7 +128,7 @@
"@parcel/watcher": "2.4.1",
"@types/estree": "1.0.5",
"@vitejs/plugin-vue": "5.1.3",
"@vue/compiler-sfc": "3.4.38",
"@vue/compiler-sfc": "3.5.0",
"unbuild": "latest",
"vite": "5.4.2",
"vitest": "2.0.5"

View File

@ -1,5 +1,5 @@
import { computed, getCurrentInstance, getCurrentScope, onBeforeMount, onScopeDispose, onServerPrefetch, onUnmounted, ref, shallowRef, toRef, unref, watch } from 'vue'
import type { Ref, WatchSource } from 'vue'
import type { MultiWatchSources, Ref } from 'vue'
import type { NuxtApp } from '../nuxt'
import { useNuxtApp } from '../nuxt'
import { toArray } from '../utils'
@ -37,7 +37,7 @@ export type KeysOf<T> = Array<
export type KeyOfRes<Transform extends _Transform> = KeysOf<ReturnType<Transform>>
export type MultiWatchSources = (WatchSource<unknown> | object)[]
export type { MultiWatchSources }
export type NoInfer<T> = [T][T extends any ? 0 : never]

View File

@ -1,60 +1,3 @@
import { getCurrentInstance, inject } from 'vue'
import { useNuxtApp } from '../nuxt'
import { clientOnlySymbol } from '#app/components/client-only'
import { useId as _useId } from 'vue'
const ATTR_KEY = 'data-n-ids'
const SEPARATOR = '-'
/**
* Generate an SSR-friendly unique identifier that can be passed to accessibility attributes.
*
* The generated ID is unique in the context of the current Nuxt instance and key.
*/
export function useId (): string
export function useId (key?: string): string {
if (typeof key !== 'string') {
throw new TypeError('[nuxt] [useId] key must be a string.')
}
// TODO: implement in composable-keys
// Make sure key starts with a letter to be a valid selector
key = `n${key.slice(1)}`
const nuxtApp = useNuxtApp()
const instance = getCurrentInstance()
if (!instance) {
// TODO: support auto-incrementing ID for plugins if there is need?
throw new TypeError('[nuxt] `useId` must be called within a component setup function.')
}
nuxtApp._genId ||= 0
instance._nuxtIdIndex ||= {}
instance._nuxtIdIndex[key] ||= 0
const instanceIndex = key + SEPARATOR + instance._nuxtIdIndex[key]++
if (import.meta.server) {
const ids = JSON.parse(instance.attrs[ATTR_KEY] as string | undefined || '{}')
ids[instanceIndex] = key + SEPARATOR + nuxtApp._genId++
instance.attrs[ATTR_KEY] = JSON.stringify(ids)
return ids[instanceIndex]
}
if (nuxtApp.payload.serverRendered && nuxtApp.isHydrating && !inject(clientOnlySymbol, false)) {
// Access data attribute from sibling if root is a comment node and sibling is an element
const el = instance.vnode.el?.nodeType === 8 && instance.vnode.el?.nextElementSibling?.getAttribute
? instance.vnode.el?.nextElementSibling
: instance.vnode.el
const ids = JSON.parse(el?.getAttribute?.(ATTR_KEY) || '{}')
if (ids[instanceIndex]) {
return ids[instanceIndex]
}
if (import.meta.dev && instance.vnode.type && typeof instance.vnode.type === 'object' && 'inheritAttrs' in instance.vnode.type && instance.vnode.type.inheritAttrs === false) {
console.warn('[nuxt] `useId` might not work correctly with components that have `inheritAttrs: false`.')
}
}
// pure client-side ids, avoiding potential collision with server-side ids
return key + '_' + nuxtApp._genId++
}
export const useId = _useId

View File

@ -105,10 +105,6 @@ const granularAppPresets: InlinePreset[] = [
imports: ['usePreviewMode'],
from: '#app/composables/preview',
},
{
imports: ['useId'],
from: '#app/composables/id',
},
{
imports: ['useRouteAnnouncer'],
from: '#app/composables/route-announcer',
@ -231,6 +227,10 @@ const vuePreset = defineUnimportPreset({
'useCssVars',
'useSlots',
'useTransitionState',
'useId',
'useTemplateRef',
'useShadowRoot',
'useCssVars',
],
})

View File

@ -56,7 +56,7 @@ describe('imports:transform', () => {
})
})
const excludedNuxtHelpers = ['useHydration', 'useHead', 'useSeoMeta', 'useServerSeoMeta']
const excludedNuxtHelpers = ['useHydration', 'useHead', 'useSeoMeta', 'useServerSeoMeta', 'useId']
describe('imports:nuxt', () => {
try {
@ -171,7 +171,6 @@ const excludedVueHelpers = [
'hydrate',
'initDirectivesForSSR',
'render',
'useCssVars',
'vModelCheckbox',
'vModelDynamic',
'vModelRadio',
@ -183,6 +182,13 @@ const excludedVueHelpers = [
'ErrorCodes',
'TrackOpTypes',
'TriggerOpTypes',
'useHost',
'hydrateOnVisible',
'hydrateOnMediaQuery',
'hydrateOnInteraction',
'hydrateOnIdle',
'onWatcherCleanup',
'getCurrentWatcher',
]
describe('imports:vue', () => {

View File

@ -127,10 +127,10 @@ describe('treeshake client only in ssr', () => {
const ssrResult = await SFCCompile(`SomeComponent${state.index}.vue`, WithClientOnly, state.options, true)
const treeshaken = await treeshake(ssrResult)
const [_, scopeId] = clientResult.match(/_pushScopeId\("(.*)"\)/)!
const [_, scopeId] = clientResult.match(/['"]__scopeId['"],\s*['"](data-v-[^'"]+)['"]/)!
// ensure the id is correctly passed between server and client
expect(clientResult).toContain(`pushScopeId("${scopeId}")`)
expect(clientResult).toContain(`'__scopeId',"${scopeId}"`)
expect(treeshaken).toContain(`<div ${scopeId}>`)
expect(clientResult).toContain('should-be-treeshaken')

View File

@ -42,8 +42,8 @@
"@unhead/schema": "1.10.4",
"@vitejs/plugin-vue": "5.1.3",
"@vitejs/plugin-vue-jsx": "4.0.1",
"@vue/compiler-core": "3.4.38",
"@vue/compiler-sfc": "3.4.38",
"@vue/compiler-core": "3.5.0",
"@vue/compiler-sfc": "3.5.0",
"@vue/language-core": "2.1.4",
"c12": "1.11.2",
"esbuild-loader": "4.2.2",
@ -55,7 +55,7 @@
"unctx": "2.3.1",
"unenv": "1.10.0",
"vite": "5.4.2",
"vue": "3.4.38",
"vue": "3.5.0",
"vue-bundle-renderer": "2.1.0",
"vue-loader": "17.4.2",
"vue-router": "4.4.3",

View File

@ -29,7 +29,7 @@
"@types/estree": "1.0.5",
"rollup": "4.21.2",
"unbuild": "latest",
"vue": "3.4.38"
"vue": "3.5.0"
},
"dependencies": {
"@nuxt/kit": "workspace:*",

View File

@ -76,7 +76,7 @@
"@types/webpack-bundle-analyzer": "4.7.0",
"@types/webpack-hot-middleware": "2.25.9",
"unbuild": "latest",
"vue": "3.4.38"
"vue": "3.5.0"
},
"peerDependencies": {
"vue": "^3.3.4"

View File

@ -15,7 +15,7 @@ overrides:
nuxt: workspace:*
rollup: ^4.21.2
vite: 5.4.2
vue: 3.4.38
vue: 3.5.0
importers:
@ -32,13 +32,13 @@ importers:
version: link:packages/kit
'@nuxt/test-utils':
specifier: 3.14.1
version: 3.14.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
version: 3.14.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4))
'@nuxt/webpack-builder':
specifier: workspace:*
version: link:packages/webpack
'@testing-library/vue':
specifier: 8.1.0
version: 8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4))
version: 8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4))
'@types/eslint__js':
specifier: 8.42.3
version: 8.42.3
@ -53,10 +53,10 @@ importers:
version: 1.10.4
'@unhead/vue':
specifier: 1.10.4
version: 1.10.4(vue@3.4.38(typescript@5.5.4))
version: 1.10.4(vue@3.5.0(typescript@5.5.4))
'@vitejs/plugin-vue':
specifier: 5.1.3
version: 5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))
version: 5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))
'@vitest/coverage-v8':
specifier: 2.0.5
version: 2.0.5(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))
@ -158,13 +158,13 @@ importers:
version: 2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0)
vitest-environment-nuxt:
specifier: 1.0.1
version: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
version: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4))
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
vue-router:
specifier: 4.4.3
version: 4.4.3(vue@3.4.38(typescript@5.5.4))
version: 4.4.3(vue@3.5.0(typescript@5.5.4))
vue-tsc:
specifier: 2.1.4
version: 2.1.4(typescript@5.5.4)
@ -291,10 +291,10 @@ importers:
version: 1.10.4
'@unhead/vue':
specifier: ^1.10.4
version: 1.10.4(vue@3.4.38(typescript@5.5.4))
version: 1.10.4(vue@3.5.0(typescript@5.5.4))
'@vue/shared':
specifier: ^3.4.38
version: 3.4.38
specifier: ^3.5.0
version: 3.5.0
acorn:
specifier: 8.12.1
version: 8.12.1
@ -432,7 +432,7 @@ importers:
version: 1.12.3
unplugin-vue-router:
specifier: ^0.10.7
version: 0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
version: 0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4))
unstorage:
specifier: ^1.10.2
version: 1.10.2(ioredis@5.4.1)
@ -440,8 +440,8 @@ importers:
specifier: ^1.4.2
version: 1.4.2
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
vue-bundle-renderer:
specifier: ^2.1.0
version: 2.1.0
@ -450,11 +450,11 @@ importers:
version: 0.1.0
vue-router:
specifier: ^4.4.3
version: 4.4.3(vue@3.4.38(typescript@5.5.4))
version: 4.4.3(vue@3.5.0(typescript@5.5.4))
devDependencies:
'@nuxt/scripts':
specifier: 0.7.1
version: 0.7.1(@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)))(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.4.38)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.44)(rollup@4.21.2)(typescript@5.5.4)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))(webpack@5.94.0(esbuild@0.23.1))
version: 0.7.1(@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)))(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.0)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.44)(rollup@4.21.2)(typescript@5.5.4)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))(webpack@5.94.0(esbuild@0.23.1))
'@nuxt/ui-templates':
specifier: workspace:*
version: link:../ui-templates
@ -466,10 +466,10 @@ importers:
version: 1.0.5
'@vitejs/plugin-vue':
specifier: 5.1.3
version: 5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))
version: 5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))
'@vue/compiler-sfc':
specifier: 3.4.38
version: 3.4.38
specifier: 3.5.0
version: 3.5.0
unbuild:
specifier: latest
version: 2.0.0(sass@1.69.4)(typescript@5.5.4)(vue-tsc@2.1.4(typescript@5.5.4))
@ -539,16 +539,16 @@ importers:
version: 1.10.4
'@vitejs/plugin-vue':
specifier: 5.1.3
version: 5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))
version: 5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))
'@vitejs/plugin-vue-jsx':
specifier: 4.0.1
version: 4.0.1(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))
version: 4.0.1(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))
'@vue/compiler-core':
specifier: 3.4.38
version: 3.4.38
specifier: 3.5.0
version: 3.5.0
'@vue/compiler-sfc':
specifier: 3.4.38
version: 3.4.38
specifier: 3.5.0
version: 3.5.0
'@vue/language-core':
specifier: 2.1.4
version: 2.1.4(typescript@5.5.4)
@ -583,17 +583,17 @@ importers:
specifier: 5.4.2
version: 5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
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.38)(vue@3.4.38(typescript@5.5.4))(webpack@5.94.0)
version: 17.4.2(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4))(webpack@5.94.0)
vue-router:
specifier: 4.4.3
version: 4.4.3(vue@3.4.38(typescript@5.5.4))
version: 4.4.3(vue@3.5.0(typescript@5.5.4))
webpack:
specifier: 5.94.0
version: 5.94.0
@ -662,10 +662,10 @@ importers:
version: 5.0.7(rollup@4.21.2)
'@vitejs/plugin-vue':
specifier: ^5.1.3
version: 5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))
version: 5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))
'@vitejs/plugin-vue-jsx':
specifier: ^4.0.1
version: 4.0.1(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))
version: 4.0.1(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))
autoprefixer:
specifier: ^10.4.20
version: 10.4.20(postcss@8.4.44)
@ -770,8 +770,8 @@ importers:
specifier: latest
version: 2.0.0(sass@1.69.4)(typescript@5.5.4)(vue-tsc@2.1.4(typescript@5.5.4))
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
packages/webpack:
dependencies:
@ -882,7 +882,7 @@ importers:
version: 2.1.0
vue-loader:
specifier: ^17.4.2
version: 17.4.2(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4))(webpack@5.94.0)
version: 17.4.2(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4))(webpack@5.94.0)
webpack:
specifier: ^5.94.0
version: 5.94.0
@ -924,8 +924,8 @@ importers:
specifier: latest
version: 2.0.0(sass@1.69.4)(typescript@5.5.4)(vue-tsc@2.1.4(typescript@5.5.4))
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
playground:
dependencies:
@ -937,7 +937,7 @@ importers:
version: 6.6.3
'@vue/shared':
specifier: latest
version: 3.4.38
version: 3.5.0
nuxt:
specifier: workspace:*
version: link:../packages/nuxt
@ -945,8 +945,8 @@ importers:
specifier: latest
version: 1.10.4
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
test/fixtures/basic:
dependencies:
@ -968,7 +968,7 @@ importers:
version: 6.6.3
'@vue/shared':
specifier: latest
version: 3.4.38
version: 3.5.0
iron-webcrypto:
specifier: latest
version: 1.2.1
@ -982,8 +982,8 @@ importers:
specifier: latest
version: 1.12.3
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
test/fixtures/basic-types:
dependencies:
@ -996,16 +996,16 @@ importers:
version: 1.3.4
unplugin-vue-router:
specifier: ^0.10.0
version: 0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
version: 0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4))
vitest:
specifier: 1.6.0
version: 1.6.0(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0)
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
vue-router:
specifier: latest
version: 4.4.3(vue@3.4.38(typescript@5.5.4))
version: 4.4.3(vue@3.5.0(typescript@5.5.4))
test/fixtures/minimal:
dependencies:
@ -1013,8 +1013,8 @@ importers:
specifier: workspace:*
version: link:../../../packages/nuxt
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
test/fixtures/minimal-types:
dependencies:
@ -1022,8 +1022,8 @@ importers:
specifier: workspace:*
version: link:../../../packages/nuxt
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
test/fixtures/remote-provider: {}
@ -1041,7 +1041,7 @@ importers:
version: 6.6.3
'@vue/shared':
specifier: latest
version: 3.4.38
version: 3.5.0
unhead:
specifier: latest
version: 1.10.4
@ -1052,8 +1052,8 @@ importers:
specifier: workspace:*
version: link:../../../packages/nuxt
vue:
specifier: 3.4.38
version: 3.4.38(typescript@5.5.4)
specifier: 3.5.0
version: 3.5.0(typescript@5.5.4)
devDependencies:
'@unhead/shared':
specifier: latest
@ -1063,7 +1063,7 @@ importers:
version: 6.6.3
'@vue/shared':
specifier: latest
version: 3.4.38
version: 3.5.0
typescript:
specifier: latest
version: 5.5.4
@ -2080,7 +2080,7 @@ packages:
playwright-core: ^1.43.1
vite: 5.4.2
vitest: ^0.34.6 || ^1.0.0 || ^2.0.0
vue: 3.4.38
vue: 3.5.0
vue-router: ^4.0.0
peerDependenciesMeta:
'@cucumber/cucumber':
@ -2409,7 +2409,7 @@ packages:
engines: {node: '>=14'}
peerDependencies:
'@vue/compiler-sfc': '>= 3'
vue: 3.4.38
vue: 3.5.0
peerDependenciesMeta:
'@vue/compiler-sfc':
optional: true
@ -2636,7 +2636,7 @@ packages:
'@unhead/vue@1.10.4':
resolution: {integrity: sha512-Q45F/KOvDeitc8GkfkPY45V8Dmw1m1b9A/aHM5A2BwRV8GyoRV+HRWVw5h02e0AO1TsICvcW8tI90qeCM2oGSA==}
peerDependencies:
vue: 3.4.38
vue: 3.5.0
'@unocss/astro@0.62.2':
resolution: {integrity: sha512-RUPGmbNEyfbBOuS22PC23Dy9gmNBQHpLCmpuj6ehr6UcKeRy3xOwlbJDnCv08Vfd3mp3n45Va24wTK/yM6I1YQ==}
@ -2828,14 +2828,14 @@ packages:
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: 5.4.2
vue: 3.4.38
vue: 3.5.0
'@vitejs/plugin-vue@5.1.3':
resolution: {integrity: sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: 5.4.2
vue: 3.4.38
vue: 3.5.0
'@vitest/coverage-v8@2.0.5':
resolution: {integrity: sha512-qeFcySCg5FLO2bHHSa0tAZAOnAUbp4L6/A5JDuj9+bt53JREl8hpLjLHEWF0e/gWc8INVpJaqA7+Ene2rclpZg==}
@ -2888,7 +2888,7 @@ packages:
resolution: {integrity: sha512-+NGfhrPvPNOb3Wg9PNPEXPe0HTXmVe6XJawL1gi3cIjOSGIhpOdvmMT2cRuWb265IpA/PeL5Sqo0+DQnEDxLvw==}
engines: {node: '>=16.14.0'}
peerDependencies:
vue: 3.4.38
vue: 3.5.0
peerDependenciesMeta:
vue:
optional: true
@ -2909,17 +2909,17 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
'@vue/compiler-core@3.4.38':
resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==}
'@vue/compiler-core@3.5.0':
resolution: {integrity: sha512-ja7cpqAOfw4tyFAxgBz70Z42miNDeaqTxExTsnXDLomRpqfyCgyvZvFp482fmsElpfvsoMJUsvzULhvxUTW6Iw==}
'@vue/compiler-dom@3.4.38':
resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==}
'@vue/compiler-dom@3.5.0':
resolution: {integrity: sha512-xYjUybWZXl+1R/toDy815i4PbeehL2hThiSGkcpmIOCy2HoYyeeC/gAWK/Y/xsoK+GSw198/T5O31bYuQx5uvQ==}
'@vue/compiler-sfc@3.4.38':
resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==}
'@vue/compiler-sfc@3.5.0':
resolution: {integrity: sha512-B9DgLtrqok2GLuaFjLlSL15ZG3ZDBiitUH1ecex9guh/ZcA5MCdwuVE6nsfQxktuZY/QY0awJ35/ripIviCQTQ==}
'@vue/compiler-ssr@3.4.38':
resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==}
'@vue/compiler-ssr@3.5.0':
resolution: {integrity: sha512-E263QZmA1dqRd7c3u/sWTLRMpQOT0aZ8av/L9SoD/v/BVMZaWFHPUUBswS+bzrfvG2suJF8vSLKx6k6ba5SUdA==}
'@vue/compiler-vue2@2.7.16':
resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
@ -2952,22 +2952,22 @@ packages:
typescript:
optional: true
'@vue/reactivity@3.4.38':
resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==}
'@vue/reactivity@3.5.0':
resolution: {integrity: sha512-Ew3F5riP3B3ZDGjD3ZKb9uZylTTPSqt8hAf4sGbvbjrjDjrFb3Jm15Tk1/w7WwTE5GbQ2Qhwxx1moc9hr8A/OQ==}
'@vue/runtime-core@3.4.38':
resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==}
'@vue/runtime-core@3.5.0':
resolution: {integrity: sha512-mQyW0F9FaNRdt8ghkAs+BMG3iQ7LGgWKOpkzUzR5AI5swPNydHGL5hvVTqFaeMzwecF1g0c86H4yFQsSxJhH1w==}
'@vue/runtime-dom@3.4.38':
resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==}
'@vue/runtime-dom@3.5.0':
resolution: {integrity: sha512-NQQXjpdXgyYVJ2M56FJ+lSJgZiecgQ2HhxhnQBN95FymXegRNY/N2htI7vOTwpP75pfxhIeYOJ8mE8sW8KAW6A==}
'@vue/server-renderer@3.4.38':
resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==}
'@vue/server-renderer@3.5.0':
resolution: {integrity: sha512-HyDIFUg+l7L4PKrEnJlCYWHUOlm6NxZhmSxIefZ5MTYjkIPfDfkwhX7hqxAQHfgIAE1uLMLQZwuNR/ozI0NhZg==}
peerDependencies:
vue: 3.4.38
vue: 3.5.0
'@vue/shared@3.4.38':
resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==}
'@vue/shared@3.5.0':
resolution: {integrity: sha512-m9IgiteBpCkFaMNwCOBkFksA7z8QiKc30ooRuoXWUFRDu0mGyNPlFHmbncF0/Kra1RlX8QrmBbRaIxVvikaR0Q==}
'@vue/test-utils@2.4.6':
resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==}
@ -4271,7 +4271,7 @@ packages:
resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==}
peerDependencies:
'@nuxt/kit': workspace:*
vue: 3.4.38
vue: 3.5.0
peerDependenciesMeta:
'@nuxt/kit':
optional: true
@ -7242,7 +7242,7 @@ packages:
hasBin: true
peerDependencies:
'@vue/composition-api': ^1.0.0-rc.1
vue: 3.4.38
vue: 3.5.0
peerDependenciesMeta:
'@vue/composition-api':
optional: true
@ -7271,12 +7271,12 @@ packages:
vue-resize@2.0.0-alpha.1:
resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==}
peerDependencies:
vue: 3.4.38
vue: 3.5.0
vue-router@4.4.3:
resolution: {integrity: sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==}
peerDependencies:
vue: 3.4.38
vue: 3.5.0
vue-tsc@2.1.4:
resolution: {integrity: sha512-XTzMXQcsixAvNbpou/9qngEsZawaiJRZH3Ja+lfgRfv2A1TJv9vnZ/Kyv7XxPqv/TaZVFSnjGpM87VbWIg6yQg==}
@ -7284,10 +7284,10 @@ packages:
peerDependencies:
typescript: '>=5.0.0'
vue@3.4.38:
resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==}
vue@3.5.0:
resolution: {integrity: sha512-1t70favYoFijwfWJ7g81aTd32obGaAnKYE9FNyMgnEzn3F4YncRi/kqAHHKloG0VXTD8vBYMhbgLKCA+Sk6QDw==}
peerDependencies:
typescript: '*'
typescript: 5.5.4
peerDependenciesMeta:
typescript:
optional: true
@ -8248,7 +8248,7 @@ snapshots:
execa: 7.2.0
vite: 5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)
'@nuxt/devtools-ui-kit@1.3.14(@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)))(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.4.38)(nuxt@packages+nuxt)(postcss@8.4.44)(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))(webpack@5.94.0(esbuild@0.23.1))':
'@nuxt/devtools-ui-kit@1.3.14(@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)))(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.0)(nuxt@packages+nuxt)(postcss@8.4.44)(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))(webpack@5.94.0(esbuild@0.23.1))':
dependencies:
'@iconify-json/carbon': 1.1.37
'@iconify-json/logos': 1.1.44
@ -8263,14 +8263,14 @@ snapshots:
'@unocss/preset-icons': 0.62.3
'@unocss/preset-mini': 0.62.3
'@unocss/reset': 0.62.3
'@vueuse/core': 11.0.1(vue@3.4.38(typescript@5.5.4))
'@vueuse/integrations': 11.0.1(focus-trap@7.5.4)(vue@3.4.38(typescript@5.5.4))
'@vueuse/nuxt': 11.0.1(nuxt@packages+nuxt)(vue@3.4.38(typescript@5.5.4))
'@vueuse/core': 11.0.1(vue@3.5.0(typescript@5.5.4))
'@vueuse/integrations': 11.0.1(focus-trap@7.5.4)(vue@3.5.0(typescript@5.5.4))
'@vueuse/nuxt': 11.0.1(nuxt@packages+nuxt)(vue@3.5.0(typescript@5.5.4))
defu: 6.1.4
focus-trap: 7.5.4
splitpanes: 3.1.5
unocss: 0.62.3(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.44)(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))
v-lazy-show: 0.2.4(@vue/compiler-core@3.4.38)
v-lazy-show: 0.2.4(@vue/compiler-core@3.5.0)
transitivePeerDependencies:
- '@unocss/webpack'
- '@vue/compiler-core'
@ -8393,17 +8393,17 @@ snapshots:
string-width: 4.2.3
webpack: 5.94.0
'@nuxt/scripts@0.7.1(@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)))(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.4.38)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.44)(rollup@4.21.2)(typescript@5.5.4)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))(webpack@5.94.0(esbuild@0.23.1))':
'@nuxt/scripts@0.7.1(@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)))(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.0)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.44)(rollup@4.21.2)(typescript@5.5.4)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))(webpack@5.94.0(esbuild@0.23.1))':
dependencies:
'@nuxt/devtools-kit': 1.4.1(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))
'@nuxt/devtools-ui-kit': 1.3.14(@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)))(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.4.38)(nuxt@packages+nuxt)(postcss@8.4.44)(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))(webpack@5.94.0(esbuild@0.23.1))
'@nuxt/devtools-ui-kit': 1.3.14(@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)))(@unocss/webpack@0.62.2(rollup@4.21.2)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.0)(nuxt@packages+nuxt)(postcss@8.4.44)(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))(webpack@5.94.0(esbuild@0.23.1))
'@nuxt/kit': link:packages/kit
'@types/google.maps': 3.55.12
'@types/stripe-v3': 3.1.33
'@types/vimeo__player': 2.18.3
'@types/youtube': 0.0.50
'@unhead/vue': 1.10.4(vue@3.4.38(typescript@5.5.4))
'@vueuse/core': 11.0.1(vue@3.4.38(typescript@5.5.4))
'@unhead/vue': 1.10.4(vue@3.5.0(typescript@5.5.4))
'@vueuse/core': 11.0.1(vue@3.5.0(typescript@5.5.4))
consola: 3.2.3
defu: 6.1.4
h3: 1.12.0
@ -8481,7 +8481,7 @@ snapshots:
rc9: 2.1.2
std-env: 3.7.0
'@nuxt/test-utils@3.14.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))':
'@nuxt/test-utils@3.14.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@nuxt/kit': link:packages/kit
'@nuxt/schema': link:packages/schema
@ -8508,11 +8508,11 @@ snapshots:
unenv: 1.10.0
unplugin: 1.12.3
vite: 5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)
vitest-environment-nuxt: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
vue: 3.4.38(typescript@5.5.4)
vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4))
vitest-environment-nuxt: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4))
vue: 3.5.0(typescript@5.5.4)
vue-router: 4.4.3(vue@3.5.0(typescript@5.5.4))
optionalDependencies:
'@testing-library/vue': 8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4))
'@testing-library/vue': 8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4))
'@vue/test-utils': 2.4.6
happy-dom: 15.7.3
playwright-core: 1.46.1
@ -8526,7 +8526,7 @@ snapshots:
'@shikijs/transformers': 1.1.2
'@types/hast': 3.0.4
'@types/mdast': 4.0.3
'@vue/compiler-core': 3.4.38
'@vue/compiler-core': 3.5.0
consola: 3.2.3
debug: 4.3.6
defu: 6.1.4
@ -8773,14 +8773,14 @@ snapshots:
'@shikijs/vitepress-twoslash@1.12.1(@nuxt/kit@packages+kit)(typescript@5.5.4)':
dependencies:
'@shikijs/twoslash': 1.12.1(typescript@5.5.4)
floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.38(typescript@5.5.4))
floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.5.0(typescript@5.5.4))
mdast-util-from-markdown: 2.0.1
mdast-util-gfm: 3.0.0
mdast-util-to-hast: 13.2.0
shiki: 1.12.1
twoslash: 0.2.10(typescript@5.5.4)
twoslash-vue: 0.2.10(typescript@5.5.4)
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
transitivePeerDependencies:
- '@nuxt/kit'
- supports-color
@ -8822,14 +8822,14 @@ snapshots:
lz-string: 1.5.0
pretty-format: 27.5.1
'@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4))':
'@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@babel/runtime': 7.23.9
'@testing-library/dom': 9.3.4
'@vue/test-utils': 2.4.6
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
optionalDependencies:
'@vue/compiler-sfc': 3.4.38
'@vue/compiler-sfc': 3.5.0
'@trysound/sax@0.2.0': {}
@ -9106,13 +9106,13 @@ snapshots:
'@unhead/schema': 1.10.4
'@unhead/shared': 1.10.4
'@unhead/vue@1.10.4(vue@3.4.38(typescript@5.5.4))':
'@unhead/vue@1.10.4(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@unhead/schema': 1.10.4
'@unhead/shared': 1.10.4
hookable: 5.5.3
unhead: 1.10.4
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
'@unocss/astro@0.62.2(rollup@4.21.2)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))':
dependencies:
@ -9491,20 +9491,20 @@ snapshots:
- encoding
- supports-color
'@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))':
'@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@babel/core': 7.25.2
'@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.25.2)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2)
vite: 5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.4.38(typescript@5.5.4))':
'@vitejs/plugin-vue@5.1.3(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vue@3.5.0(typescript@5.5.4))':
dependencies:
vite: 5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
'@vitest/coverage-v8@2.0.5(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))':
dependencies:
@ -9598,16 +9598,16 @@ snapshots:
path-browserify: 1.0.1
vscode-uri: 3.0.8
'@vue-macros/common@1.12.2(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))':
'@vue-macros/common@1.12.2(rollup@4.21.2)(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@babel/types': 7.25.2
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
'@vue/compiler-sfc': 3.4.38
'@vue/compiler-sfc': 3.5.0
ast-kit: 1.0.1
local-pkg: 0.5.0
magic-string-ast: 0.6.2
optionalDependencies:
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
transitivePeerDependencies:
- rollup
@ -9638,37 +9638,37 @@ snapshots:
'@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.24.7
'@babel/parser': 7.25.3
'@vue/compiler-sfc': 3.4.38
'@vue/compiler-sfc': 3.5.0
'@vue/compiler-core@3.4.38':
'@vue/compiler-core@3.5.0':
dependencies:
'@babel/parser': 7.25.3
'@vue/shared': 3.4.38
'@vue/shared': 3.5.0
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
'@vue/compiler-dom@3.4.38':
'@vue/compiler-dom@3.5.0':
dependencies:
'@vue/compiler-core': 3.4.38
'@vue/shared': 3.4.38
'@vue/compiler-core': 3.5.0
'@vue/shared': 3.5.0
'@vue/compiler-sfc@3.4.38':
'@vue/compiler-sfc@3.5.0':
dependencies:
'@babel/parser': 7.25.3
'@vue/compiler-core': 3.4.38
'@vue/compiler-dom': 3.4.38
'@vue/compiler-ssr': 3.4.38
'@vue/shared': 3.4.38
'@vue/compiler-core': 3.5.0
'@vue/compiler-dom': 3.5.0
'@vue/compiler-ssr': 3.5.0
'@vue/shared': 3.5.0
estree-walker: 2.0.2
magic-string: 0.30.11
postcss: 8.4.44
source-map-js: 1.2.0
'@vue/compiler-ssr@3.4.38':
'@vue/compiler-ssr@3.5.0':
dependencies:
'@vue/compiler-dom': 3.4.38
'@vue/shared': 3.4.38
'@vue/compiler-dom': 3.5.0
'@vue/shared': 3.5.0
'@vue/compiler-vue2@2.7.16':
dependencies:
@ -9705,9 +9705,9 @@ snapshots:
'@vue/language-core@2.0.29(typescript@5.5.4)':
dependencies:
'@volar/language-core': 2.4.1
'@vue/compiler-dom': 3.4.38
'@vue/compiler-dom': 3.5.0
'@vue/compiler-vue2': 2.7.16
'@vue/shared': 3.4.38
'@vue/shared': 3.5.0
computeds: 0.0.1
minimatch: 9.0.4
muggle-string: 0.4.1
@ -9718,9 +9718,9 @@ snapshots:
'@vue/language-core@2.1.4(typescript@5.5.4)':
dependencies:
'@volar/language-core': 2.4.1
'@vue/compiler-dom': 3.4.38
'@vue/compiler-dom': 3.5.0
'@vue/compiler-vue2': 2.7.16
'@vue/shared': 3.4.38
'@vue/shared': 3.5.0
computeds: 0.0.1
minimatch: 9.0.4
muggle-string: 0.4.1
@ -9728,50 +9728,50 @@ snapshots:
optionalDependencies:
typescript: 5.5.4
'@vue/reactivity@3.4.38':
'@vue/reactivity@3.5.0':
dependencies:
'@vue/shared': 3.4.38
'@vue/shared': 3.5.0
'@vue/runtime-core@3.4.38':
'@vue/runtime-core@3.5.0':
dependencies:
'@vue/reactivity': 3.4.38
'@vue/shared': 3.4.38
'@vue/reactivity': 3.5.0
'@vue/shared': 3.5.0
'@vue/runtime-dom@3.4.38':
'@vue/runtime-dom@3.5.0':
dependencies:
'@vue/reactivity': 3.4.38
'@vue/runtime-core': 3.4.38
'@vue/shared': 3.4.38
'@vue/reactivity': 3.5.0
'@vue/runtime-core': 3.5.0
'@vue/shared': 3.5.0
csstype: 3.1.3
'@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))':
'@vue/server-renderer@3.5.0(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@vue/compiler-ssr': 3.4.38
'@vue/shared': 3.4.38
vue: 3.4.38(typescript@5.5.4)
'@vue/compiler-ssr': 3.5.0
'@vue/shared': 3.5.0
vue: 3.5.0(typescript@5.5.4)
'@vue/shared@3.4.38': {}
'@vue/shared@3.5.0': {}
'@vue/test-utils@2.4.6':
dependencies:
js-beautify: 1.14.9
vue-component-type-helpers: 2.0.6
'@vueuse/core@11.0.1(vue@3.4.38(typescript@5.5.4))':
'@vueuse/core@11.0.1(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@types/web-bluetooth': 0.0.20
'@vueuse/metadata': 11.0.1
'@vueuse/shared': 11.0.1(vue@3.4.38(typescript@5.5.4))
vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
'@vueuse/shared': 11.0.1(vue@3.5.0(typescript@5.5.4))
vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/integrations@11.0.1(focus-trap@7.5.4)(vue@3.4.38(typescript@5.5.4))':
'@vueuse/integrations@11.0.1(focus-trap@7.5.4)(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@vueuse/core': 11.0.1(vue@3.4.38(typescript@5.5.4))
'@vueuse/shared': 11.0.1(vue@3.4.38(typescript@5.5.4))
vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
'@vueuse/core': 11.0.1(vue@3.5.0(typescript@5.5.4))
'@vueuse/shared': 11.0.1(vue@3.5.0(typescript@5.5.4))
vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4))
optionalDependencies:
focus-trap: 7.5.4
transitivePeerDependencies:
@ -9780,21 +9780,21 @@ snapshots:
'@vueuse/metadata@11.0.1': {}
'@vueuse/nuxt@11.0.1(nuxt@packages+nuxt)(vue@3.4.38(typescript@5.5.4))':
'@vueuse/nuxt@11.0.1(nuxt@packages+nuxt)(vue@3.5.0(typescript@5.5.4))':
dependencies:
'@nuxt/kit': link:packages/kit
'@vueuse/core': 11.0.1(vue@3.4.38(typescript@5.5.4))
'@vueuse/core': 11.0.1(vue@3.5.0(typescript@5.5.4))
'@vueuse/metadata': 11.0.1
local-pkg: 0.5.0
nuxt: link:packages/nuxt
vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/shared@11.0.1(vue@3.4.38(typescript@5.5.4))':
'@vueuse/shared@11.0.1(vue@3.5.0(typescript@5.5.4))':
dependencies:
vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
vue-demi: 0.14.10(vue@3.5.0(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -11201,11 +11201,11 @@ snapshots:
flatted@3.3.1: {}
floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.38(typescript@5.5.4)):
floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.5.0(typescript@5.5.4)):
dependencies:
'@floating-ui/dom': 1.1.1
vue: 3.4.38(typescript@5.5.4)
vue-resize: 2.0.0-alpha.1(vue@3.4.38(typescript@5.5.4))
vue: 3.5.0(typescript@5.5.4)
vue-resize: 2.0.0-alpha.1(vue@3.5.0(typescript@5.5.4))
optionalDependencies:
'@nuxt/kit': link:packages/kit
@ -14333,11 +14333,11 @@ snapshots:
- rollup
- supports-color
unplugin-vue-router@0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)):
unplugin-vue-router@0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4)):
dependencies:
'@babel/types': 7.25.2
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
'@vue-macros/common': 1.12.2(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
'@vue-macros/common': 1.12.2(rollup@4.21.2)(vue@3.5.0(typescript@5.5.4))
ast-walker-scope: 0.6.2
chokidar: 3.6.0
fast-glob: 3.3.2
@ -14350,7 +14350,7 @@ snapshots:
unplugin: 1.12.3
yaml: 2.5.0
optionalDependencies:
vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4))
vue-router: 4.4.3(vue@3.5.0(typescript@5.5.4))
transitivePeerDependencies:
- rollup
- vue
@ -14434,9 +14434,9 @@ snapshots:
util-deprecate@1.0.2: {}
v-lazy-show@0.2.4(@vue/compiler-core@3.4.38):
v-lazy-show@0.2.4(@vue/compiler-core@3.5.0):
dependencies:
'@vue/compiler-core': 3.4.38
'@vue/compiler-core': 3.5.0
valibot@0.38.0(typescript@5.5.4):
optionalDependencies:
@ -14552,7 +14552,7 @@ snapshots:
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2)
'@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.25.2)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2)
'@vue/compiler-dom': 3.4.38
'@vue/compiler-dom': 3.5.0
kolorist: 1.8.0
magic-string: 0.30.11
vite: 5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0)
@ -14570,9 +14570,9 @@ snapshots:
sass: 1.69.4
terser: 5.27.0
vitest-environment-nuxt@1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)):
vitest-environment-nuxt@1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4)):
dependencies:
'@nuxt/test-utils': 3.14.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
'@nuxt/test-utils': 3.14.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.3)(magicast@0.3.4)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.4))(playwright-core@1.46.1)(vite@5.4.2(@types/node@20.16.3)(sass@1.69.4)(terser@5.27.0))(vitest@2.0.5(@types/node@20.16.3)(happy-dom@15.7.3)(sass@1.69.4)(terser@5.27.0))(vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)))(vue@3.5.0(typescript@5.5.4))
transitivePeerDependencies:
- '@cucumber/cucumber'
- '@jest/globals'
@ -14691,9 +14691,9 @@ snapshots:
vue-component-type-helpers@2.0.6: {}
vue-demi@0.14.10(vue@3.4.38(typescript@5.5.4)):
vue-demi@0.14.10(vue@3.5.0(typescript@5.5.4)):
dependencies:
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
vue-devtools-stub@0.1.0: {}
@ -14710,24 +14710,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
vue-loader@17.4.2(@vue/compiler-sfc@3.4.38)(vue@3.4.38(typescript@5.5.4))(webpack@5.94.0):
vue-loader@17.4.2(@vue/compiler-sfc@3.5.0)(vue@3.5.0(typescript@5.5.4))(webpack@5.94.0):
dependencies:
chalk: 4.1.2
hash-sum: 2.0.0
watchpack: 2.4.1
webpack: 5.94.0
optionalDependencies:
'@vue/compiler-sfc': 3.4.38
vue: 3.4.38(typescript@5.5.4)
'@vue/compiler-sfc': 3.5.0
vue: 3.5.0(typescript@5.5.4)
vue-resize@2.0.0-alpha.1(vue@3.4.38(typescript@5.5.4)):
vue-resize@2.0.0-alpha.1(vue@3.5.0(typescript@5.5.4)):
dependencies:
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)):
vue-router@4.4.3(vue@3.5.0(typescript@5.5.4)):
dependencies:
'@vue/devtools-api': 6.6.3
vue: 3.4.38(typescript@5.5.4)
vue: 3.5.0(typescript@5.5.4)
vue-tsc@2.1.4(typescript@5.5.4):
dependencies:
@ -14736,13 +14736,13 @@ snapshots:
semver: 7.6.3
typescript: 5.5.4
vue@3.4.38(typescript@5.5.4):
vue@3.5.0(typescript@5.5.4):
dependencies:
'@vue/compiler-dom': 3.4.38
'@vue/compiler-sfc': 3.4.38
'@vue/runtime-dom': 3.4.38
'@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.5.4))
'@vue/shared': 3.4.38
'@vue/compiler-dom': 3.5.0
'@vue/compiler-sfc': 3.5.0
'@vue/runtime-dom': 3.5.0
'@vue/server-renderer': 3.5.0(vue@3.5.0(typescript@5.5.4))
'@vue/shared': 3.5.0
optionalDependencies:
typescript: 5.5.4

View File

@ -19,7 +19,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM
for (const outputDir of ['.output', '.output-inline']) {
it('default client bundle size', async () => {
const clientStats = await analyzeSizes(['**/*.js'], join(rootDir, outputDir, 'public'))
expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot(`"108k"`)
expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot(`"113k"`)
expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(`
[
"_nuxt/entry.js",
@ -32,10 +32,10 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM
const serverDir = join(rootDir, '.output/server')
const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir)
expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"211k"`)
expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"209k"`)
const modules = await analyzeSizes(['node_modules/**/*'], serverDir)
expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1352k"`)
expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1378k"`)
const packages = modules.files
.filter(m => m.endsWith('package.json'))
@ -72,7 +72,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM
const serverDir = join(rootDir, '.output-inline/server')
const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir)
expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"535k"`)
expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"555k"`)
const modules = await analyzeSizes(['node_modules/**/*'], serverDir)
expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"82.8k"`)

View File

@ -4,7 +4,6 @@ import { describe, expect, it, vi } from 'vitest'
import { defineEventHandler } from 'h3'
import { destr } from 'destr'
import { mount } from '@vue/test-utils'
import { mountSuspended, registerEndpoint } from '@nuxt/test-utils/runtime'
import { hasProtocol } from 'ufo'
@ -17,7 +16,6 @@ import { setResponseStatus, useRequestEvent, useRequestFetch, useRequestHeaders
import { clearNuxtState, useState } from '#app/composables/state'
import { useRequestURL } from '#app/composables/url'
import { getAppManifest, getRouteRules } from '#app/composables/manifest'
import { useId } from '#app/composables/id'
import { callOnce } from '#app/composables/once'
import { useLoadingIndicator } from '#app/composables/loading-indicator'
import { useRouteAnnouncer } from '#app/composables/route-announcer'
@ -91,7 +89,6 @@ describe('composables', () => {
'clearNuxtState',
'useState',
'useRequestURL',
'useId',
'useRoute',
'navigateTo',
'abortNavigation',
@ -113,6 +110,7 @@ describe('composables', () => {
'reloadNuxtApp',
'refreshCookie',
'onPrehydrate',
'useId',
'useFetch',
'useHead',
'useLazyFetch',
@ -472,33 +470,6 @@ describe('clearNuxtState', () => {
})
})
describe('useId', () => {
it('default', () => {
const vals = new Set<string>()
for (let index = 0; index < 100; index++) {
mount(defineComponent({
setup () {
const id = useId()
vals.add(id)
return () => h('div', id)
},
}))
}
expect(vals.size).toBe(100)
})
it('generates unique ids per-component', () => {
const component = defineComponent({
setup () {
const id = useId()
return () => h('div', id)
},
})
expect(mount(component).html()).not.toBe(mount(component).html())
})
})
describe('url', () => {
it('useRequestURL', () => {
const url = useRequestURL()