| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import {
- baseCompile,
- baseParse,
- CompilerOptions,
- CodegenResult,
- ParserOptions,
- RootNode,
- noopDirectiveTransform,
- NodeTransform,
- DirectiveTransform
- } from '@vue/compiler-core'
- import { parserOptions } from './parserOptions'
- import { transformStyle } from './transforms/transformStyle'
- import { transformVHtml } from './transforms/vHtml'
- import { transformVText } from './transforms/vText'
- import { transformModel } from './transforms/vModel'
- import { transformOn } from './transforms/vOn'
- import { transformShow } from './transforms/vShow'
- import { transformTransition } from './transforms/Transition'
- import { stringifyStatic } from './transforms/stringifyStatic'
- import { ignoreSideEffectTags } from './transforms/ignoreSideEffectTags'
- import { extend } from '@vue/shared'
- export { parserOptions }
- export const DOMNodeTransforms: NodeTransform[] = [
- transformStyle,
- ...(__DEV__ ? [transformTransition] : [])
- ]
- export const DOMDirectiveTransforms: Record<string, DirectiveTransform> = {
- cloak: noopDirectiveTransform,
- html: transformVHtml,
- text: transformVText,
- model: transformModel, // override compiler-core
- on: transformOn, // override compiler-core
- show: transformShow
- }
- export function compile(
- template: string,
- options: CompilerOptions = {}
- ): CodegenResult {
- return baseCompile(
- template,
- extend({}, parserOptions, options, {
- nodeTransforms: [
- // ignore <script> and <tag>
- // this is not put inside DOMNodeTransforms because that list is used
- // by compiler-ssr to generate vnode fallback branches
- ignoreSideEffectTags,
- ...DOMNodeTransforms,
- ...(options.nodeTransforms || [])
- ],
- directiveTransforms: extend(
- {},
- DOMDirectiveTransforms,
- options.directiveTransforms || {}
- ),
- transformHoist: __BROWSER__ ? null : stringifyStatic
- })
- )
- }
- export function parse(template: string, options: ParserOptions = {}): RootNode {
- return baseParse(template, extend({}, parserOptions, options))
- }
- export * from './runtimeHelpers'
- export { transformStyle } from './transforms/transformStyle'
- export { createDOMCompilerError, DOMErrorCodes } from './errors'
- export * from '@vue/compiler-core'
|