This rule enforces PascalCase names for classes and interfaces.
This rule aims to make it easy to differentiate classes from regular variables at a glance.
The _
prefix is sometimes used to designate a private declaration, so the rule also supports a name
that might be _Example
instead of Example
.
This rule has an object option:
"allowUnderscorePrefix": false
: (default) does not allow the name to have an underscore prefix"allowUnderscorePrefix": true
: allows the name to optionally have an underscore prefix
Examples of incorrect code for this rule:
class invalidClassName {}
class Another_Invalid_Class_Name {}
var bar = class invalidName {};
interface someInterface {}
class _InternalClass {}
Examples of correct code for this rule:
class ValidClassName {}
export default class {}
var foo = class {};
interface SomeInterface {}
/* eslint @typescript-eslint/class-name-casing: { "allowUnderscorePrefix": true } */
class _InternalClass {}
You should turn off this rule if you do not care about class name casing, or if you use a different type of casing.
class-name
in TSLint