Skip to content

Latest commit

 

History

History
106 lines (81 loc) · 1.36 KB

no-unnecessary-qualifier.md

File metadata and controls

106 lines (81 loc) · 1.36 KB

no-unnecessary-qualifier

Disallows unnecessary namespace qualifiers.

Rule Details

This rule aims to let users know when a namespace or enum qualifier is unnecessary, whether used for a type or for a value.

Examples of code for this rule:

❌ Incorrect

namespace A {
  export type B = number;
  const x: A.B = 3;
}
namespace A {
  export const x = 3;
  export const y = A.x;
}
enum A {
  B,
  C = A.B,
}
namespace A {
  export namespace B {
    export type T = number;
    const x: A.B.T = 3;
  }
}

✅ Correct

namespace X {
  export type T = number;
}

namespace Y {
  export const x: X.T = 3;
}
enum A {
  X,
  Y,
}

enum B {
  Z = A.X,
}
namespace X {
  export type T = number;
  namespace Y {
    type T = string;
    const x: X.T = 0;
  }
}

Options

// .eslintrc.json
{
  "rules": {
    "@typescript-eslint/no-unnecessary-qualifier": "warn"
  }
}

This rule is not configurable.

When Not To Use It

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

Related To

Attributes

  • Configs:
    • ✅ Recommended
    • 🔒 Strict
  • 🔧 Fixable
  • 💭 Requires type information