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 CompilerSFC TemplateTransformer 10 imports 1 dependents 3 functions

Entity Profile

Dependency Diagram

graph LR
  ff52d56b_a346_9a70_961a_c5aca0690626["compileTemplate.ts"]
  1502a238_61f0_9afa_8c3c_71d2bb769820["types.ts"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> 1502a238_61f0_9afa_8c3c_71d2bb769820
  3865741e_556d_ec8c_c327_fe6fdcb59cfd["BindingMetadata"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> 3865741e_556d_ec8c_c327_fe6fdcb59cfd
  09bb3830_deee_4e9b_d8db_82733e2801f2["TemplateCompiler"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> 09bb3830_deee_4e9b_d8db_82733e2801f2
  dcc849a8_8698_9d99_84f0_b76bdf69610c["assetUrl.ts"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> dcc849a8_8698_9d99_84f0_b76bdf69610c
  b079557f_1b35_1202_e466_a7574ca75db9["srcset.ts"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> b079557f_1b35_1202_e466_a7574ca75db9
  799ac4a1_7d08_dd24_f075_2bfd21b8092b["prefixIdentifiers.ts"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> 799ac4a1_7d08_dd24_f075_2bfd21b8092b
  fefea729_cf80_e4f2_675b_000b41fc85a5["prefixIdentifiers"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> fefea729_cf80_e4f2_675b_000b41fc85a5
  6477716f_1374_d021_d7ff_43bfc88f3df0["consolidate"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> 6477716f_1374_d021_d7ff_43bfc88f3df0
  37f6742a_e305_dbdb_93f9_91e354c35178["entry-compiler"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> 37f6742a_e305_dbdb_93f9_91e354c35178
  47ae9f26_59d1_fab2_349f_966f5d15495a["compiler"]
  ff52d56b_a346_9a70_961a_c5aca0690626 --> 47ae9f26_59d1_fab2_349f_966f5d15495a
  eb9ca9a5_0615_aacb_1fe8_010ce4bd0d2e["compileTemplate.spec.ts"]
  eb9ca9a5_0615_aacb_1fe8_010ce4bd0d2e --> ff52d56b_a346_9a70_961a_c5aca0690626
  style ff52d56b_a346_9a70_961a_c5aca0690626 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 CompilerSFC domain, TemplateTransformer 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: CompilerSFC, subdomain: TemplateTransformer, 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