Skip to main content

no-unnecessary-qualifier

Disallow unnecessary namespace qualifiers.

🔧

Some problems reported by this rule are automatically fixable by the --fix ESLint command line option.

💭

This rule requires type information to run.

Members of TypeScript enums and namespaces are generally retrieved as qualified property lookups: e.g. Enum.member. However, when accessed within their parent enum or namespace, the qualifier is unnecessary: e.g. just member instead of Enum.member. This rule reports when an enum or namespace qualifier is unnecessary.

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-unnecessary-qualifier": "error"
}
};
Try this rule in the playground ↗

Examples

enum A {
B,
C = A.B,
}
Open in Playground
namespace A {
export type B = number;
const x: A.B = 3;
}
Open in Playground

Options

This rule is not configurable.

When Not To Use It

If you don't care about having unneeded enum or namespace qualifiers, then you don't need to use this rule.

Resources