| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import {
- type CodegenResult,
- type CompilerOptions,
- type DirectiveTransform,
- type NodeTransform,
- type ParserOptions,
- type RootNode,
- baseCompile,
- baseParse,
- noopDirectiveTransform,
- } 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 { validateHtmlNesting } from './transforms/validateHtmlNesting'
- import { extend } from '@vue/shared'
- export { parserOptions }
- export const DOMNodeTransforms: NodeTransform[] = [
- transformStyle,
- ...(__DEV__ ? [transformTransition, validateHtmlNesting] : []),
- ]
- 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(
- src: string | RootNode,
- options: CompilerOptions = {},
- ): CodegenResult {
- return baseCompile(
- src,
- 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,
- DOMErrorMessages,
- } from './errors'
- export * from '@vue/compiler-core'
|