]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor(compiler-sfc): refSugar -> refTransform, export shouldTransformRef
authorEvan You <yyx990803@gmail.com>
Mon, 23 Aug 2021 16:19:41 +0000 (12:19 -0400)
committerEvan You <yyx990803@gmail.com>
Mon, 23 Aug 2021 16:19:41 +0000 (12:19 -0400)
packages/compiler-sfc/src/compileScript.ts
packages/compiler-sfc/src/index.ts

index 3829df92956a34814083a5ab9fa9eda8e234498e..d71aa90b6a8ceb14336bd827d02e48c94a887fa2 100644 (file)
@@ -52,8 +52,8 @@ import { warnExperimental, warnOnce } from './warn'
 import { rewriteDefault } from './rewriteDefault'
 import { createCache } from './cache'
 import {
-  shouldTransform,
-  transformAST as transformWithRefSugar
+  shouldTransform as shouldTransformRef,
+  transformAST as transformRefAST
 } from '@vue/ref-transform'
 
 // Special compiler macros
@@ -81,10 +81,14 @@ export interface SFCScriptCompileOptions {
    */
   babelParserPlugins?: ParserPlugin[]
   /**
-   * Introduce a compiler-based syntax sugar for using refs without `.value`
+   * (Experimental) Enable syntax transform for using refs without `.value`
    * https://github.com/vuejs/rfcs/discussions/369
    * @default true
    */
+  refTransform?: boolean
+  /**
+   * @deprecated use `refTransform` instead.
+   */
   refSugar?: boolean
   /**
    * Compile the template and inline the resulting render function
@@ -121,7 +125,7 @@ export function compileScript(
 ): SFCScriptBlock {
   let { script, scriptSetup, source, filename } = sfc
   // feature flags
-  const enableRefSugar = !!options.refSugar
+  const enableRefTransform = !!options.refSugar || !!options.refTransform
   let refBindings: string[] | undefined
 
   // for backwards compat
@@ -858,12 +862,12 @@ export function compileScript(
   }
 
   // 3. Apply ref sugar transform
-  if (enableRefSugar && shouldTransform(source)) {
+  if (enableRefTransform && shouldTransformRef(source)) {
     warnExperimental(
       `ref sugar`,
       `https://github.com/vuejs/rfcs/discussions/369`
     )
-    const { rootVars, importedHelpers } = transformWithRefSugar(
+    const { rootVars, importedHelpers } = transformRefAST(
       scriptSetupAst,
       s,
       startOffset
index ae403b741faabed5be380d2112e2cf73c6f7fe51..ec75222e29a1631efa3d7678bcdea0fc6f315451 100644 (file)
@@ -4,8 +4,9 @@ export { compileTemplate } from './compileTemplate'
 export { compileStyle, compileStyleAsync } from './compileStyle'
 export { compileScript } from './compileScript'
 export { rewriteDefault } from './rewriteDefault'
-export { generateCodeFrame, walkIdentifiers } from '@vue/compiler-core'
+export { generateCodeFrame } from '@vue/compiler-core'
 export {
+  shouldTransform as shouldTransformRef,
   transform as transformRef,
   transformAST as transformRefAST
 } from '@vue/ref-transform'