Skip to content

Commit

Permalink
[Refactor] improve performance of component detection
Browse files Browse the repository at this point in the history
  • Loading branch information
golopot committed Apr 23, 2022
1 parent 4b4bba9 commit 96bf32f
Showing 1 changed file with 4 additions and 29 deletions.
33 changes: 4 additions & 29 deletions lib/util/Components.js
Expand Up @@ -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;
Expand All @@ -779,7 +771,7 @@ function componentRule(rule, context) {
components.add(node, 0);
return;
}
components.add(component, 1);
components.add(component, 2);
},

FunctionDeclaration(node) {
Expand All @@ -792,7 +784,7 @@ function componentRule(rule, context) {
if (!node) {
return;
}
components.add(node, 1);
components.add(node, 2);
},

ArrowFunctionExpression(node) {
Expand All @@ -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
Expand Down

0 comments on commit 96bf32f

Please sign in to comment.