-
Notifications
You must be signed in to change notification settings - Fork 0
/
tslint.json
66 lines (65 loc) · 3.77 KB
/
tslint.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{
"defaultSeverity": "error",
"extends": "tslint-config-airbnb",
"jsRules": {},
"rules": {
"completed-docs": true,
"align": [true, "parameters", "statements", "members", "elements"],
"eofline": false,
"function-name": false,
"indent": [true, "space"],
"ter-indent": [true, 4, { "SwitchCase": 1 }],
"import-name": false,
"variable-name": false,
"naming-convention": [
true,
// forbid leading and trailing underscores and enforce camelCase on EVERY name. will be overridden by subtypes if needed
{"type": "default", "format": "camelCase", "leadingUnderscore": "forbid", "trailingUnderscore": "forbid"},
// require all global constants to be camelCase or UPPER_CASE
// all other variables and functions still need to be camelCase
{"type": "variable", "modifiers": ["global", "const"], "format": ["camelCase","UPPER_CASE"]},
// override the above format option for exported constants to allow only UPPER_CASE
{"type": "variable", "modifiers": ["export", "const"], "format": "UPPER_CASE"},
// require exported constant variables that are initialized with functions to be camelCase
{"type": "functionVariable", "modifiers": ["export", "const"], "format": "camelCase"},
// allow leading underscores for unused parameters, because `tsc --noUnusedParameters` will not flag underscore prefixed parameters
// all other rules (trailingUnderscore: forbid, format: camelCase) still apply
{"type": "parameter", "modifiers": "unused", "leadingUnderscore": "allow"},
// require leading underscores for private properties and methods, all other rules still apply
{"type": "member", "modifiers": "private", "leadingUnderscore": "require"},
{"type": "method", "modifiers": "private", "leadingUnderscore": "require"},
// same for protected
{"type": "member", "modifiers": "protected", "leadingUnderscore": "require"},
// exclicitly disable the format check only for method toJSON
{"type": "method", "filter": "^toJSON$", "format": null},
// enforce UPPER_CASE for all public static readonly(!) properties
{"type": "property", "modifiers": ["public", "static", "const"], "format": "UPPER_CASE"},
// enforce PascalCase for classes, interfaces, enums, etc. Remember, there are still no underscores allowed.
{"type": "type", "format": "PascalCase"},
// interface names must start with "I". The following part of the name must be valid PascalCase
{"type": "interface", "prefix": "I"},
// generic type parameters must start with "T"
// most of the time it will only be T, which is totally valid, because an empty string conforms to the PascalCase check
// By convention T, U and V are used for generics. You could enforce that with "regex": "^[TUV]$" and if you are care that much for performance, you could disable every other check by setting a falsy value
{"type": "genericTypeParameter", "prefix": "T"}
// enum members must be in PascalCase. Without this config, enumMember would inherit UPPER_CASE from public static const property
//{"type": "enumMember", "format": "PascalCase"}
],
"triple-equals": [
true,
"allow-null-check"
],
"trailing-comma": [
true,
{
"multiline": {
"arrays": "never",
"functions": "never",
"typeLiterals": "never",
"objects": "always"
}
}
]
},
"rulesDirectory": []
}