mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-29 00:52:01 +00:00
fix(nuxt): disallow write: false
for type templates (#22972)
This commit is contained in:
parent
7431e22588
commit
3e676a7fd2
@ -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)
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user