-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathtslint.yaml
121 lines (88 loc) · 4.57 KB
/
tslint.yaml
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
defaultSeverity: error
rules:
# -- Strict errors --
# These lint rules are likely always a good idea.
# Force function overloads to be declared together. This ensures readers understand APIs.
adjacent-overload-signatures: true
# Do not allow the subtle/obscure comma operator.
ban-comma-operator: true
# Do not allow internal modules or namespaces . These are deprecated in favor of ES6 modules.
no-namespace: true
# Do not allow parameters to be reassigned. To avoid bugs, developers should instead assign new values to new vars.
no-parameter-reassignment: true
# Force the use of ES6-style imports instead of /// <reference path=> imports.
no-reference: true
# Do not allow type assertions that do nothing. This is a big warning that the developer may not understand the
# code currently being edited (they may be incorrectly handling a different type case that does not exist).
no-unnecessary-type-assertion: true
# Disallow nonsensical label usage.
label-position: true
# Disallows the (often typo) syntax if (var1 = var2). Replace with if (var2) { var1 = var2 }.
no-conditional-assignment: true
# Disallows constructors for primitive types (e.g. new Number('123'), though Number('123') is still allowed).
no-construct: true
# Do not allow super() to be called twice in a constructor.
no-duplicate-super: true
# Do not allow the same case to appear more than once in a switch block.
no-duplicate-switch-case: true
# Do not allow a variable to be declared more than once in the same block. Consider function parameters in this
# rule.
no-duplicate-variable: [true, 'check-parameters']
# Disallows a variable definition in an inner scope from shadowing a variable in an outer scope. Developers should
# instead use a separate variable name.
no-shadowed-variable: true
# Empty blocks are almost never needed. Allow the one general exception: empty catch blocks.
no-empty: [true, 'allow-empty-catch']
# Functions must either be handled directly (e.g. with a catch() handler) or returned to another function.
# This is a major source of errors in Cloud Functions and the team strongly recommends leaving this rule on.
no-floating-promises: true
# Do not allow any imports for modules that are not in package.json. These will almost certainly fail when
# deployed.
no-implicit-dependencies:
- true
- 'dev'
- ['~']
# The 'this' keyword can only be used inside of classes.
no-invalid-this: true
# Do not allow strings to be thrown because they will not include stack traces. Throw Errors instead.
no-string-throw: true
# Disallow control flow statements, such as return, continue, break, and throw in finally blocks.
no-unsafe-finally: true
# Expressions must always return a value. Avoids common errors like const myValue = functionReturningVoid();
no-void-expression: [true, 'ignore-arrow-function-shorthand']
# Disallow duplicate imports in the same file.
no-duplicate-imports: true
no-unused-variable: true
# -- Strong Warnings --
# These rules should almost never be needed, but may be included due to legacy code.
# They are left as a warning to avoid frustration with blocked deploys when the developer
# understand the warning and wants to deploy anyway.
# Warn when an empty interface is defined. These are generally not useful.
no-empty-interface:
severity: warning
# Warn when variables are defined with var. Var has subtle meaning that can lead to bugs. Strongly prefer const for
# most values and let for values that will change.
no-var-keyword:
severity: warning
# Prefer === and !== over == and !=. The latter operators support overloads that are often accidental.
triple-equals:
severity: warning
# Warn when using deprecated APIs.
deprecation:
severity: warning
# -- Light Warnings --
# These rules are intended to help developers use better style. Simpler code has fewer bugs. These would be "info"
# if TSLint supported such a level.
# prefer for( ... of ... ) to an index loop when the index is only used to fetch an object from an array.
# (Even better: check out utils like .map if transforming an array!)
prefer-for-of:
severity: warning
# Warns if function overloads could be unified into a single function with optional or rest parameters.
unified-signatures:
severity: warning
# Prefer const for values that will not change. This better documents code.
prefer-const:
severity: warning
# Multi-line object literals and function calls should have a trailing comma. This helps avoid merge conflicts.
trailing-comma:
severity: warning