Skip to content
← Back to rules

typescript/no-unnecessary-qualifier Style

💭 This rule requires type information.

What it does ​

Disallow namespace qualifiers when the referenced name is already in scope.

Why is this bad? ​

Redundant qualifiers add noise and make type references harder to read.

Examples ​

Examples of incorrect code for this rule:

ts
namespace A {
  export type B = number;
  const value: A.B = 1;
}

Examples of correct code for this rule:

ts
namespace A {
  export type B = number;
  const value: B = 1;
}

How to use ​

To enable this rule using the config file or in the CLI, you can use:

json
{
  "options": {
    "typeAware": true
  },
  "rules": {
    "typescript/no-unnecessary-qualifier": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  options: { typeAware: true },
  rules: {
    "typescript/no-unnecessary-qualifier": "error",
  },
});
bash
oxlint --type-aware --deny typescript/no-unnecessary-qualifier

Version ​

This rule was added in v1.49.0.

References ​