There is eslint role for no-non-null-assertion. My question is how can I disallow using non-null assertion in the class properties?
class A{
someProp!:string
}
There is some typescript configuration or eslint role for that?
CodePudding user response:
Looking at the AST explorer, this production is called a PropertyDefinition
, and adding the !
adds definite: true
to the object. So, you can use the selector PropertyDefinition[definite=true]
in combination with no-restricted-syntax
.
rules: {
'no-restricted-syntax': ['error',
{
selector: 'PropertyDefinition[definite=true]',
message: 'Non-null property assertions are forbidden',
},
],
},