From: Evan You Date: Fri, 24 Sep 2021 03:20:53 +0000 (-0400) Subject: fix(build): avoid importing @babel/parser in esm-bundler build X-Git-Tag: v3.2.17~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc85ad28ae55ea9483c923f7d40373cbe27080fe;p=thirdparty%2Fvuejs%2Fcore.git fix(build): avoid importing @babel/parser in esm-bundler build fix #4665 --- diff --git a/packages/compiler-core/src/utils.ts b/packages/compiler-core/src/utils.ts index ff90377022..493c80934f 100644 --- a/packages/compiler-core/src/utils.ts +++ b/packages/compiler-core/src/utils.ts @@ -47,7 +47,8 @@ import { isObject, hyphenate, extend, - babelParserDefaultPlugins + babelParserDefaultPlugins, + NOOP } from '@vue/shared' import { PropsExpression } from './transforms/transformElement' import { parseExpression } from '@babel/parser' @@ -161,26 +162,25 @@ export const isMemberExpressionBrowser = (path: string): boolean => { return !currentOpenBracketCount && !currentOpenParensCount } -export const isMemberExpressionNode = ( - path: string, - context: TransformContext -): boolean => { - try { - let ret: Expression = parseExpression(path, { - plugins: [...context.expressionPlugins, ...babelParserDefaultPlugins] - }) - if (ret.type === 'TSAsExpression' || ret.type === 'TSTypeAssertion') { - ret = ret.expression +export const isMemberExpressionNode = __BROWSER__ + ? NOOP + : (path: string, context: TransformContext): boolean => { + try { + let ret: Expression = parseExpression(path, { + plugins: [...context.expressionPlugins, ...babelParserDefaultPlugins] + }) + if (ret.type === 'TSAsExpression' || ret.type === 'TSTypeAssertion') { + ret = ret.expression + } + return ( + ret.type === 'MemberExpression' || + ret.type === 'OptionalMemberExpression' || + ret.type === 'Identifier' + ) + } catch (e) { + return false + } } - return ( - ret.type === 'MemberExpression' || - ret.type === 'OptionalMemberExpression' || - ret.type === 'Identifier' - ) - } catch (e) { - return false - } -} export const isMemberExpression = __BROWSER__ ? isMemberExpressionBrowser