MCPcopy
hub / github.com/vuejs/core / createCodegenContext

Function createCodegenContext

packages/compiler-core/src/codegen.ts:141–281  ·  view source on GitHub ↗
(
  ast: RootNode,
  {
    mode = 'function',
    prefixIdentifiers = mode === 'module',
    sourceMap = false,
    filename = `template.vue.html`,
    scopeId = null,
    optimizeImports = false,
    runtimeGlobalName = `Vue`,
    runtimeModuleName = `vue`,
    ssrRuntimeModuleName = 'vue/server-renderer',
    ssr = false,
    isTS = false,
    inSSR = false,
  }: CodegenOptions,
)

Source from the content-addressed store, hash-verified

139}
140
141function createCodegenContext(
142 ast: RootNode,
143 {
144 mode = 'function',
145 prefixIdentifiers = mode === 'module',
146 sourceMap = false,
147 filename = `template.vue.html`,
148 scopeId = null,
149 optimizeImports = false,
150 runtimeGlobalName = `Vue`,
151 runtimeModuleName = `vue`,
152 ssrRuntimeModuleName = 'vue/server-renderer',
153 ssr = false,
154 isTS = false,
155 inSSR = false,
156 }: CodegenOptions,
157): CodegenContext {
158 const context: CodegenContext = {
159 mode,
160 prefixIdentifiers,
161 sourceMap,
162 filename,
163 scopeId,
164 optimizeImports,
165 runtimeGlobalName,
166 runtimeModuleName,
167 ssrRuntimeModuleName,
168 ssr,
169 isTS,
170 inSSR,
171 source: ast.source,
172 code: ``,
173 column: 1,
174 line: 1,
175 offset: 0,
176 indentLevel: 0,
177 pure: false,
178 map: undefined,
179 helper(key) {
180 return `_${helperNameMap[key]}`
181 },
182 push(code, newlineIndex = NewlineType.None, node) {
183 context.code += code
184 if (!__BROWSER__ && context.map) {
185 if (node) {
186 let name
187 if (node.type === NodeTypes.SIMPLE_EXPRESSION && !node.isStatic) {
188 const content = node.content.replace(/^_ctx\./, '')
189 if (content !== node.content && isSimpleIdentifier(content)) {
190 name = content
191 }
192 }
193 if (node.loc.source) {
194 addMapping(node.loc.start, name)
195 }
196 }
197 if (newlineIndex === NewlineType.Unknown) {
198 // multiple newlines, full iteration

Callers 1

generateFunction · 0.85

Calls 1

setSourceContentMethod · 0.80

Tested by

no test coverage detected