Home / Type/ CompilerOptions Type — vue Architecture

CompilerOptions Type — vue Architecture

Architecture documentation for the CompilerOptions type/interface in compiler.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  1925e4b0_408e_8932_655d_6b1f885b7dac["CompilerOptions"]
  155f72a7_8db4_5e38_a27c_e709852883ee["compiler.ts"]
  1925e4b0_408e_8932_655d_6b1f885b7dac -->|defined in| 155f72a7_8db4_5e38_a27c_e709852883ee
  style 1925e4b0_408e_8932_655d_6b1f885b7dac fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/types/compiler.ts lines 3–36

export type CompilerOptions = {
  warn?: Function // allow customizing warning in different environments; e.g. node
  modules?: Array<ModuleOptions> // platform specific modules; e.g. style; class
  directives?: { [key: string]: Function } // platform specific directives
  staticKeys?: string // a list of AST properties to be considered static; for optimization
  isUnaryTag?: (tag: string) => boolean | undefined // check if a tag is unary for the platform
  canBeLeftOpenTag?: (tag: string) => boolean | undefined // check if a tag can be left opened
  isReservedTag?: (tag: string) => boolean | undefined // check if a tag is a native for the platform
  preserveWhitespace?: boolean // preserve whitespace between elements? (Deprecated)
  whitespace?: 'preserve' | 'condense' // whitespace handling strategy
  optimize?: boolean // optimize static content?

  // web specific
  mustUseProp?: (tag: string, type: string | null, name: string) => boolean // check if an attribute should be bound as a property
  isPreTag?: (attr: string) => boolean | null // check if a tag needs to preserve whitespace
  getTagNamespace?: (tag: string) => string | undefined // check the namespace for a tag
  expectHTML?: boolean // only false for non-web builds
  isFromDOM?: boolean
  shouldDecodeTags?: boolean
  shouldDecodeNewlines?: boolean
  shouldDecodeNewlinesForHref?: boolean
  outputSourceRange?: boolean
  shouldKeepComment?: boolean

  // runtime user-configurable
  delimiters?: [string, string] // template delimiters
  comments?: boolean // preserve comments in template

  // for ssr optimization compiler
  scopeId?: string

  // SFC analyzed script bindings from `compileScript()`
  bindings?: BindingMetadata
}

Frequently Asked Questions

What is the CompilerOptions type?
CompilerOptions is a type/interface in the vue codebase, defined in src/types/compiler.ts.
Where is CompilerOptions defined?
CompilerOptions is defined in src/types/compiler.ts at line 3.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free