typescript/consistent-generic-constructors Style 
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 annotationExamples of correct code for this rule:
ts
const a = new Foo<string>();
const a: Foo<string> = new Foo(); // prefer type annotationHow to use 
To enable this rule in the CLI or using the config file, you can use:
bash
oxlint --deny typescript/consistent-generic-constructorsjson
{
  "rules": {
    "typescript/consistent-generic-constructors": "error"
  }
}