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
  9bec4c5e_d04b_64a6_018b_53a3e409ef44["parse()"]
  815e9f10_246a_4f15_57b6_3f6e17f8ab7a["generateSourceMap()"]
  815e9f10_246a_4f15_57b6_3f6e17f8ab7a -->|calls| 9bec4c5e_d04b_64a6_018b_53a3e409ef44
  ca79e31f_00b3_6e7f_1a5b_f788ed7fb689["parseComponent()"]
  9bec4c5e_d04b_64a6_018b_53a3e409ef44 -->|calls| ca79e31f_00b3_6e7f_1a5b_f788ed7fb689
  bb311256_82b1_7231_99fb_ad12d5f1f4fd["parseCssVars()"]
  9bec4c5e_d04b_64a6_018b_53a3e409ef44 -->|calls| bb311256_82b1_7231_99fb_ad12d5f1f4fd
  b31e5b26_32b1_8a91_cb54_b4b50934e2ba["hmrShouldReload()"]
  9bec4c5e_d04b_64a6_018b_53a3e409ef44 -->|calls| b31e5b26_32b1_8a91_cb54_b4b50934e2ba
  815e9f10_246a_4f15_57b6_3f6e17f8ab7a["generateSourceMap()"]
  9bec4c5e_d04b_64a6_018b_53a3e409ef44 -->|calls| 815e9f10_246a_4f15_57b6_3f6e17f8ab7a
  style 9bec4c5e_d04b_64a6_018b_53a3e409ef44 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