Skip to content

Commit 4eb6b30

Browse files
author
Joachim Seminck
committed
Exit early for MemberExpressions if the property name doesn't match what we are checking for
1 parent e2f6460 commit 4eb6b30

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

lib/rules/no-typos.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,13 +117,21 @@ module.exports = {
117117
},
118118

119119
MemberExpression: function(node) {
120+
const propertyName = node.property.name;
121+
122+
if (
123+
!propertyName ||
124+
STATIC_CLASS_PROPERTIES.map(prop => prop.toLocaleLowerCase()).indexOf(propertyName.toLowerCase()) === -1
125+
) {
126+
return;
127+
}
128+
120129
const relatedComponent = utils.getRelatedComponent(node);
121130

122131
if (
123132
relatedComponent &&
124133
(utils.isES6Component(relatedComponent.node) || utils.isReturningJSX(relatedComponent.node))
125134
) {
126-
const propertyName = node.property.name;
127135
reportErrorIfClassPropertyCasingTypo(node, propertyName);
128136
}
129137
},

tests/lib/rules/no-typos.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,14 @@ ruleTester.run('no-typos', rule, {
336336
`,
337337
parser: 'babel-eslint',
338338
parserOptions: parserOptions
339+
}, {
340+
code: `
341+
const fn = (err, res) => {
342+
const { body: data = {} } = { ...res };
343+
data.time = data.time || {};
344+
};
345+
`,
346+
parser: 'babel-eslint'
339347
}],
340348

341349
invalid: [{

0 commit comments

Comments
 (0)