From 96bf32fc900a54cbf9ed1e5683e8b51197cd95e0 Mon Sep 17 00:00:00 2001 From: Chiawen Chen Date: Sun, 24 Apr 2022 00:31:42 +0800 Subject: [PATCH] [Refactor] improve performance of component detection --- lib/util/Components.js | 33 ++++----------------------------- 1 file changed, 4 insertions(+), 29 deletions(-) diff --git a/lib/util/Components.js b/lib/util/Components.js index 4b545fa75a..1cf9f3816f 100644 --- a/lib/util/Components.js +++ b/lib/util/Components.js @@ -749,14 +749,6 @@ function componentRule(rule, context) { components.add(node, 2); }, - 'ClassProperty, PropertyDefinition'(node) { - node = utils.getParentComponent(); - if (!node) { - return; - } - components.add(node, 2); - }, - ObjectExpression(node) { if (!componentUtil.isES5Component(node, context)) { return; @@ -779,7 +771,7 @@ function componentRule(rule, context) { components.add(node, 0); return; } - components.add(component, 1); + components.add(component, 2); }, FunctionDeclaration(node) { @@ -792,7 +784,7 @@ function componentRule(rule, context) { if (!node) { return; } - components.add(node, 1); + components.add(node, 2); }, ArrowFunctionExpression(node) { @@ -810,34 +802,17 @@ function componentRule(rule, context) { components.add(node, 0); return; } - if (component.expression && utils.isReturningJSX(component)) { - components.add(component, 2); - } else { - components.add(component, 1); - } + components.add(component, 2); }, ThisExpression(node) { - const component = utils.getParentComponent(); + const component = utils.getParentStatelessComponent(); if (!component || !/Function/.test(component.type) || !node.parent.property) { return; } // Ban functions accessing a property on a ThisExpression components.add(node, 0); }, - - ReturnStatement(node) { - if (!utils.isReturningJSX(node)) { - return; - } - node = utils.getParentComponent(); - if (!node) { - const scope = context.getScope(); - components.add(scope.block, 1); - return; - } - components.add(node, 2); - }, }; // Detect React import specifiers