parse.ts — vue Source File
Architecture documentation for parse.ts, a typescript file in the vue codebase. 14 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR c09840ce_bc86_fdc3_93a1_cf7e368a9a93["parse.ts"] 1502a238_61f0_9afa_8c3c_71d2bb769820["types.ts"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 1502a238_61f0_9afa_8c3c_71d2bb769820 333cfdf9_515e_e6a3_80fb_5ff2a2c28fe6["RawSourceMap"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 333cfdf9_515e_e6a3_80fb_5ff2a2c28fe6 09bb3830_deee_4e9b_d8db_82733e2801f2["TemplateCompiler"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 09bb3830_deee_4e9b_d8db_82733e2801f2 ecb7777f_63cc_7bf6_1f6a_fedf933d43a4["parseComponent.ts"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> ecb7777f_63cc_7bf6_1f6a_fedf933d43a4 4fedf5e2_2642_82d1_7b8c_20a3078d10a3["parseComponent"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 4fedf5e2_2642_82d1_7b8c_20a3078d10a3 e394db8a_23b2_2ccc_8242_160fbdbaf92c["VueTemplateCompilerParseOptions"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> e394db8a_23b2_2ccc_8242_160fbdbaf92c 723c94a2_276b_7491_3957_5f4e8a659b73["SFCDescriptor"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 723c94a2_276b_7491_3957_5f4e8a659b73 b9f12a63_b611_1b00_0717_3ff21d7ce156["compileScript.ts"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> b9f12a63_b611_1b00_0717_3ff21d7ce156 77a507e4_1c27_8178_ab4a_e01ee29e1b0d["hmrShouldReload"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 77a507e4_1c27_8178_ab4a_e01ee29e1b0d b08241c7_738d_9e08_b885_fad82facd4f3["cssVars.ts"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> b08241c7_738d_9e08_b885_fad82facd4f3 e9d55bf3_a525_60d3_e948_546c1b25721c["parseCssVars"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> e9d55bf3_a525_60d3_e948_546c1b25721c 0bf310ff_b73a_1898_7a5a_dca10146cbe0["source-map"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 0bf310ff_b73a_1898_7a5a_dca10146cbe0 47553a6e_bec9_3256_f70a_cfd5dfa0f98e["hash-sum"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 47553a6e_bec9_3256_f70a_cfd5dfa0f98e 6fcaf176_90d1_c9f9_2b0f_f5b1f7ebd4a8["lru-cache"] c09840ce_bc86_fdc3_93a1_cf7e368a9a93 --> 6fcaf176_90d1_c9f9_2b0f_f5b1f7ebd4a8 style c09840ce_bc86_fdc3_93a1_cf7e368a9a93 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { SourceMapGenerator } from 'source-map'
import { RawSourceMap, TemplateCompiler } from './types'
import {
parseComponent,
VueTemplateCompilerParseOptions,
SFCDescriptor,
DEFAULT_FILENAME
} from './parseComponent'
import hash from 'hash-sum'
import LRU from 'lru-cache'
import { hmrShouldReload } from './compileScript'
import { parseCssVars } from './cssVars'
const cache = new LRU<string, SFCDescriptor>(100)
const splitRE = /\r?\n/g
const emptyRE = /^(?:\/\/)?\s*$/
export interface SFCParseOptions {
source: string
filename?: string
compiler?: TemplateCompiler
compilerParseOptions?: VueTemplateCompilerParseOptions
sourceRoot?: string
sourceMap?: boolean
/**
* @deprecated use `sourceMap` instead.
*/
needMap?: boolean
}
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
// ... (70 more lines)
Domain
Subdomains
Functions
Types
Dependencies
Imported By
Source
Frequently Asked Questions
What does parse.ts do?
parse.ts is a source file in the vue codebase, written in typescript. It belongs to the CompilerSFC domain, StyleProcessor subdomain.
What functions are defined in parse.ts?
parse.ts defines 2 function(s): generateSourceMap, parse.
What does parse.ts depend on?
parse.ts imports 14 module(s): RawSourceMap, SFCDescriptor, TemplateCompiler, VueTemplateCompilerParseOptions, compileScript.ts, cssVars.ts, hash-sum, hmrShouldReload, and 6 more.
What files import parse.ts?
parse.ts is imported by 2 file(s): compileStyle.spec.ts, compileTemplate.spec.ts.
Where is parse.ts in the architecture?
parse.ts is located at packages/compiler-sfc/src/parse.ts (domain: CompilerSFC, subdomain: StyleProcessor, 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