Przeglądaj źródła

wip: remove unnecessary inlinePropsIdentifier option

Evan You 5 lat temu
rodzic
commit
2a4fc32d15

+ 1 - 4
packages/compiler-core/src/codegen.ts

@@ -66,10 +66,7 @@ export interface CodegenResult {
 }
 
 export interface CodegenContext
-  extends Omit<
-      Required<CodegenOptions>,
-      'bindingMetadata' | 'inline' | 'inlinePropsIdentifier'
-    > {
+  extends Omit<Required<CodegenOptions>, 'bindingMetadata' | 'inline'> {
   source: string
   code: string
   line: number

+ 0 - 4
packages/compiler-core/src/options.ts

@@ -91,10 +91,6 @@ interface SharedTransformCodegenOptions {
    * This allows the function to directly access setup() local bindings.
    */
   inline?: boolean
-  /**
-   * Identifier for props in setup() inline mode.
-   */
-  inlinePropsIdentifier?: string
 }
 
 export interface TransformOptions extends SharedTransformCodegenOptions {

+ 0 - 2
packages/compiler-core/src/transform.ts

@@ -125,7 +125,6 @@ export function createTransformContext(
     ssrCssVars = ``,
     bindingMetadata = EMPTY_OBJ,
     inline = false,
-    inlinePropsIdentifier = `$props`,
     onError = defaultOnError
   }: TransformOptions
 ): TransformContext {
@@ -145,7 +144,6 @@ export function createTransformContext(
     ssrCssVars,
     bindingMetadata,
     inline,
-    inlinePropsIdentifier,
     onError,
 
     // state

+ 2 - 4
packages/compiler-core/src/transforms/transformExpression.ts

@@ -98,14 +98,12 @@ export function processExpression(
     return node
   }
 
-  const { inline, inlinePropsIdentifier, bindingMetadata } = context
+  const { inline, bindingMetadata } = context
   const prefix = (raw: string) => {
     const type = hasOwn(bindingMetadata, raw) && bindingMetadata[raw]
     if (inline) {
       // setup inline mode
-      if (type === 'props') {
-        return `${inlinePropsIdentifier}.${raw}`
-      } else if (type === 'setup') {
+      if (type === 'setup') {
         return `${context.helperString(UNREF)}(${raw})`
       } else if (type === 'component-import') {
         return raw

+ 9 - 14
packages/compiler-sfc/src/compileScript.ts

@@ -405,20 +405,16 @@ export function compileScript(
       )
     }
 
-    // parse the signature to extract the identifiers users are assigning to
-    // the arguments. props identifier is always needed for inline mode
-    // template compilation
-    const params = ((signatureAST as ExpressionStatement)
-      .expression as ArrowFunctionExpression).params
-    if (params[0] && params[0].type === 'Identifier') {
-      propsASTNode = params[0]
-      propsIdentifier = propsASTNode.name
-    }
-
     if (isTS) {
       // <script setup="xxx" lang="ts">
-      // additional identifiers are needed for TS in order to match declared
-      // types
+      // parse the signature to extract the identifiers users are assigning to
+      // the arguments. They are needed for matching type delcarations.
+      const params = ((signatureAST as ExpressionStatement)
+        .expression as ArrowFunctionExpression).params
+      if (params[0] && params[0].type === 'Identifier') {
+        propsASTNode = params[0]
+        propsIdentifier = propsASTNode.name
+      }
       if (params[1] && params[1].type === 'ObjectPattern') {
         setupCtxASTNode = params[1]
         for (const p of params[1].properties) {
@@ -701,7 +697,7 @@ export function compileScript(
   }
 
   // 7. finalize setup argument signature.
-  let args = options.inlineTemplate ? `$props` : ``
+  let args = ``
   if (isTS) {
     if (slotsType === 'Slots') {
       helperImports.add('Slots')
@@ -787,7 +783,6 @@ export function compileScript(
         source: sfc.template.content,
         compilerOptions: {
           inline: true,
-          inlinePropsIdentifier: propsIdentifier,
           bindingMetadata
         }
         // TODO source map