Merge remote-tracking branch 'origin/main' into fix/inline-style-priority

This commit is contained in:
Daniel Roe 2023-09-04 13:32:18 +00:00
commit 2007eaf080
3 changed files with 14 additions and 9 deletions

View File

@ -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<any> | string) {
* Renders given types using lodash template during build into the project buildDir
* and register them as types.
*/
export function addTypeTemplate (_template: NuxtTemplate<any>) {
export function addTypeTemplate (_template: NuxtTypeTemplate<any>) {
const nuxt = useNuxt()
const template = addTemplate(_template)

View File

@ -18,7 +18,11 @@ export interface NuxtPlugin {
order?: number
}
export interface NuxtTemplate<Options = Record<string, any>> {
// Internal type for simpler NuxtTemplate interface extension
type TemplateDefaultOptions = Record<string, any>
export interface NuxtTemplate<Options = TemplateDefaultOptions> {
/** 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<Options = Record<string, any>> {
write?: boolean
}
export interface ResolvedNuxtTemplate<Options = Record<string, any>> extends NuxtTemplate<Options> {
export interface ResolvedNuxtTemplate<Options = TemplateDefaultOptions> extends NuxtTemplate<Options> {
filename: string
dst: string
}
export interface NuxtTypeTemplate<Options = TemplateDefaultOptions> extends Omit<NuxtTemplate<Options>, 'write'> {
write?: true
}
type _TemplatePlugin<Options> = Omit<NuxtPlugin, 'src'> & NuxtTemplate<Options>
export interface NuxtPluginTemplate<Options = Record<string, any>> extends _TemplatePlugin<Options> { }
export interface NuxtPluginTemplate<Options = TemplateDefaultOptions> extends _TemplatePlugin<Options> { }
export interface NuxtApp {
mainComponent?: string | null

View File

@ -132,10 +132,7 @@ function createViteNodeApp (ctx: ViteBuildContext, invalidates: Set<string> = 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
}