]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
chore: lint for unused arguments
authorEvan You <yyx990803@gmail.com>
Fri, 12 Jun 2020 20:31:31 +0000 (16:31 -0400)
committerEvan You <yyx990803@gmail.com>
Fri, 12 Jun 2020 20:31:31 +0000 (16:31 -0400)
.eslintrc.js
packages/compiler-core/src/transforms/validateExpression.ts [deleted file]
packages/compiler-dom/src/transforms/transformStyle.ts
packages/compiler-sfc/src/templateTransformSrcset.ts
packages/runtime-core/src/componentRenderUtils.ts
packages/runtime-core/src/hmr.ts
packages/runtime-core/src/renderer.ts

index 14641a8157dbde00af415d5299c330ee65386c1c..f54843bc3ebaf6785e58e5475ee9c65f712e4320 100644 (file)
@@ -7,6 +7,12 @@ module.exports = {
     sourceType: 'module'
   },
   rules: {
+    'no-unused-vars': [
+      'error',
+      // we are only using this rule to check for unused arguments since TS
+      // catches unused variables but not args.
+      { varsIgnorePattern: '.*', args: 'after-used' }
+    ],
     // most of the codebase are expected to be env agnostic
     'no-restricted-globals': ['error', ...DOMGlobals, ...NodeGlobals],
     // since we target ES2015 for baseline support, we need to forbid object
diff --git a/packages/compiler-core/src/transforms/validateExpression.ts b/packages/compiler-core/src/transforms/validateExpression.ts
deleted file mode 100644 (file)
index 4909625..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-import { NodeTransform, TransformContext } from '../transform'
-import { NodeTypes, SimpleExpressionNode } from '../ast'
-
-/**
- * When using the runtime compiler in function mode, some expressions will
- * become invalid (e.g. using keyworkds like `class` in expressions) so we need
- * to detect them.
- *
- * This transform is browser-only and dev-only.
- */
-export const validateExpression: NodeTransform = (node, context) => {
-  if (node.type === NodeTypes.INTERPOLATION) {
-    validateBrowserExpression(node.content as SimpleExpressionNode, context)
-  } else if (node.type === NodeTypes.ELEMENT) {
-    // handle directives on element
-    for (let i = 0; i < node.props.length; i++) {
-      const dir = node.props[i]
-      // do not process for v-on & v-for since they are special handled
-      if (dir.type === NodeTypes.DIRECTIVE && dir.name !== 'for') {
-        const exp = dir.exp
-        const arg = dir.arg
-        // do not process exp if this is v-on:arg - we need special handling
-        // for wrapping inline statements.
-        if (
-          exp &&
-          exp.type === NodeTypes.SIMPLE_EXPRESSION &&
-          !(dir.name === 'on' && arg)
-        ) {
-          validateBrowserExpression(
-            exp,
-            context,
-            // slot args must be processed as function params
-            dir.name === 'slot'
-          )
-        }
-        if (arg && arg.type === NodeTypes.SIMPLE_EXPRESSION && !arg.isStatic) {
-          validateBrowserExpression(arg, context)
-        }
-      }
-    }
-  }
-}
-
-export function validateBrowserExpression(
-  node: SimpleExpressionNode,
-  context: TransformContext,
-  asParams = false,
-  asRawStatements = false
-) {}
index 2767debf70b3d16171f87764d9e6e454858e2d5b..b226f26056aedf98d8d876e75267514d6ac340f2 100644 (file)
@@ -13,7 +13,7 @@ import { parseStringStyle } from '@vue/shared'
 // style="color: red" -> :style='{ "color": "red" }'
 // It is then processed by `transformElement` and included in the generated
 // props.
-export const transformStyle: NodeTransform = (node, context) => {
+export const transformStyle: NodeTransform = node => {
   if (node.type === NodeTypes.ELEMENT) {
     node.props.forEach((p, i) => {
       if (p.type === NodeTypes.ATTRIBUTE && p.name === 'style' && p.value) {
index aa7a400870cbc29aacd4bd847e2e329c39ac71ca..9790f896cb17e7331448ca469154d7a3c08832f8 100644 (file)
@@ -62,7 +62,7 @@ export const transformSrcset: NodeTransform = (
           if (options.base) {
             const base = options.base
             const set: string[] = []
-            imageCandidates.forEach(({ url, descriptor }, index) => {
+            imageCandidates.forEach(({ url, descriptor }) => {
               descriptor = descriptor ? ` ${descriptor}` : ``
               if (isRelativeUrl(url)) {
                 set.push((path.posix || path).join(base, url) + descriptor)
index 645f211009eb696b64862f6d9bb65e6b9c0d445f..060e07f71d84603062388b6390b30286e4c70063 100644 (file)
@@ -239,7 +239,6 @@ const isElementRoot = (vnode: VNode) => {
 export function shouldUpdateComponent(
   prevVNode: VNode,
   nextVNode: VNode,
-  parentComponent: ComponentInternalInstance | null,
   optimized?: boolean
 ): boolean {
   const { props: prevProps, children: prevChildren } = prevVNode
index 27a1985460bfc1e716948a2b7837b2fafdbee227..a2f0022d8f74f6e140b6afa10631fa393b175b4d 100644 (file)
@@ -48,7 +48,7 @@ export function registerHMR(instance: ComponentInternalInstance) {
   const id = instance.type.__hmrId!
   let record = map.get(id)
   if (!record) {
-    createRecord(id, instance.type as ComponentOptions)
+    createRecord(id)
     record = map.get(id)!
   }
   record.add(instance)
@@ -58,7 +58,7 @@ export function unregisterHMR(instance: ComponentInternalInstance) {
   map.get(instance.type.__hmrId!)!.delete(instance)
 }
 
-function createRecord(id: string, comp: ComponentOptions): boolean {
+function createRecord(id: string): boolean {
   if (map.has(id)) {
     return false
   }
index f3ec8011759eaaa6bec2149887b2d52c87dc157f..1d8bc712b59646a52597da6eb80c652df439accf 100644 (file)
@@ -1109,7 +1109,7 @@ function baseCreateRenderer(
         )
       }
     } else {
-      updateComponent(n1, n2, parentComponent, optimized)
+      updateComponent(n1, n2, optimized)
     }
   }
 
@@ -1185,14 +1185,9 @@ function baseCreateRenderer(
     }
   }
 
-  const updateComponent = (
-    n1: VNode,
-    n2: VNode,
-    parentComponent: ComponentInternalInstance | null,
-    optimized: boolean
-  ) => {
+  const updateComponent = (n1: VNode, n2: VNode, optimized: boolean) => {
     const instance = (n2.component = n1.component)!
-    if (shouldUpdateComponent(n1, n2, parentComponent, optimized)) {
+    if (shouldUpdateComponent(n1, n2, optimized)) {
       if (
         __FEATURE_SUSPENSE__ &&
         instance.asyncDep &&