The version of @babel/parser we are using now has these plugins enabled by default.
walkIdentifiers
} from '../babelUtils'
import { advancePositionWithClone, isSimpleIdentifier } from '../utils'
-import {
- isGloballyWhitelisted,
- makeMap,
- babelParserDefaultPlugins,
- hasOwn,
- isString
-} from '@vue/shared'
+import { isGloballyWhitelisted, makeMap, hasOwn, isString } from '@vue/shared'
import { createCompilerError, ErrorCodes } from '../errors'
import {
Node,
: `(${rawExp})${asParams ? `=>{}` : ``}`
try {
ast = parse(source, {
- plugins: [...context.expressionPlugins, ...babelParserDefaultPlugins]
+ plugins: context.expressionPlugins
}).program
} catch (e: any) {
context.onError(
WITH_MEMO,
OPEN_BLOCK
} from './runtimeHelpers'
-import {
- isString,
- isObject,
- hyphenate,
- extend,
- babelParserDefaultPlugins,
- NOOP
-} from '@vue/shared'
+import { isString, isObject, hyphenate, extend, NOOP } from '@vue/shared'
import { PropsExpression } from './transforms/transformElement'
import { parseExpression } from '@babel/parser'
import { Expression } from '@babel/types'
: (path: string, context: TransformContext): boolean => {
try {
let ret: Expression = parseExpression(path, {
- plugins: [...context.expressionPlugins, ...babelParserDefaultPlugins]
+ plugins: context.expressionPlugins
})
if (ret.type === 'TSAsExpression' || ret.type === 'TSTypeAssertion') {
ret = ret.expression
import { parse, SFCScriptCompileOptions, compileScript } from '../src'
import { parse as babelParse } from '@babel/parser'
-import { babelParserDefaultPlugins } from '@vue/shared'
export const mockId = 'xxxxxxxx'
try {
babelParse(code, {
sourceType: 'module',
- plugins: [...babelParserDefaultPlugins, 'typescript']
+ plugins: ['typescript']
})
} catch (e: any) {
console.log(code)
} from '@vue/compiler-dom'
import { SFCDescriptor, SFCScriptBlock } from './parse'
import { parse as _parse, ParserOptions, ParserPlugin } from '@babel/parser'
-import {
- babelParserDefaultPlugins,
- camelize,
- capitalize,
- generateCodeFrame,
- makeMap
-} from '@vue/shared'
+import { camelize, capitalize, generateCodeFrame, makeMap } from '@vue/shared'
import {
Node,
Declaration,
scriptLang === 'tsx' ||
scriptSetupLang === 'ts' ||
scriptSetupLang === 'tsx'
- const plugins: ParserPlugin[] = [...babelParserDefaultPlugins]
+ const plugins: ParserPlugin[] = []
if (!isTS || scriptLang === 'tsx' || scriptSetupLang === 'tsx') {
plugins.push('jsx')
}
import { parse } from '@babel/parser'
-import { babelParserDefaultPlugins } from '@vue/shared'
import { transform } from '../src'
function assertCode(code: string) {
try {
parse(code, {
sourceType: 'module',
- plugins: [...babelParserDefaultPlugins, 'typescript']
+ plugins: ['typescript']
})
} catch (e: any) {
console.log(code)
walkFunctionParams
} from '@vue/compiler-core'
import { parse, ParserPlugin } from '@babel/parser'
-import { babelParserDefaultPlugins, hasOwn } from '@vue/shared'
+import { hasOwn } from '@vue/shared'
const TO_VAR_SYMBOL = '$'
const TO_REF_SYMBOL = '$$'
const ast = parse(src, {
sourceType: 'module',
- plugins: [...new Set([...babelParserDefaultPlugins, ...plugins])]
+ plugins
})
const s = new MagicString(src)
const res = transformAST(ast.program, s)
export * from './looseEqual'
export * from './toDisplayString'
-/**
- * List of @babel/parser plugins that are used for template expression
- * transforms and SFC script transforms. By default we enable proposals slated
- * for ES2020. This will need to be updated as the spec moves forward.
- * Full list at https://babeljs.io/docs/en/next/babel-parser#plugins
- */
-export const babelParserDefaultPlugins = [
- 'bigInt',
- 'optionalChaining',
- 'nullishCoalescingOperator'
-] as const
-
export const EMPTY_OBJ: { readonly [key: string]: any } = __DEV__
? Object.freeze({})
: {}