]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - .eslintrc.json
Support mailto links for custom markup
[github/Chocobozzz/PeerTube.git] / .eslintrc.json
CommitLineData
a1587156
C
1{
2 "extends": "standard-with-typescript",
3 "rules": {
4 "eol-last": [
5 "error",
6 "always"
7 ],
8 "indent": "off",
9 "no-lone-blocks": "off",
10 "no-mixed-operators": "off",
11 "max-len": [
12 "error",
13 {
14 "code": 140
15 }
16 ],
17 "array-bracket-spacing": [
18 "error",
19 "always"
20 ],
21 "quote-props": [
22 "error",
23 "consistent-as-needed"
24 ],
25 "padded-blocks": "off",
a35a2279 26 "prefer-regex-literals": "off",
a1587156
C
27 "no-async-promise-executor": "off",
28 "dot-notation": "off",
29 "promise/param-names": "off",
30 "import/first": "off",
31 "operator-linebreak": [
32 "error",
33 "after",
34 {
35 "overrides": {
36 "?": "before",
37 ":": "before"
38 }
39 }
40 ],
7e0f50d6 41 "quotes": "off",
a1587156
C
42 "@typescript-eslint/indent": [
43 "error",
44 2,
45 {
46 "SwitchCase": 1,
ba2684ce
C
47 "MemberExpression": "off",
48 // https://github.com/eslint/eslint/issues/15299
49 "ignoredNodes": ["PropertyDefinition"]
a1587156
C
50 }
51 ],
52 "@typescript-eslint/consistent-type-assertions": [
53 "error",
54 {
55 "assertionStyle": "as"
56 }
57 ],
58 "@typescript-eslint/array-type": [
59 "error",
60 {
61 "default": "array"
62 }
63 ],
64 "@typescript-eslint/restrict-template-expressions": [
65 "off",
66 {
67 "allowNumber": "true"
68 }
69 ],
7fed6375
C
70 "@typescript-eslint/no-this-alias": [
71 "error",
72 {
73 "allowDestructuring": true, // Allow `const { props, state } = this`; false by default
74 "allowedNames": ["self"] // Allow `const self = this`; `[]` by default
75 }
76 ],
bdd428a6 77
d9699428 78 "@typescript-eslint/return-await": "off",
faa9d434
C
79 "@typescript-eslint/dot-notation": "off",
80 "@typescript-eslint/method-signature-style": "off",
d9699428 81 "@typescript-eslint/no-base-to-string": "off",
7e0f50d6
F
82 "@typescript-eslint/quotes": [
83 "error",
84 "single",
85 {
86 "avoidEscape": true,
87 "allowTemplateLiterals": true
88 }
89 ],
a1587156
C
90 "@typescript-eslint/no-var-requires": "off",
91 "@typescript-eslint/explicit-function-return-type": "off",
92 "@typescript-eslint/promise-function-async": "off",
93 "@typescript-eslint/no-dynamic-delete": "off",
bdd428a6 94 "@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
a1587156
C
95 "@typescript-eslint/strict-boolean-expressions": "off",
96 "@typescript-eslint/consistent-type-definitions": "off",
97 "@typescript-eslint/no-misused-promises": "off",
98 "@typescript-eslint/no-namespace": "off",
4a8d113b 99 "@typescript-eslint/no-empty-interface": "off",
a1587156 100 "@typescript-eslint/no-extraneous-class": "off",
c158a5fa 101 "@typescript-eslint/no-use-before-define": "off",
98ab5dc8
C
102
103 "require-await": "off",
104 "@typescript-eslint/require-await": "error",
105
a1587156
C
106 // bugged but useful
107 "@typescript-eslint/restrict-plus-operands": "off"
108 },
109 "ignorePatterns": [
110 "node_modules/"
111 ],
112 "parserOptions": {
b8a4afa4 113 "EXPERIMENTAL_useSourceOfProjectReferenceRedirect": true,
a1587156
C
114 "project": [
115 "./tsconfig.json",
06aad801 116 "./shared/tsconfig.json",
117 "./scripts/tsconfig.json",
118 "./server/tsconfig.json",
a1587156
C
119 "./server/tools/tsconfig.json"
120 ]
121 }
122}