Skip to content

typescript/consistent-generic-constructors Style

🚧 An auto-fix is still under development.

What it does

When constructing a generic class, you can specify the type arguments on either the left-hand side (as a type annotation) or the right-hand side (as part of the constructor call).

This rule enforces consistency in the way generic constructors are used.

Why is this bad?

Inconsistent usage of generic constructors can make the code harder to read and maintain.

Examples

Examples of incorrect code for this rule:

ts
const a: Foo<string> = new Foo();
const a = new Foo<string>(); // prefer type annotation

Examples of correct code for this rule:

ts
const a = new Foo<string>();
const a: Foo<string> = new Foo(); // prefer type annotation

How to use

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

bash
oxlint --deny typescript/consistent-generic-constructors
json
{
  "rules": {
    "typescript/consistent-generic-constructors": "error"
  }
}

References

Released under the MIT License.