simplr-tslint
A set of TSLint rules used in SimplrJS projects.
Get started
npm install simplr-tslint --save-dev
To get latest tslint config.
npm install simplr-tslint@next --save-dev
Language service
We recommend using this plugin tslint-language-service.
- Install plugin
npm install tslint-language-service -D
- Add plugin to
tsconfig.json
- Use workspace TypeScript version
How to use?
Add this line in your tslint.json
file:
Or:
Custom rules
class-members-name
🔨Has Fixer ⚠️Requires Type info
Enforces consistent naming style in interface and class declarations.
Rule settings
Name | Type | Optional | Description |
---|---|---|---|
formatRules | FormatRule[] | Optional | Format rules for class and interface members. |
ignoreParentSuffixes | string[] | Optional | Ignores classes and interfaces with given suffix. |
Format rule
Name | Type | Optional | Default |
---|---|---|---|
kind | "method", "property" | Required | |
modifier | "public", "private", "protected" | Optional | "public" |
format | "none", "camel-case", "pascal-case", "constant-case", "snake-case" | Optional | "none" |
isStatic | boolean | Optional | false |
allowedPrefixes | string[] | Optional |
Default config
"class-members-name":
Config examples
Enforces all members naming to camel-case
format.
"class-members-name": true
Enforces all members naming to pascal-case
format.
"class-members-name":
Enforces all members naming to pascal-case
format. Skips origin checking in heritage. Useful when migrating coding style.
"class-members-name":
C# coding style example.
"class-members-name":
Ignoring parent suffix example.
"class-members-name":
const-variable-name
🔨Has Fixer ⚠️Requires Type info
Const variables in source file or in module must have constant-case.
Examples
; ;// ~~~~~~ [Const variables in source file or in module declaration must have (constant-case) format.]
Config example
"const-variable-name": true
This rule only will be applied to constants that has primitive value (e.g. string
, boolean
).
"const-variable-name":
exported-namespace-member
🔨Has Fixer
All module members must be exported.
Config example
"exported-namespace-member": true
type-parameter-name
🔨Has Fixer
Type parameter's name must start with "T" prefix.
Example
;// ~~~~~ [Type parameter's name must start with "T" prefix.] ;
Config example
"type-parameter-name": true
backing-field
🔨Has Fixer
Backing fields are properties with _
prefix. They can ONLY be used in GetAccessor and SetAccessor declarations.
Example
Config example
"type-parameter-name": true
License
Released under the MIT license.