Merge branch 'main' into patch-21

This commit is contained in:
Michael Brevard 2024-06-08 17:15:54 +03:00 committed by GitHub
commit 4442d5f294
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 230 additions and 222 deletions

4
.npmrc
View File

@ -1,2 +1,4 @@
shamefully-hoist=true # TODO: consider resolving webpack loaders to absolute path
public-hoist-pattern[]=*-loader
public-hoist-pattern[]=webpack-*
shell-emulator=true shell-emulator=true

View File

@ -56,6 +56,8 @@
"@types/fs-extra": "11.0.4", "@types/fs-extra": "11.0.4",
"@types/node": "20.14.2", "@types/node": "20.14.2",
"@types/semver": "7.5.8", "@types/semver": "7.5.8",
"@unhead/schema": "1.9.12",
"@vitejs/plugin-vue": "5.0.4",
"@vitest/coverage-v8": "1.6.0", "@vitest/coverage-v8": "1.6.0",
"@vue/test-utils": "2.4.6", "@vue/test-utils": "2.4.6",
"case-police": "0.6.1", "case-police": "0.6.1",

View File

@ -123,6 +123,7 @@
"@types/estree": "1.0.5", "@types/estree": "1.0.5",
"@types/fs-extra": "11.0.4", "@types/fs-extra": "11.0.4",
"@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue": "5.0.4",
"@vue/compiler-sfc": "3.4.27",
"unbuild": "latest", "unbuild": "latest",
"vite": "5.2.13", "vite": "5.2.13",
"vitest": "1.6.0" "vitest": "1.6.0"

View File

@ -43,7 +43,7 @@ export default defineComponent({
const name = (slotType.__name || slotType.name) as string const name = (slotType.__name || slotType.name) as string
islandContext.components[props.to] = { islandContext.components[props.to] = {
chunk: import.meta.dev ? '_nuxt/' + paths[name] : paths[name], chunk: import.meta.dev ? nuxtApp.$config.app.buildAssetsDir + paths[name] : paths[name],
props: slot.props || {}, props: slot.props || {},
} }

View File

@ -27,7 +27,11 @@ export const RenderPlugin = () => {
const critters = new Critters({ path: outputDir }) const critters = new Critters({ path: outputDir })
const htmlFiles = await globby(resolve(outputDir, 'templates/**/*.html'), { absolute: true }) const htmlFiles = await globby(resolve(outputDir, 'templates/**/*.html'), { absolute: true })
const templateExports = [] const templateExports: Array<{
exportName: string
templateName: string
types: string
}> = []
for (const fileName of htmlFiles) { for (const fileName of htmlFiles) {
// Infer template name // Infer template name
@ -48,9 +52,13 @@ export const RenderPlugin = () => {
html = html.replace(/<link[^>]*>/g, '') html = html.replace(/<link[^>]*>/g, '')
// Inline SVGs // Inline SVGs
const svgSources = Array.from(html.matchAll(/src="([^"]+)"|url([^)]+)/g)) const svgSources: string[] = []
.map(m => m[1])
.filter(src => src?.match(/\.svg$/)) for (const [_, src] of html.matchAll(/src="([^"]+)"|url([^)]+)/g)) {
if (src?.match(/\.svg$/)) {
svgSources.push(src)
}
}
for (const src of svgSources) { for (const src of svgSources) {
const svg = readFileSync(join(outputDir, src), 'utf-8') const svg = readFileSync(join(outputDir, src), 'utf-8')
@ -59,8 +67,13 @@ export const RenderPlugin = () => {
} }
// Inline our scripts // Inline our scripts
const scriptSources = Array.from(html.matchAll(/<script[^>]*src="([^"]*)"[^>]*>[\s\S]*?<\/script>/g)) const scriptSources: [string, string][] = []
.filter(([_block, src]) => src?.match(/^\/.*\.js$/))
for (const [block, src] of html.matchAll(/<script[^>]*src="([^"]*)"[^>]*>[\s\S]*?<\/script>/g)) {
if (src?.match(/^\/.*\.js$/)) {
scriptSources.push([block, src])
}
}
for (const [scriptBlock, src] of scriptSources) { for (const [scriptBlock, src] of scriptSources) {
let contents = readFileSync(join(outputDir, src), 'utf-8') let contents = readFileSync(join(outputDir, src), 'utf-8')
@ -83,8 +96,10 @@ export const RenderPlugin = () => {
const chunks = html.split(/\{{2,3}[^{}]+\}{2,3}/g).map(chunk => JSON.stringify(chunk)) const chunks = html.split(/\{{2,3}[^{}]+\}{2,3}/g).map(chunk => JSON.stringify(chunk))
const hasMessages = chunks.length > 1 const hasMessages = chunks.length > 1
let templateString = chunks.shift() let templateString = chunks.shift()
for (const expression of html.matchAll(/\{{2,3}([^{}]+)\}{2,3}/g)) { for (const [_, expression] of html.matchAll(/\{{2,3}([^{}]+)\}{2,3}/g)) {
templateString += ` + (${expression[1].trim()}) + ${chunks.shift()}` if (expression) {
templateString += ` + (${expression.trim()}) + ${chunks.shift()}`
}
} }
if (chunks.length > 0) { if (chunks.length > 0) {
templateString += ' + ' + chunks.join(' + ') templateString += ' + ' + chunks.join(' + ')
@ -110,7 +125,7 @@ export const RenderPlugin = () => {
.replace(/>\{\{\{\s*(\w+)\s*\}\}\}<\/[\w-]*>/g, ' v-html="$1" />') .replace(/>\{\{\{\s*(\w+)\s*\}\}\}<\/[\w-]*>/g, ' v-html="$1" />')
// We are not matching <link> <script> and <meta> tags as these aren't used yet in nuxt/ui // We are not matching <link> <script> and <meta> tags as these aren't used yet in nuxt/ui
// and should be taken care of wherever this SFC is used // and should be taken care of wherever this SFC is used
const title = html.match(/<title[^>]*>([\s\S]*)<\/title>/)?.[1].replace(/\{\{([\s\S]+?)\}\}/g, (r) => { const title = html.match(/<title[^>]*>([\s\S]*)<\/title>/)?.[1]?.replace(/\{\{([\s\S]+?)\}\}/g, (r) => {
return `\${${r.slice(2, -2)}}`.replace(/messages\./g, 'props.') return `\${${r.slice(2, -2)}}`.replace(/messages\./g, 'props.')
}) })
const styleContent = Array.from(html.matchAll(/<style[^>]*>([\s\S]*?)<\/style>/g)).map(block => block[1]).join('\n') const styleContent = Array.from(html.matchAll(/<style[^>]*>([\s\S]*?)<\/style>/g)).map(block => block[1]).join('\n')
@ -119,7 +134,7 @@ export const RenderPlugin = () => {
if (lastChar && !['}', '.', '@', '*', ':'].includes(lastChar)) { if (lastChar && !['}', '.', '@', '*', ':'].includes(lastChar)) {
return ';' + lastChar return ';' + lastChar
} }
return lastChar return lastChar || ''
}).replace(/@media[^{]*\{\}/g, '') }).replace(/@media[^{]*\{\}/g, '')
const inlineScripts = Array.from(html.matchAll(/<script>([\s\S]*?)<\/script>/g)) const inlineScripts = Array.from(html.matchAll(/<script>([\s\S]*?)<\/script>/g))
.map(block => block[1]) .map(block => block[1])

View File

@ -20,6 +20,7 @@
}, },
"devDependencies": { "devDependencies": {
"@types/html-minifier": "4.0.5", "@types/html-minifier": "4.0.5",
"@types/lodash-es": "4.17.12",
"@unocss/reset": "0.60.4", "@unocss/reset": "0.60.4",
"critters": "0.0.22", "critters": "0.0.22",
"execa": "9.2.0", "execa": "9.2.0",
@ -27,6 +28,7 @@
"html-minifier": "4.0.0", "html-minifier": "4.0.0",
"jiti": "1.21.0", "jiti": "1.21.0",
"knitwork": "1.1.0", "knitwork": "1.1.0",
"lodash-es": "4.17.21",
"pathe": "1.1.2", "pathe": "1.1.2",
"prettier": "3.3.1", "prettier": "3.3.1",
"scule": "1.3.0", "scule": "1.3.0",

View File

@ -73,6 +73,7 @@
"@nuxt/schema": "workspace:*", "@nuxt/schema": "workspace:*",
"@types/fs-extra": "11.0.4", "@types/fs-extra": "11.0.4",
"@types/hash-sum": "1.0.2", "@types/hash-sum": "1.0.2",
"@types/lodash-es": "4.17.12",
"@types/pify": "5.0.4", "@types/pify": "5.0.4",
"@types/webpack-bundle-analyzer": "4.7.0", "@types/webpack-bundle-analyzer": "4.7.0",
"@types/webpack-hot-middleware": "2.25.9", "@types/webpack-hot-middleware": "2.25.9",

View File

@ -17,10 +17,6 @@ interface PluginOptions {
nuxt: Nuxt nuxt: Nuxt
} }
function uniq<T> (items: T[]) {
return [...new Set(items)]
}
export default class VueSSRClientPlugin { export default class VueSSRClientPlugin {
options: PluginOptions options: PluginOptions
@ -34,38 +30,45 @@ export default class VueSSRClientPlugin {
compiler.hooks.afterEmit.tap('VueSSRClientPlugin', async (compilation: Compilation) => { compiler.hooks.afterEmit.tap('VueSSRClientPlugin', async (compilation: Compilation) => {
const stats = compilation.getStats().toJson() const stats = compilation.getStats().toJson()
const allFiles = uniq(stats.assets! const initialFiles = new Set<string>()
.map(a => a.name)) for (const name in stats.entrypoints!) {
.filter(file => !isHotUpdate(file)) const entryAssets = stats.entrypoints![name]!.assets!
for (const asset of entryAssets) {
const file = asset.name
if ((isJS(file) || isCSS(file)) && !isHotUpdate(file)) {
initialFiles.add(file)
}
}
}
const initialFiles = uniq(Object.keys(stats.entrypoints!) const allFiles = new Set<string>()
.map(name => stats.entrypoints![name].assets!) const asyncFiles = new Set<string>()
.reduce((files, entryAssets) => files.concat(entryAssets.map(entryAsset => entryAsset.name)), [] as string[])
.filter(file => isJS(file) || isCSS(file)))
.filter(file => !isHotUpdate(file))
const asyncFiles = allFiles for (const asset of stats.assets!) {
.filter(file => isJS(file) || isCSS(file)) const file = asset.name
.filter(file => !initialFiles.includes(file)) if (!isHotUpdate(file)) {
.filter(file => !isHotUpdate(file)) allFiles.add(file)
if (initialFiles.has(file)) { continue }
if (isJS(file) || isCSS(file)) {
asyncFiles.add(file)
}
}
}
const assetsMapping: Record<string, string[]> = {} const assetsMapping: Record<string, string[]> = {}
stats.assets! for (const { name, chunkNames = [] } of stats.assets!) {
.filter(({ name }) => isJS(name)) if (isJS(name) && !isHotUpdate(name)) {
.filter(({ name }) => !isHotUpdate(name))
.forEach(({ name, chunkNames = [] }) => {
const componentHash = hash(chunkNames.join('|')) const componentHash = hash(chunkNames.join('|'))
if (!assetsMapping[componentHash]) { const map = assetsMapping[componentHash] ||= []
assetsMapping[componentHash] = [] map.push(name)
} }
assetsMapping[componentHash].push(name) }
})
const webpackManifest = { const webpackManifest = {
publicPath: stats.publicPath, publicPath: stats.publicPath,
all: allFiles, all: [...allFiles],
initial: initialFiles, initial: [...initialFiles],
async: asyncFiles, async: [...asyncFiles],
modules: { /* [identifier: string]: Array<index: number> */ } as Record<string, number[]>, modules: { /* [identifier: string]: Array<index: number> */ } as Record<string, number[]>,
assetsMapping, assetsMapping,
} }
@ -78,7 +81,7 @@ export default class VueSSRClientPlugin {
if (m.chunks!.length === 1) { if (m.chunks!.length === 1) {
const [cid] = m.chunks! const [cid] = m.chunks!
const chunk = stats.chunks!.find(c => c.id === cid) const chunk = stats.chunks!.find(c => c.id === cid)
if (!chunk || !chunk.files) { if (!chunk || !chunk.files || !cid) {
return return
} }
const id = m.identifier!.replace(/\s\w+$/, '') // remove appended hash const id = m.identifier!.replace(/\s\w+$/, '') // remove appended hash

View File

@ -26,7 +26,7 @@ export default class VueSSRServerPlugin {
}, (assets: any, cb: any) => { }, (assets: any, cb: any) => {
const stats = compilation.getStats().toJson() const stats = compilation.getStats().toJson()
const [entryName] = Object.keys(stats.entrypoints!) const [entryName] = Object.keys(stats.entrypoints!)
const entryInfo = stats.entrypoints![entryName] const entryInfo = stats.entrypoints![entryName!]
if (!entryInfo) { if (!entryInfo) {
// #5553 // #5553

View File

@ -13,8 +13,7 @@ export const validate = (compiler: Compiler) => {
if (!compiler.options.externals) { if (!compiler.options.externals) {
logger.info( logger.info(
'It is recommended to externalize dependencies in the server build for ' + 'It is recommended to externalize dependencies in the server build for better build performance.',
'better build performance.',
) )
} }
} }

View File

@ -16,10 +16,10 @@ export function esbuild (ctx: WebpackConfigContext) {
loader: 'esbuild-loader', loader: 'esbuild-loader',
exclude: (file) => { exclude: (file) => {
// Not exclude files outside node_modules // Not exclude files outside node_modules
file = file.split('node_modules', 2)[1] const lastSegment = file.split('node_modules', 2)[1]
if (!file) { return false } if (!lastSegment) { return false }
return !ctx.transpile.some(module => module.test(file)) return !ctx.transpile.some(module => module.test(lastSegment))
}, },
resolve: { resolve: {
fullySpecified: false, fullySpecified: false,

View File

@ -21,14 +21,15 @@ function minimizer (ctx: WebpackConfigContext) {
} }
function extractCSS (ctx: WebpackConfigContext) { function extractCSS (ctx: WebpackConfigContext) {
const config = ctx.userConfig.extractCSS
if (!config) { return }
// CSS extraction // CSS extraction
if (ctx.userConfig.extractCSS) { const filename = fileName(ctx, 'css')
ctx.config.plugins!.push(new MiniCssExtractPlugin({ ctx.config.plugins!.push(new MiniCssExtractPlugin({
filename: fileName(ctx, 'css'), filename,
chunkFilename: fileName(ctx, 'css'), chunkFilename: filename,
...ctx.userConfig.extractCSS === true ? {} : ctx.userConfig.extractCSS, ...config === true ? {} : config,
})) }))
}
} }
function loaders (ctx: WebpackConfigContext) { function loaders (ctx: WebpackConfigContext) {

View File

@ -6,21 +6,18 @@ import { defu } from 'defu'
const isPureObject = (obj: unknown): obj is Object => obj !== null && !Array.isArray(obj) && typeof obj === 'object' const isPureObject = (obj: unknown): obj is Object => obj !== null && !Array.isArray(obj) && typeof obj === 'object'
const ensureItemIsLast = (item: string) => (arr: string[]) => {
const index = arr.indexOf(item)
if (index !== -1) {
arr.splice(index, 1)
arr.push(item)
}
return arr
}
const orderPresets = { const orderPresets = {
cssnanoLast (names: string[]) { cssnanoLast: ensureItemIsLast('cssnano'),
const nanoIndex = names.indexOf('cssnano') autoprefixerLast: ensureItemIsLast('autoprefixer'),
if (nanoIndex !== names.length - 1) {
names.push(names.splice(nanoIndex, 1)[0])
}
return names
},
autoprefixerLast (names: string[]) {
const nanoIndex = names.indexOf('autoprefixer')
if (nanoIndex !== names.length - 1) {
names.push(names.splice(nanoIndex, 1)[0])
}
return names
},
autoprefixerAndCssnanoLast (names: string[]) { autoprefixerAndCssnanoLast (names: string[]) {
return orderPresets.cssnanoLast(orderPresets.autoprefixerLast(names)) return orderPresets.cssnanoLast(orderPresets.autoprefixerLast(names))
}, },

View File

@ -8,7 +8,7 @@ export function registerVirtualModules () {
const virtualModules = new VirtualModulesPlugin(nuxt.vfs) const virtualModules = new VirtualModulesPlugin(nuxt.vfs)
const writeFiles = () => { const writeFiles = () => {
for (const filePath in nuxt.vfs) { for (const filePath in nuxt.vfs) {
virtualModules.writeModule(filePath, nuxt.vfs[filePath]) virtualModules.writeModule(filePath, nuxt.vfs[filePath] || '')
} }
} }

View File

@ -7,7 +7,11 @@
"start": "nuxi preview" "start": "nuxi preview"
}, },
"dependencies": { "dependencies": {
"@unhead/shared": "latest",
"@vue/devtools-api": "latest",
"@vue/shared": "latest",
"nuxt": "workspace:*", "nuxt": "workspace:*",
"unhead": "latest",
"vue": "latest" "vue": "latest"
} }
} }

View File

@ -50,6 +50,12 @@ importers:
'@types/semver': '@types/semver':
specifier: 7.5.8 specifier: 7.5.8
version: 7.5.8 version: 7.5.8
'@unhead/schema':
specifier: 1.9.12
version: 1.9.12
'@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))
'@vitest/coverage-v8': '@vitest/coverage-v8':
specifier: 1.6.0 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)) 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))
@ -251,7 +257,7 @@ importers:
version: 2.0.2 version: 2.0.2
'@nuxt/devtools': '@nuxt/devtools':
specifier: ^1.3.3 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.12.12)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.12.12)(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(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': '@nuxt/kit':
specifier: workspace:* specifier: workspace:*
version: link:../kit version: link:../kit
@ -266,7 +272,7 @@ importers:
version: link:../vite version: link:../vite
'@types/node': '@types/node':
specifier: ^14.18.0 || >=16.10.0 specifier: ^14.18.0 || >=16.10.0
version: 20.12.12 version: 20.14.2
'@unhead/dom': '@unhead/dom':
specifier: ^1.9.12 specifier: ^1.9.12
version: 1.9.12 version: 1.9.12
@ -435,16 +441,19 @@ importers:
version: 11.0.4 version: 11.0.4
'@vitejs/plugin-vue': '@vitejs/plugin-vue':
specifier: 5.0.4 specifier: 5.0.4
version: 5.0.4(vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5)) 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))
'@vue/compiler-sfc':
specifier: 3.4.27
version: 3.4.27
unbuild: unbuild:
specifier: latest specifier: latest
version: 2.0.0(sass@1.69.4)(typescript@5.4.5) version: 2.0.0(sass@1.69.4)(typescript@5.4.5)
vite: vite:
specifier: 5.2.13 specifier: 5.2.13
version: 5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0) version: 5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)
vitest: vitest:
specifier: 1.6.0 specifier: 1.6.0
version: 1.6.0(@types/node@20.12.12)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0) version: 1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0)
packages/schema: packages/schema:
dependencies: dependencies:
@ -569,6 +578,9 @@ importers:
'@types/html-minifier': '@types/html-minifier':
specifier: 4.0.5 specifier: 4.0.5
version: 4.0.5 version: 4.0.5
'@types/lodash-es':
specifier: 4.17.12
version: 4.17.12
'@unocss/reset': '@unocss/reset':
specifier: 0.60.4 specifier: 0.60.4
version: 0.60.4 version: 0.60.4
@ -590,6 +602,9 @@ importers:
knitwork: knitwork:
specifier: 1.1.0 specifier: 1.1.0
version: 1.1.0 version: 1.1.0
lodash-es:
specifier: 4.17.21
version: 4.17.21
pathe: pathe:
specifier: 1.1.2 specifier: 1.1.2
version: 1.1.2 version: 1.1.2
@ -871,6 +886,9 @@ importers:
'@types/hash-sum': '@types/hash-sum':
specifier: 1.0.2 specifier: 1.0.2
version: 1.0.2 version: 1.0.2
'@types/lodash-es':
specifier: 4.17.12
version: 4.17.12
'@types/pify': '@types/pify':
specifier: 5.0.4 specifier: 5.0.4
version: 5.0.4 version: 5.0.4
@ -892,9 +910,21 @@ importers:
playground: playground:
dependencies: dependencies:
'@unhead/shared':
specifier: latest
version: 1.9.12
'@vue/devtools-api':
specifier: latest
version: 6.6.3
'@vue/shared':
specifier: latest
version: 3.4.27
nuxt: nuxt:
specifier: workspace:* specifier: workspace:*
version: link:../packages/nuxt version: link:../packages/nuxt
unhead:
specifier: latest
version: 1.9.12
vue: vue:
specifier: 3.4.27 specifier: 3.4.27
version: 3.4.27(typescript@5.4.5) version: 3.4.27(typescript@5.4.5)
@ -908,9 +938,27 @@ importers:
specifier: workspace:* specifier: workspace:*
version: link:../../../packages/nuxt version: link:../../../packages/nuxt
devDependencies: devDependencies:
'@unhead/dom':
specifier: latest
version: 1.9.12
'@unhead/shared':
specifier: latest
version: 1.9.12
'@vue/devtools-api':
specifier: latest
version: 6.6.3
'@vue/shared':
specifier: latest
version: 3.4.27
iron-webcrypto:
specifier: latest
version: 1.2.1
ufo: ufo:
specifier: latest specifier: latest
version: 1.5.3 version: 1.5.3
unhead:
specifier: latest
version: 1.9.12
unplugin: unplugin:
specifier: latest specifier: latest
version: 1.10.1 version: 1.10.1
@ -927,6 +975,9 @@ importers:
ofetch: ofetch:
specifier: latest specifier: latest
version: 1.3.4 version: 1.3.4
unplugin-vue-router:
specifier: ^0.7.0
version: 0.7.0(rollup@4.18.0)(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
vitest: vitest:
specifier: 1.5.3 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) version: 1.5.3(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0)
@ -960,6 +1011,19 @@ importers:
nuxt: nuxt:
specifier: workspace:* specifier: workspace:*
version: link:../../../packages/nuxt version: link:../../../packages/nuxt
devDependencies:
'@unhead/shared':
specifier: latest
version: 1.9.12
'@vue/devtools-api':
specifier: latest
version: 6.6.3
'@vue/shared':
specifier: latest
version: 3.4.27
unhead:
specifier: latest
version: 1.9.12
test/fixtures/suspense: test/fixtures/suspense:
dependencies: dependencies:
@ -970,9 +1034,21 @@ importers:
specifier: 3.4.27 specifier: 3.4.27
version: 3.4.27(typescript@5.4.5) version: 3.4.27(typescript@5.4.5)
devDependencies: devDependencies:
'@unhead/shared':
specifier: latest
version: 1.9.12
'@vue/devtools-api':
specifier: latest
version: 6.6.3
'@vue/shared':
specifier: latest
version: 3.4.27
typescript: typescript:
specifier: latest specifier: latest
version: 5.4.5 version: 5.4.5
unhead:
specifier: latest
version: 1.9.12
packages: packages:
@ -2887,6 +2963,9 @@ packages:
'@vue/devtools-api@6.5.1': '@vue/devtools-api@6.5.1':
resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==}
'@vue/devtools-api@6.6.3':
resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
'@vue/devtools-applet@7.1.3': '@vue/devtools-applet@7.1.3':
resolution: {integrity: sha512-525h17FzUF7ssko/U+yeP5jv0HaGm3eI4dVqncWPRCLTDtOy1V+srjoxYqr5qnzx6AdIU2icPQF2KNomd9FGZw==} resolution: {integrity: sha512-525h17FzUF7ssko/U+yeP5jv0HaGm3eI4dVqncWPRCLTDtOy1V+srjoxYqr5qnzx6AdIU2icPQF2KNomd9FGZw==}
peerDependencies: peerDependencies:
@ -4659,6 +4738,9 @@ packages:
iron-webcrypto@1.0.0: iron-webcrypto@1.0.0:
resolution: {integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==} resolution: {integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==}
iron-webcrypto@1.2.1:
resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
is-absolute-url@4.0.1: is-absolute-url@4.0.1:
resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@ -8470,13 +8552,13 @@ snapshots:
'@nuxt/devalue@2.0.2': {} '@nuxt/devalue@2.0.2': {}
'@nuxt/devtools-kit@1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))': '@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))':
dependencies: dependencies:
'@nuxt/kit': link:packages/kit '@nuxt/kit': link:packages/kit
'@nuxt/schema': link:packages/schema '@nuxt/schema': link:packages/schema
execa: 7.2.0 execa: 7.2.0
nuxt: link:packages/nuxt nuxt: link:packages/nuxt
vite: 5.2.13(@types/node@20.12.12)(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)
'@nuxt/devtools-wizard@1.3.3': '@nuxt/devtools-wizard@1.3.3':
dependencies: dependencies:
@ -8491,14 +8573,14 @@ snapshots:
rc9: 2.1.2 rc9: 2.1.2
semver: 7.6.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.12.12)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.12.12)(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(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: dependencies:
'@antfu/utils': 0.7.8 '@antfu/utils': 0.7.8
'@nuxt/devtools-kit': 1.3.3(nuxt@packages+nuxt)(vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)) '@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/devtools-wizard': 1.3.3
'@nuxt/kit': link:packages/kit '@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.12.12)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.12.12)(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(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.12.12)(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)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5))
birpc: 0.2.17 birpc: 0.2.17
consola: 3.2.3 consola: 3.2.3
@ -8528,9 +8610,9 @@ snapshots:
simple-git: 3.24.0 simple-git: 3.24.0
sirv: 2.0.4 sirv: 2.0.4
unimport: 3.7.2(rollup@4.18.0) unimport: 3.7.2(rollup@4.18.0)
vite: 5.2.13(@types/node@20.12.12)(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)
vite-plugin-inspect: 0.8.4(@nuxt/kit@packages+kit)(rollup@4.18.0)(vite@5.2.13(@types/node@20.12.12)(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.12.12)(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))
which: 3.0.1 which: 3.0.1
ws: 8.17.0 ws: 8.17.0
transitivePeerDependencies: transitivePeerDependencies:
@ -9333,16 +9415,6 @@ snapshots:
unhead: 1.9.12 unhead: 1.9.12
vue: 3.4.27(typescript@5.4.5) vue: 3.4.27(typescript@5.4.5)
'@unocss/astro@0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.12.12)(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.12.12)(sass@1.69.4)(terser@5.27.0))
optionalDependencies:
vite: 5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
transitivePeerDependencies:
- rollup
'@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.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))':
dependencies: dependencies:
'@unocss/core': 0.60.4 '@unocss/core': 0.60.4
@ -9480,22 +9552,6 @@ snapshots:
dependencies: dependencies:
'@unocss/core': 0.60.4 '@unocss/core': 0.60.4
'@unocss/vite@0.60.4(rollup@4.18.0)(vite@5.2.13(@types/node@20.12.12)(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.60.4
'@unocss/core': 0.60.4
'@unocss/inspector': 0.60.4
'@unocss/scope': 0.60.4
'@unocss/transformer-directives': 0.60.4
chokidar: 3.6.0
fast-glob: 3.3.2
magic-string: 0.30.10
vite: 5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
transitivePeerDependencies:
- rollup
'@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.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))':
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
@ -9540,11 +9596,6 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vitejs/plugin-vue@5.0.4(vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
vite: 5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
vue: 3.4.27(typescript@5.4.5)
'@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.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
dependencies: dependencies:
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)
@ -9705,7 +9756,7 @@ snapshots:
'@vue/compiler-sfc@3.4.27': '@vue/compiler-sfc@3.4.27':
dependencies: dependencies:
'@babel/parser': 7.24.5 '@babel/parser': 7.24.7
'@vue/compiler-core': 3.4.27 '@vue/compiler-core': 3.4.27
'@vue/compiler-dom': 3.4.27 '@vue/compiler-dom': 3.4.27
'@vue/compiler-ssr': 3.4.27 '@vue/compiler-ssr': 3.4.27
@ -9722,12 +9773,14 @@ snapshots:
'@vue/devtools-api@6.5.1': {} '@vue/devtools-api@6.5.1': {}
'@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.12.12)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))': '@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))':
dependencies: dependencies:
'@vue/devtools-core': 7.1.3(vite@5.2.13(@types/node@20.12.12)(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)) '@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-shared': 7.1.3 '@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.12.12)(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(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 lodash-es: 4.17.21
perfect-debounce: 1.0.0 perfect-debounce: 1.0.0
shiki: 1.3.0 shiki: 1.3.0
@ -9752,14 +9805,14 @@ snapshots:
- unocss - unocss
- vite - vite
'@vue/devtools-core@7.1.3(vite@5.2.13(@types/node@20.12.12)(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))':
dependencies: dependencies:
'@vue/devtools-kit': 7.1.3(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-shared': 7.1.3
mitt: 3.0.1 mitt: 3.0.1
nanoid: 3.3.7 nanoid: 3.3.7
pathe: 1.1.2 pathe: 1.1.2
vite-hot-client: 0.2.3(vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)) vite-hot-client: 0.2.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))
transitivePeerDependencies: transitivePeerDependencies:
- vite - vite
- vue - vue
@ -9777,7 +9830,7 @@ snapshots:
dependencies: dependencies:
rfdc: 1.3.1 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.12.12)(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(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: dependencies:
'@unocss/reset': 0.60.4 '@unocss/reset': 0.60.4
'@vue/devtools-shared': 7.1.3 '@vue/devtools-shared': 7.1.3
@ -9787,7 +9840,7 @@ snapshots:
colord: 2.9.3 colord: 2.9.3
floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)) floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5))
focus-trap: 7.5.4 focus-trap: 7.5.4
unocss: 0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.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))
vue: 3.4.27(typescript@5.4.5) vue: 3.4.27(typescript@5.4.5)
transitivePeerDependencies: transitivePeerDependencies:
- '@vue/composition-api' - '@vue/composition-api'
@ -10125,7 +10178,7 @@ snapshots:
ast-kit@0.11.3(rollup@4.18.0): ast-kit@0.11.3(rollup@4.18.0):
dependencies: dependencies:
'@babel/parser': 7.24.5 '@babel/parser': 7.24.7
'@rollup/pluginutils': 5.1.0(rollup@4.18.0) '@rollup/pluginutils': 5.1.0(rollup@4.18.0)
pathe: 1.1.2 pathe: 1.1.2
transitivePeerDependencies: transitivePeerDependencies:
@ -11827,6 +11880,8 @@ snapshots:
iron-webcrypto@1.0.0: {} iron-webcrypto@1.0.0: {}
iron-webcrypto@1.2.1: {}
is-absolute-url@4.0.1: {} is-absolute-url@4.0.1: {}
is-alphabetical@2.0.1: {} is-alphabetical@2.0.1: {}
@ -14535,35 +14590,6 @@ snapshots:
universalify@2.0.0: {} universalify@2.0.0: {}
unocss@0.60.4(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.13(@types/node@20.12.12)(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.12.12)(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
'@unocss/postcss': 0.60.4(postcss@8.4.38)
'@unocss/preset-attributify': 0.60.4
'@unocss/preset-icons': 0.60.4
'@unocss/preset-mini': 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/transformer-attributify-jsx': 0.60.4
'@unocss/transformer-attributify-jsx-babel': 0.60.4
'@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.12.12)(sass@1.69.4)(terser@5.27.0))
optionalDependencies:
vite: 5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
transitivePeerDependencies:
- postcss
- rollup
- supports-color
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(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: 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.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0))
@ -14719,9 +14745,9 @@ snapshots:
unist-util-stringify-position: 4.0.0 unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2 vfile-message: 4.0.2
vite-hot-client@0.2.3(vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)): vite-hot-client@0.2.3(vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0)):
dependencies: dependencies:
vite: 5.2.13(@types/node@20.12.12)(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)
vite-node@1.5.3(@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: dependencies:
@ -14740,23 +14766,6 @@ snapshots:
- supports-color - supports-color
- terser - terser
vite-node@1.6.0(@types/node@20.12.12)(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.12.12)(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): vite-node@1.6.0(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0):
dependencies: dependencies:
cac: 6.7.14 cac: 6.7.14
@ -14798,7 +14807,7 @@ snapshots:
typescript: 5.4.5 typescript: 5.4.5
vue-tsc: 2.0.19(typescript@5.4.5) vue-tsc: 2.0.19(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.12.12)(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)):
dependencies: dependencies:
'@antfu/utils': 0.7.8 '@antfu/utils': 0.7.8
'@rollup/pluginutils': 5.1.0(rollup@4.18.0) '@rollup/pluginutils': 5.1.0(rollup@4.18.0)
@ -14809,14 +14818,14 @@ snapshots:
perfect-debounce: 1.0.0 perfect-debounce: 1.0.0
picocolors: 1.0.0 picocolors: 1.0.0
sirv: 2.0.4 sirv: 2.0.4
vite: 5.2.13(@types/node@20.12.12)(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)
optionalDependencies: optionalDependencies:
'@nuxt/kit': link:packages/kit '@nuxt/kit': link:packages/kit
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
vite-plugin-vue-inspector@5.1.0(vite@5.2.13(@types/node@20.12.12)(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)):
dependencies: dependencies:
'@babel/core': 7.24.7 '@babel/core': 7.24.7
'@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.7) '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.7)
@ -14827,21 +14836,10 @@ snapshots:
'@vue/compiler-dom': 3.4.27 '@vue/compiler-dom': 3.4.27
kolorist: 1.8.0 kolorist: 1.8.0
magic-string: 0.30.10 magic-string: 0.30.10
vite: 5.2.13(@types/node@20.12.12)(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)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
vite@5.2.13(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0):
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.18.0
optionalDependencies:
'@types/node': 20.12.12
fsevents: 2.3.3
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): vite@5.2.13(@types/node@20.14.2)(sass@1.69.4)(terser@5.27.0):
dependencies: dependencies:
esbuild: 0.20.2 esbuild: 0.20.2
@ -14907,40 +14905,6 @@ snapshots:
- supports-color - supports-color
- terser - terser
vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0):
dependencies:
'@vitest/expect': 1.6.0
'@vitest/runner': 1.6.0
'@vitest/snapshot': 1.6.0
'@vitest/spy': 1.6.0
'@vitest/utils': 1.6.0
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.12.12)(sass@1.69.4)(terser@5.27.0)
vite-node: 1.6.0(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
why-is-node-running: 2.2.2
optionalDependencies:
'@types/node': 20.12.12
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): vitest@1.6.0(@types/node@20.14.2)(happy-dom@14.12.0)(sass@1.69.4)(terser@5.27.0):
dependencies: dependencies:
'@vitest/expect': 1.6.0 '@vitest/expect': 1.6.0

View File

@ -72,7 +72,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM
const serverDir = join(rootDir, '.output-inline/server') const serverDir = join(rootDir, '.output-inline/server')
const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir)
expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"527k"`) expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"528k"`)
const modules = await analyzeSizes('node_modules/**/*', serverDir) const modules = await analyzeSizes('node_modules/**/*', serverDir)
expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"76.2k"`) expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"76.2k"`)

View File

@ -10,6 +10,7 @@
}, },
"devDependencies": { "devDependencies": {
"ofetch": "latest", "ofetch": "latest",
"unplugin-vue-router": "^0.7.0",
"vitest": "1.5.3", "vitest": "1.5.3",
"vue": "latest", "vue": "latest",
"vue-router": "latest" "vue-router": "latest"

View File

@ -9,7 +9,13 @@
"nuxt": "workspace:*" "nuxt": "workspace:*"
}, },
"devDependencies": { "devDependencies": {
"@unhead/dom": "latest",
"@unhead/shared": "latest",
"@vue/devtools-api": "latest",
"@vue/shared": "latest",
"iron-webcrypto": "latest",
"ufo": "latest", "ufo": "latest",
"unhead": "latest",
"unplugin": "latest", "unplugin": "latest",
"vue": "latest" "vue": "latest"
} }

View File

@ -6,5 +6,11 @@
}, },
"dependencies": { "dependencies": {
"nuxt": "workspace:*" "nuxt": "workspace:*"
},
"devDependencies": {
"@unhead/shared": "latest",
"@vue/devtools-api": "latest",
"@vue/shared": "latest",
"unhead": "latest"
} }
} }

View File

@ -9,6 +9,10 @@
"vue": "latest" "vue": "latest"
}, },
"devDependencies": { "devDependencies": {
"typescript": "latest" "@unhead/shared": "latest",
"@vue/devtools-api": "latest",
"@vue/shared": "latest",
"typescript": "latest",
"unhead": "latest"
} }
} }