diff --git a/packages/eslint-plugin/src/rules/no-unnecessary-qualifier.ts b/packages/eslint-plugin/src/rules/no-unnecessary-qualifier.ts index 34f973667c5..329b26d87ae 100644 --- a/packages/eslint-plugin/src/rules/no-unnecessary-qualifier.ts +++ b/packages/eslint-plugin/src/rules/no-unnecessary-qualifier.ts @@ -93,9 +93,8 @@ export default createRule({ accessedSymbol.flags, context.sourceCode.getText(name), ); - return ( - fromScope === undefined || symbolsAreEqual(accessedSymbol, fromScope) - ); + + return !!fromScope && symbolsAreEqual(accessedSymbol, fromScope); } function visitNamespaceAccess( diff --git a/packages/eslint-plugin/tests/rules/no-unnecessary-qualifier.test.ts b/packages/eslint-plugin/tests/rules/no-unnecessary-qualifier.test.ts index 5f118f55ff6..d03236ac218 100644 --- a/packages/eslint-plugin/tests/rules/no-unnecessary-qualifier.test.ts +++ b/packages/eslint-plugin/tests/rules/no-unnecessary-qualifier.test.ts @@ -57,6 +57,30 @@ namespace X { ` namespace X { const z = X.y; +} + `, + ` +enum Foo { + One, +} + +namespace Foo { + export function bar() { + return Foo.One; + } +} + `, + ` +namespace Foo { + export enum Foo { + One, + } +} + +namespace Foo { + export function bar() { + return Foo.One; + } } `, ],