UNPKG

783 BJavaScriptView Raw
1/* @flow */
2
3import { parse } from './parser/index'
4import { optimize } from './optimizer'
5import { generate } from './codegen/index'
6import { createCompilerCreator } from './create-compiler'
7
8// `createCompilerCreator` allows creating compilers that use alternative
9// parser/optimizer/codegen, e.g the SSR optimizing compiler.
10// Here we just export a default compiler using the default parts.
11export const createCompiler = createCompilerCreator(function baseCompile (
12 template: string,
13 options: CompilerOptions
14): CompiledResult {
15 const ast = parse(template.trim(), options)
16 if (options.optimize !== false) {
17 optimize(ast, options)
18 }
19 const code = generate(ast, options)
20 return {
21 ast,
22 render: code.render,
23 staticRenderFns: code.staticRenderFns
24 }
25})