diff --git a/package.json b/package.json index 7eac973c8c..7e231821c3 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", "@types/node": "22.13.2", - "@unhead/vue": "2.0.0-alpha.13", + "@unhead/vue": "2.0.0-alpha.14", "@vue/compiler-core": "3.5.13", "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13", @@ -83,7 +83,7 @@ "@types/babel__helper-plugin-utils": "7.10.3", "@types/node": "22.13.2", "@types/semver": "7.5.8", - "@unhead/vue": "2.0.0-alpha.13", + "@unhead/vue": "2.0.0-alpha.14", "@vitest/coverage-v8": "3.0.5", "@vue/test-utils": "2.4.6", "acorn": "8.14.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 03db2020ed..801f6d0645 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -71,7 +71,7 @@ "@nuxt/schema": "workspace:*", "@nuxt/telemetry": "^2.6.5", "@nuxt/vite-builder": "workspace:*", - "@unhead/vue": "^2.0.0-alpha.13", + "@unhead/vue": "^2.0.0-alpha.14", "@vue/shared": "^3.5.13", "acorn": "8.14.0", "c12": "^2.0.2", diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index f45d7aca6b..9c63aac5ac 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -17,6 +17,7 @@ import destr from 'destr' import { getQuery as getURLQuery, joinURL, withoutTrailingSlash } from 'ufo' import { renderToString as _renderToString } from 'vue/server-renderer' import { createHead, propsToString, renderSSRHead } from '@unhead/vue/server' +import { resolveUnrefHeadInput } from '@unhead/vue/utils' import type { Head, HeadEntryOptions, Link, ResolvedHead, Script, Style } from '@unhead/vue/types' import { defineRenderHandler, getRouteRules, useNitroApp, useRuntimeConfig, useStorage } from 'nitro/runtime' @@ -467,21 +468,17 @@ export default defineRenderHandler(async (event): Promise { expect(headHtml).toContain('') expect(headHtml).toMatch(/]*class="html-attrs-test"/) expect(headHtml).toMatch(/]*class="body-attrs-test"/) - expect(headHtml).toContain('') + + const bodyHtml = headHtml.match(/]*>(.*)<\/body>/s)![1] + expect(bodyHtml).toContain('') const indexHtml = await $fetch('/') // should render charset by default diff --git a/test/fixtures/basic/pages/head-script-setup.vue b/test/fixtures/basic/pages/head-script-setup.vue index 788c58154a..bfb438fdbd 100644 --- a/test/fixtures/basic/pages/head-script-setup.vue +++ b/test/fixtures/basic/pages/head-script-setup.vue @@ -1,4 +1,10 @@