diff --git a/packages/compiler-core/src/index.ts b/packages/compiler-core/src/index.ts index c88844a5c..5ce3134fc 100644 --- a/packages/compiler-core/src/index.ts +++ b/packages/compiler-core/src/index.ts @@ -71,4 +71,4 @@ export { CompilerDeprecationTypes } from './compat/compatConfig' -export { baseParse as newParse } from './parser/index' +// export { baseParse as newParse } from './parser/index' diff --git a/packages/compiler-core/src/transforms/vIf.ts b/packages/compiler-core/src/transforms/vIf.ts index 4e1673561..c3b9f91a8 100644 --- a/packages/compiler-core/src/transforms/vIf.ts +++ b/packages/compiler-core/src/transforms/vIf.ts @@ -30,13 +30,7 @@ import { createCompilerError, ErrorCodes } from '../errors' import { processExpression } from './transformExpression' import { validateBrowserExpression } from '../validateExpression' import { FRAGMENT, CREATE_COMMENT } from '../runtimeHelpers' -import { - injectProp, - findDir, - findProp, - isBuiltInType, - getMemoedVNodeCall -} from '../utils' +import { injectProp, findDir, findProp, getMemoedVNodeCall } from '../utils' import { PatchFlags, PatchFlagNames } from '@vue/shared' export const transformIf = createStructuralDirectiveTransform( @@ -165,7 +159,8 @@ export function processIf( !( context.parent && context.parent.type === NodeTypes.ELEMENT && - isBuiltInType(context.parent.tag, 'transition') + (context.parent.tag === 'transition' || + context.parent.tag === 'Transition') ) ) { branch.children = [...comments, ...branch.children] diff --git a/packages/compiler-core/src/utils.ts b/packages/compiler-core/src/utils.ts index ee6beadbb..ddb4b7f8d 100644 --- a/packages/compiler-core/src/utils.ts +++ b/packages/compiler-core/src/utils.ts @@ -37,7 +37,7 @@ import { GUARD_REACTIVE_PROPS, WITH_MEMO } from './runtimeHelpers' -import { isString, isObject, hyphenate, extend, NOOP } from '@vue/shared' +import { isString, isObject, extend, NOOP } from '@vue/shared' import { PropsExpression } from './transforms/transformElement' import { parseExpression } from '@babel/parser' import { Expression } from '@babel/types' @@ -45,9 +45,6 @@ import { Expression } from '@babel/types' export const isStaticExp = (p: JSChildNode): p is SimpleExpressionNode => p.type === NodeTypes.SIMPLE_EXPRESSION && p.isStatic -export const isBuiltInType = (tag: string, expected: string): boolean => - tag === expected || tag === hyphenate(expected) - export function isCoreComponent(tag: string): symbol | void { switch (tag) { case 'Teleport': diff --git a/packages/compiler-dom/src/parserOptions.ts b/packages/compiler-dom/src/parserOptions.ts index 38e5e8b9d..67b8f10b0 100644 --- a/packages/compiler-dom/src/parserOptions.ts +++ b/packages/compiler-dom/src/parserOptions.ts @@ -2,8 +2,7 @@ import { TextModes, ParserOptions, ElementNode, - NodeTypes, - isBuiltInType + NodeTypes } from '@vue/compiler-core' import { isVoidTag, isHTMLTag, isSVGTag } from '@vue/shared' import { TRANSITION, TRANSITION_GROUP } from './runtimeHelpers' @@ -23,9 +22,9 @@ export const parserOptions: ParserOptions = { decodeEntities: __BROWSER__ ? decodeHtmlBrowser : decodeHtml, isBuiltInComponent: (tag: string): symbol | undefined => { - if (isBuiltInType(tag, `Transition`)) { + if (tag === 'Transition' || tag === 'transition') { return TRANSITION - } else if (isBuiltInType(tag, `TransitionGroup`)) { + } else if (tag === 'TransitionGroup' || tag === 'transition-group') { return TRANSITION_GROUP } }, diff --git a/packages/compiler-ssr/src/transforms/ssrInjectCssVars.ts b/packages/compiler-ssr/src/transforms/ssrInjectCssVars.ts index d5c0daee7..f11e62f6f 100644 --- a/packages/compiler-ssr/src/transforms/ssrInjectCssVars.ts +++ b/packages/compiler-ssr/src/transforms/ssrInjectCssVars.ts @@ -6,8 +6,7 @@ import { createSimpleExpression, RootNode, TemplateChildNode, - findDir, - isBuiltInType + findDir } from '@vue/compiler-dom' export const ssrInjectCssVars: NodeTransform = (node, context) => { @@ -43,7 +42,7 @@ function injectCssVars(node: RootNode | TemplateChildNode) { node.tagType === ElementTypes.COMPONENT) && !findDir(node, 'for') ) { - if (isBuiltInType(node.tag, 'Suspense')) { + if (node.tag === 'suspense' || node.tag === 'Suspense') { for (const child of node.children) { if ( child.type === NodeTypes.ELEMENT && diff --git a/packages/compiler-ssr/src/transforms/ssrInjectFallthroughAttrs.ts b/packages/compiler-ssr/src/transforms/ssrInjectFallthroughAttrs.ts index 2b5c350a5..a54a7366f 100644 --- a/packages/compiler-ssr/src/transforms/ssrInjectFallthroughAttrs.ts +++ b/packages/compiler-ssr/src/transforms/ssrInjectFallthroughAttrs.ts @@ -7,8 +7,7 @@ import { RootNode, TemplateChildNode, ParentNode, - findDir, - isBuiltInType + findDir } from '@vue/compiler-dom' const filterChild = (node: ParentNode) => @@ -28,8 +27,10 @@ export const ssrInjectFallthroughAttrs: NodeTransform = (node, context) => { if ( node.type === NodeTypes.ELEMENT && node.tagType === ElementTypes.COMPONENT && - (isBuiltInType(node.tag, 'Transition') || - isBuiltInType(node.tag, 'KeepAlive')) + (node.tag === 'transition' || + node.tag === 'Transition' || + node.tag === 'KeepAlive' || + node.tag === 'keep-alive') ) { const rootChildren = filterChild(context.root) if (rootChildren.length === 1 && rootChildren[0] === node) {