Skip to content

Commit 9d4f356

Browse files
refactor(no-node-access): narrow error cases
1 parent ba40a64 commit 9d4f356

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

lib/rules/no-node-access.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,19 @@ export default ESLintUtils.RuleCreator(getDocsUrl)({
2323
defaultOptions: [],
2424

2525
create(context) {
26-
function showErrorForNodeAccess(node: TSESTree.Identifier) {
27-
isIdentifier(node) &&
28-
ALL_RETURNING_NODES.includes(node.name) &&
26+
function showErrorForNodeAccess(node: TSESTree.MemberExpression) {
27+
isIdentifier(node.property) &&
28+
ALL_RETURNING_NODES.includes(node.property.name) &&
2929
context.report({
3030
node: node,
31-
loc: node.loc.start,
31+
loc: node.property.loc.start,
3232
messageId: 'noNodeAccess',
3333
});
3434
}
3535

3636
return {
37-
['ExpressionStatement MemberExpression Identifier']: showErrorForNodeAccess,
38-
['VariableDeclarator Identifier']: showErrorForNodeAccess,
37+
['ExpressionStatement MemberExpression']: showErrorForNodeAccess,
38+
['VariableDeclarator MemberExpression']: showErrorForNodeAccess,
3939
};
4040
},
4141
});

tests/lib/rules/no-node-access.test.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,19 @@ ruleTester.run(RULE_NAME, rule, {
1414
const buttonText = screen.getByText('submit');
1515
`,
1616
},
17+
{
18+
code: `
19+
const { getByText } = screen
20+
const firstChild = getByText('submit');
21+
expect(firstChild).toBeInTheDocument()
22+
`,
23+
},
24+
{
25+
code: `
26+
const firstChild = screen.getByText('submit');
27+
expect(firstChild).toBeInTheDocument()
28+
`,
29+
},
1730
{
1831
code: `
1932
const { getByText } = screen;

0 commit comments

Comments
 (0)