Skip to content

Commit d685948

Browse files
feat(eslint-plugin): add support for nested namespaces to unsafe-member-access (#9478)
* feat(eslint-plugin): add support for nested namespaces to unsafe-member-access * docs(eslint-plugin): adjust selector explanation Co-authored-by: Josh Goldberg ✨ <[email protected]> --------- Co-authored-by: Josh Goldberg ✨ <[email protected]>
1 parent 3bb4f1d commit d685948

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

packages/eslint-plugin/src/rules/no-unsafe-member-access.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ export default createRule({
107107
}
108108

109109
return {
110-
// ignore MemberExpression if it's parent is TSClassImplements or TSInterfaceHeritage
111-
':not(TSClassImplements, TSInterfaceHeritage) > MemberExpression':
110+
// ignore MemberExpressions with ancestors of type `TSClassImplements` or `TSInterfaceHeritage`
111+
'MemberExpression:not(TSClassImplements MemberExpression, TSInterfaceHeritage MemberExpression)':
112112
checkMemberExpression,
113113
'MemberExpression[computed = true] > *.property'(
114114
node: TSESTree.Expression,

packages/eslint-plugin/tests/rules/no-unsafe-member-access.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ class B implements FG.A {}
6060
`
6161
interface B extends FG.A {}
6262
`,
63+
`
64+
class B implements F.S.T.A {}
65+
`,
66+
`
67+
interface B extends F.S.T.A {}
68+
`,
6369
],
6470
invalid: [
6571
{

0 commit comments

Comments
 (0)