diff --git a/nuxt.config.ts b/nuxt.config.ts index 694788ebb0..54f547026e 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,16 +1,21 @@ // For pnpm typecheck:docs to generate correct types -import { addPluginTemplate } from 'nuxt/kit' +import { addPluginTemplate, addRouteMiddleware } from 'nuxt/kit' export default defineNuxtConfig({ typescript: { shim: process.env.DOCS_TYPECHECK === 'true' }, pages: process.env.DOCS_TYPECHECK === 'true', modules: [ function () { + if (!process.env.DOCS_TYPECHECK) { return } addPluginTemplate({ filename: 'plugins/my-plugin.mjs', getContents: () => 'export default defineNuxtPlugin({ name: \'my-plugin\' })', }) + addRouteMiddleware({ + name: 'auth', + path: '#build/auth.js', + }) }, ], }) diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 81c38761cf..e91c031003 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -510,7 +510,7 @@ export default defineNuxtModule({ const namedMiddleware = app.middleware.filter(mw => !mw.global) return [ 'import type { NavigationGuard } from \'vue-router\'', - `export type MiddlewareKey = ${namedMiddleware.map(mw => genString(mw.name)).join(' | ') || 'string'}`, + `export type MiddlewareKey = ${namedMiddleware.map(mw => genString(mw.name)).join(' | ') || 'never'}`, `declare module ${genString(composablesFile)} {`, ' interface PageMeta {', ' middleware?: MiddlewareKey | NavigationGuard | Array',