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
  9805a097_f548_6bcf_28b2_a636f018a4de["parse()"]
  a74639a8_41f7_d409_723a_4c6194e0c72d["parse.ts"]
  9805a097_f548_6bcf_28b2_a636f018a4de -->|defined in| a74639a8_41f7_d409_723a_4c6194e0c72d
  6e3471aa_6bb7_b770_444e_380aedf48d7b["generateSourceMap()"]
  6e3471aa_6bb7_b770_444e_380aedf48d7b -->|calls| 9805a097_f548_6bcf_28b2_a636f018a4de
  fcce9d76_9068_3c88_145d_3d973c3e1547["parseComponent()"]
  9805a097_f548_6bcf_28b2_a636f018a4de -->|calls| fcce9d76_9068_3c88_145d_3d973c3e1547
  9bf0fc0d_be28_66be_0264_6ad60cd848e2["parseCssVars()"]
  9805a097_f548_6bcf_28b2_a636f018a4de -->|calls| 9bf0fc0d_be28_66be_0264_6ad60cd848e2
  4963bb7f_aa8f_8391_a726_4dfb648391e3["hmrShouldReload()"]
  9805a097_f548_6bcf_28b2_a636f018a4de -->|calls| 4963bb7f_aa8f_8391_a726_4dfb648391e3
  6e3471aa_6bb7_b770_444e_380aedf48d7b["generateSourceMap()"]
  9805a097_f548_6bcf_28b2_a636f018a4de -->|calls| 6e3471aa_6bb7_b770_444e_380aedf48d7b
  style 9805a097_f548_6bcf_28b2_a636f018a4de 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, defined in packages/compiler-sfc/src/parse.ts.
Where is parse() defined?
parse() is defined in packages/compiler-sfc/src/parse.ts at line 33.
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