Home / File/ compileTemplate.ts — vue Source File

compileTemplate.ts — vue Source File

Architecture documentation for compileTemplate.ts, a typescript file in the vue codebase. 10 imports, 1 dependents.

File typescript SfcCompiler ScriptCompiler 10 imports 1 dependents 3 functions

Entity Profile

Dependency Diagram

graph LR
  b824bd73_da14_5076_9939_3d47171265ea["compileTemplate.ts"]
  1a27e6b3_7515_332e_8d02_d958c72a568c["types.ts"]
  b824bd73_da14_5076_9939_3d47171265ea --> 1a27e6b3_7515_332e_8d02_d958c72a568c
  5d984136_f02d_b459_9f20_2306143d1d20["BindingMetadata"]
  b824bd73_da14_5076_9939_3d47171265ea --> 5d984136_f02d_b459_9f20_2306143d1d20
  cd9cc973_3348_e3ed_e239_630aac19b477["TemplateCompiler"]
  b824bd73_da14_5076_9939_3d47171265ea --> cd9cc973_3348_e3ed_e239_630aac19b477
  cae36964_2fe7_a649_0189_6f756f42c7f5["assetUrl.ts"]
  b824bd73_da14_5076_9939_3d47171265ea --> cae36964_2fe7_a649_0189_6f756f42c7f5
  d1a7581d_37f4_760f_46fe_99640069e5dd["srcset.ts"]
  b824bd73_da14_5076_9939_3d47171265ea --> d1a7581d_37f4_760f_46fe_99640069e5dd
  472584c7_15d2_7ac4_2300_5c0fac3bab21["prefixIdentifiers.ts"]
  b824bd73_da14_5076_9939_3d47171265ea --> 472584c7_15d2_7ac4_2300_5c0fac3bab21
  3c98115b_726f_620d_0dc3_3d696ff8a7c2["prefixIdentifiers"]
  b824bd73_da14_5076_9939_3d47171265ea --> 3c98115b_726f_620d_0dc3_3d696ff8a7c2
  0adf6404_9069_51f0_f26f_750d83641b3d["consolidate"]
  b824bd73_da14_5076_9939_3d47171265ea --> 0adf6404_9069_51f0_f26f_750d83641b3d
  9a86f0ef_e790_9be0_8f5d_04e887a7ec24["entry-compiler"]
  b824bd73_da14_5076_9939_3d47171265ea --> 9a86f0ef_e790_9be0_8f5d_04e887a7ec24
  a80b8e3b_d720_9146_3bf6_594d4ee5dd77["compiler"]
  b824bd73_da14_5076_9939_3d47171265ea --> a80b8e3b_d720_9146_3bf6_594d4ee5dd77
  51833d06_cbb0_1947_80b4_a5e77c1ca073["compileTemplate.spec.ts"]
  51833d06_cbb0_1947_80b4_a5e77c1ca073 --> b824bd73_da14_5076_9939_3d47171265ea
  style b824bd73_da14_5076_9939_3d47171265ea fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { BindingMetadata, TemplateCompiler } from './types'
import assetUrlsModule, {
  AssetURLOptions,
  TransformAssetUrlsOptions
} from './templateCompilerModules/assetUrl'
import srcsetModule from './templateCompilerModules/srcset'
import consolidate from '@vue/consolidate'
import * as _compiler from 'web/entry-compiler'
import { prefixIdentifiers } from './prefixIdentifiers'
import { CompilerOptions, WarningMessage } from 'types/compiler'

export interface SFCTemplateCompileOptions {
  source: string
  filename: string
  compiler?: TemplateCompiler
  compilerOptions?: CompilerOptions
  transformAssetUrls?: AssetURLOptions | boolean
  transformAssetUrlsOptions?: TransformAssetUrlsOptions
  preprocessLang?: string
  preprocessOptions?: any
  transpileOptions?: any
  isProduction?: boolean
  isFunctional?: boolean
  optimizeSSR?: boolean
  prettify?: boolean
  isTS?: boolean
  bindings?: BindingMetadata
}

export interface SFCTemplateCompileResults {
  ast: Object | undefined
  code: string
  source: string
  tips: (string | WarningMessage)[]
  errors: (string | WarningMessage)[]
}

export function compileTemplate(
  options: SFCTemplateCompileOptions
): SFCTemplateCompileResults {
  const { preprocessLang } = options
  const preprocessor = preprocessLang && consolidate[preprocessLang]
  if (preprocessor) {
    return actuallyCompile(
      Object.assign({}, options, {
        source: preprocess(options, preprocessor)
      })
    )
  } else if (preprocessLang) {
    return {
      ast: {},
      code: `var render = function () {}\n` + `var staticRenderFns = []\n`,
      source: options.source,
      tips: [
        `Component ${options.filename} uses lang ${preprocessLang} for template. Please install the language preprocessor.`
      ],
      errors: [
        `Component ${options.filename} uses lang ${preprocessLang} for template, however it is not installed.`
      ]
    }
// ... (146 more lines)

Domain

Subdomains

Frequently Asked Questions

What does compileTemplate.ts do?
compileTemplate.ts is a source file in the vue codebase, written in typescript. It belongs to the SfcCompiler domain, ScriptCompiler subdomain.
What functions are defined in compileTemplate.ts?
compileTemplate.ts defines 3 function(s): actuallyCompile, compileTemplate, preprocess.
What does compileTemplate.ts depend on?
compileTemplate.ts imports 10 module(s): BindingMetadata, TemplateCompiler, assetUrl.ts, compiler, consolidate, entry-compiler, prefixIdentifiers, prefixIdentifiers.ts, and 2 more.
What files import compileTemplate.ts?
compileTemplate.ts is imported by 1 file(s): compileTemplate.spec.ts.
Where is compileTemplate.ts in the architecture?
compileTemplate.ts is located at packages/compiler-sfc/src/compileTemplate.ts (domain: SfcCompiler, subdomain: ScriptCompiler, directory: packages/compiler-sfc/src).

Analyze Your Own Codebase

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

Try Supermodel Free