diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index e315783043..310bcdba25 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -146,7 +146,7 @@ export async function updateTemplates (options?: { filter?: (template: ResolvedN return await tryUseNuxt()?.hooks.callHook('builder:generateApp', options) } -const EXTENSION_RE = /\b\.\w+$/g +const EXTENSION_RE = /\b(?:\.d\.[cm]?ts|\.\w+)$/g // Exclude bridge alias types to support Volar const excludedAlias = [/^@vue\/.*$/, /^#internal\/nuxt/] export async function _generateTypes (nuxt: Nuxt) { @@ -289,7 +289,11 @@ export async function _generateTypes (nuxt: Nuxt) { let absolutePath = resolve(basePath, aliases[alias]!) let stats = await fsp.stat(absolutePath).catch(() => null /* file does not exist */) if (!stats) { - const resolvedModule = resolveModulePath(aliases[alias]!, { try: true, from: importPaths }) + const resolvedModule = resolveModulePath(aliases[alias]!, { + try: true, + from: importPaths, + extensions: [...nuxt.options.extensions, '.d.ts', '.d.mts', '.d.cts'], + }) if (resolvedModule) { absolutePath = resolvedModule stats = await fsp.stat(resolvedModule).catch(() => null)