Home / Function/ parse() — vue Function Reference

parse() — vue Function Reference

Architecture documentation for the parse() function in parse.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  6ab27e01_6eaf_ac42_26b1_65aa8211cc0d["parse()"]
  7b08db27_55d3_4734_0c8d_16b693d06de3["generateSourceMap()"]
  7b08db27_55d3_4734_0c8d_16b693d06de3 -->|calls| 6ab27e01_6eaf_ac42_26b1_65aa8211cc0d
  c354f1d1_e766_46d9_316c_a917fb0f634d["parseComponent()"]
  6ab27e01_6eaf_ac42_26b1_65aa8211cc0d -->|calls| c354f1d1_e766_46d9_316c_a917fb0f634d
  b1640b15_d391_0cad_5859_5943e95998a9["parseCssVars()"]
  6ab27e01_6eaf_ac42_26b1_65aa8211cc0d -->|calls| b1640b15_d391_0cad_5859_5943e95998a9
  de7c238b_5de0_b239_8e00_2ac0473f2a86["hmrShouldReload()"]
  6ab27e01_6eaf_ac42_26b1_65aa8211cc0d -->|calls| de7c238b_5de0_b239_8e00_2ac0473f2a86
  7b08db27_55d3_4734_0c8d_16b693d06de3["generateSourceMap()"]
  6ab27e01_6eaf_ac42_26b1_65aa8211cc0d -->|calls| 7b08db27_55d3_4734_0c8d_16b693d06de3
  style 6ab27e01_6eaf_ac42_26b1_65aa8211cc0d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/compiler-sfc/src/parse.ts lines 33–95

export function parse(options: SFCParseOptions): SFCDescriptor {
  const {
    source,
    filename = DEFAULT_FILENAME,
    compiler,
    compilerParseOptions = { pad: false } as VueTemplateCompilerParseOptions,
    sourceRoot = '',
    needMap = true,
    sourceMap = needMap
  } = options
  const cacheKey = hash(
    filename + source + JSON.stringify(compilerParseOptions)
  )

  let output = cache.get(cacheKey)
  if (output) {
    return output
  }

  if (compiler) {
    // user-provided compiler
    output = compiler.parseComponent(source, compilerParseOptions)
  } else {
    // use built-in compiler
    output = parseComponent(source, compilerParseOptions)
  }

  output.filename = filename

  // parse CSS vars
  output.cssVars = parseCssVars(output)

  output.shouldForceReload = prevImports =>
    hmrShouldReload(prevImports, output!)

  if (sourceMap) {
    if (output.script && !output.script.src) {
      output.script.map = generateSourceMap(
        filename,
        source,
        output.script.content,
        sourceRoot,
        compilerParseOptions.pad
      )
    }
    if (output.styles) {
      output.styles.forEach(style => {
        if (!style.src) {
          style.map = generateSourceMap(
            filename,
            source,
            style.content,
            sourceRoot,
            compilerParseOptions.pad
          )
        }
      })
    }
  }

  cache.set(cacheKey, output)
  return output
}

Domain

Subdomains

Frequently Asked Questions

What does parse() do?
parse() is a function in the vue codebase.
What does parse() call?
parse() calls 4 function(s): generateSourceMap, hmrShouldReload, parseComponent, parseCssVars.
What calls parse()?
parse() is called by 1 function(s): generateSourceMap.

Analyze Your Own Codebase

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

Try Supermodel Free