feat: support component-level compilerOptions when using runtime compiler

- The `delimiters` component option is deprecated.
  Use `compilerOptions.delimiters` instead.
This commit is contained in:
Evan You
2021-04-28 11:35:59 -04:00
parent e486254431
commit ce0bbe053a
4 changed files with 142 additions and 7 deletions

View File

@@ -150,6 +150,9 @@ export interface ComponentOptionsBase<
expose?: string[]
serverPrefetch?(): Promise<any>
// Runtime compiler only -----------------------------------------------------
compilerOptions?: RuntimeCompilerOptions
// Internal ------------------------------------------------------------------
/**
@@ -203,6 +206,16 @@ export interface ComponentOptionsBase<
__defaults?: Defaults
}
/**
* Subset of compiler options that makes sense for the runtime.
*/
export interface RuntimeCompilerOptions {
isCustomElement?: (tag: string) => boolean
whitespace?: 'preserve' | 'condense'
comments?: boolean
delimiters?: [string, string]
}
export type ComponentOptionsWithoutProps<
Props = {},
RawBindings = {},
@@ -446,7 +459,10 @@ interface LegacyOptions<
renderTriggered?: DebuggerHook
errorCaptured?: ErrorCapturedHook
// runtime compile only
/**
* runtime compile only
* @deprecated use `compilerOptions.delimiters` instead.
*/
delimiters?: [string, string]
/**