mirror of
https://github.com/nuxt/nuxt.git
synced 2025-01-22 19:32:40 +00:00
chore: code rabbit suggestions
This commit is contained in:
parent
ad28cee299
commit
e17f89b5f6
@ -11,7 +11,7 @@ export default defineNuxtModule<NuxtOptions['unhead']>({
|
|||||||
name: 'nuxt:meta',
|
name: 'nuxt:meta',
|
||||||
configKey: 'unhead',
|
configKey: 'unhead',
|
||||||
},
|
},
|
||||||
setup (options, nuxt) {
|
async setup (options, nuxt) {
|
||||||
const runtimeDir = resolve(distDir, 'head/runtime')
|
const runtimeDir = resolve(distDir, 'head/runtime')
|
||||||
|
|
||||||
// Transpile @unhead/vue
|
// Transpile @unhead/vue
|
||||||
@ -45,18 +45,18 @@ export default defineNuxtModule<NuxtOptions['unhead']>({
|
|||||||
rootDir: nuxt.options.rootDir,
|
rootDir: nuxt.options.rootDir,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
const unheadPlugins = await tryResolveModule('unhead/plugins', nuxt.options.modulesDir) || 'unhead/plugins'
|
||||||
addTemplate({
|
addTemplate({
|
||||||
filename: 'unhead-options.mjs',
|
filename: 'unhead-options.mjs',
|
||||||
async getContents () {
|
getContents () {
|
||||||
if (isNuxtV4) {
|
if (isNuxtV4) {
|
||||||
return `export default {}`
|
return `export default {}`
|
||||||
}
|
}
|
||||||
const unheadPlugins = await tryResolveModule('unhead/plugins', nuxt.options.modulesDir) || 'unhead/plugins'
|
|
||||||
// v1 unhead legacy options
|
// v1 unhead legacy options
|
||||||
const disableCapoSorting = !nuxt.options.experimental.headNext
|
const disableCapoSorting = !nuxt.options.experimental.headNext
|
||||||
return `import { DeprecationsPlugin, PromisesPlugin } from ${JSON.stringify(unheadPlugins)};
|
return `import { DeprecationsPlugin, PromisesPlugin } from ${JSON.stringify(unheadPlugins)};
|
||||||
export default {
|
export default {
|
||||||
disableCapoSorting: ${disableCapoSorting}
|
disableCapoSorting: ${Boolean(disableCapoSorting)},
|
||||||
plugins: [DeprecationsPlugin, PromisesPlugin],
|
plugins: [DeprecationsPlugin, PromisesPlugin],
|
||||||
}`
|
}`
|
||||||
},
|
},
|
||||||
|
@ -58,10 +58,10 @@ export const UnheadImportsPlugin = (options: UnheadImportsPluginOptions) => crea
|
|||||||
if (!id.includes('node_modules')) {
|
if (!id.includes('node_modules')) {
|
||||||
logger.warn(`You are importing from \`${UnheadVue}\` in \`./${relative(options.rootDir, id)}\`. Please import from \`#app\` instead for full type safety.`)
|
logger.warn(`You are importing from \`${UnheadVue}\` in \`./${relative(options.rootDir, id)}\`. Please import from \`#app\` instead for full type safety.`)
|
||||||
}
|
}
|
||||||
s.prepend(`import { ${toImports(importsFromUnhead).join(', ')} } from '#app/composables/head'\n`)
|
s.prepend(`import { ${toImports(importsFromUnhead).join(', ')} } from "#app/composables/head"\n`)
|
||||||
}
|
}
|
||||||
if (importsFromHead.length) {
|
if (importsFromHead.length) {
|
||||||
s.prepend(`import { ${toImports(importsFromHead).join(', ')} } from ${JSON.stringify(UnheadVue)}'\n`)
|
s.prepend(`import { ${toImports(importsFromHead).join(', ')} } from "${UnheadVue}"\n`)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s.hasChanged()) {
|
if (s.hasChanged()) {
|
||||||
|
@ -19,7 +19,12 @@ export function injectHead (nuxtApp?: NuxtApp): VueHeadClient<MergeHead> {
|
|||||||
const nuxt = nuxtApp || useNuxtApp()
|
const nuxt = nuxtApp || useNuxtApp()
|
||||||
return nuxt.ssrContext?.head || nuxt.runWithContext(() => {
|
return nuxt.ssrContext?.head || nuxt.runWithContext(() => {
|
||||||
if (hasInjectionContext()) {
|
if (hasInjectionContext()) {
|
||||||
return inject<VueHeadClient<MergeHead>>(headSymbol)!
|
const head = inject<VueHeadClient<MergeHead>>(headSymbol)
|
||||||
|
// should not be possible
|
||||||
|
if (!head) {
|
||||||
|
throw new Error('[nuxt] [unhead] Missing Unhead instance.')
|
||||||
|
}
|
||||||
|
return head
|
||||||
}
|
}
|
||||||
}) as VueHeadClient<MergeHead>
|
}) as VueHeadClient<MergeHead>
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user