refactor: expose parse in compiler-dom, improve sfc parse error handling

This commit is contained in:
Evan You
2019-12-22 19:44:21 -05:00
parent 7d436ab59a
commit 90ddb7c260
33 changed files with 243 additions and 147 deletions

View File

@@ -1,8 +1,10 @@
import {
baseCompile,
baseParse,
CompilerOptions,
CodegenResult,
isBuiltInType
isBuiltInType,
ParserOptions
} from '@vue/compiler-core'
import { parserOptionsMinimal } from './parserOptionsMinimal'
import { parserOptionsStandard } from './parserOptionsStandard'
@@ -15,13 +17,15 @@ import { transformOn } from './transforms/vOn'
import { transformShow } from './transforms/vShow'
import { TRANSITION, TRANSITION_GROUP } from './runtimeHelpers'
const parserOptions = __BROWSER__ ? parserOptionsMinimal : parserOptionsStandard
export function compile(
template: string,
options: CompilerOptions = {}
): CodegenResult {
return baseCompile(template, {
...parserOptions,
...options,
...(__BROWSER__ ? parserOptionsMinimal : parserOptionsStandard),
nodeTransforms: [transformStyle, ...(options.nodeTransforms || [])],
directiveTransforms: {
cloak: transformCloak,
@@ -42,4 +46,11 @@ export function compile(
})
}
export function parse(template: string, options: ParserOptions = {}) {
return baseParse(template, {
...parserOptions,
...options
})
}
export * from '@vue/compiler-core'