diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index 96cf22b57c..d04e4d63ee 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -1,7 +1,7 @@ import { existsSync, promises as fsp } from 'node:fs' import { basename, isAbsolute, join, parse, relative, resolve } from 'pathe' import hash from 'hash-sum' -import type { Nuxt, NuxtTemplate, ResolvedNuxtTemplate, TSReference } from '@nuxt/schema' +import type { Nuxt, NuxtTemplate, NuxtTypeTemplate, ResolvedNuxtTemplate, TSReference } from '@nuxt/schema' import { withTrailingSlash } from 'ufo' import { defu } from 'defu' import type { TSConfig } from 'pkg-types' @@ -34,7 +34,7 @@ export function addTemplate (_template: NuxtTemplate | string) { * Renders given types using lodash template during build into the project buildDir * and register them as types. */ -export function addTypeTemplate (_template: NuxtTemplate) { +export function addTypeTemplate (_template: NuxtTypeTemplate) { const nuxt = useNuxt() const template = addTemplate(_template) diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index 224c1190ca..a55c0ed8de 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -18,7 +18,11 @@ export interface NuxtPlugin { order?: number } -export interface NuxtTemplate> { +// Internal type for simpler NuxtTemplate interface extension + +type TemplateDefaultOptions = Record + +export interface NuxtTemplate { /** resolved output file path (generated) */ dst?: string /** The target filename once the template is copied into the Nuxt buildDir */ @@ -33,13 +37,17 @@ export interface NuxtTemplate> { write?: boolean } -export interface ResolvedNuxtTemplate> extends NuxtTemplate { +export interface ResolvedNuxtTemplate extends NuxtTemplate { filename: string dst: string } +export interface NuxtTypeTemplate extends Omit, 'write'> { + write?: true +} + type _TemplatePlugin = Omit & NuxtTemplate -export interface NuxtPluginTemplate> extends _TemplatePlugin { } +export interface NuxtPluginTemplate extends _TemplatePlugin { } export interface NuxtApp { mainComponent?: string | null diff --git a/packages/vite/src/vite-node.ts b/packages/vite/src/vite-node.ts index 9f3a8e93cc..1713611885 100644 --- a/packages/vite/src/vite-node.ts +++ b/packages/vite/src/vite-node.ts @@ -132,10 +132,7 @@ function createViteNodeApp (ctx: ViteBuildContext, invalidates: Set = ne node.shouldExternalize = async (id: string) => { const result = await isExternal(id) if (result?.external) { - return resolveModule(result.id, { - url: ctx.nuxt.options.modulesDir, - conditions: ['node', 'import', 'require'] - }).catch(() => false) + return resolveModule(result.id, { url: ctx.nuxt.options.modulesDir }).catch(() => false) } return false }