]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - .eslintrc.json
Fix lint
[github/Chocobozzz/PeerTube.git] / .eslintrc.json
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",
26 "prefer-regex-literals": "off",
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 ],
41 "@typescript-eslint/indent": [
42 "error",
43 2,
44 {
45 "SwitchCase": 1,
46 "MemberExpression": "off",
47 // https://github.com/eslint/eslint/issues/15299
48 "ignoredNodes": ["PropertyDefinition"]
49 }
50 ],
51 "@typescript-eslint/consistent-type-assertions": [
52 "error",
53 {
54 "assertionStyle": "as"
55 }
56 ],
57 "@typescript-eslint/array-type": [
58 "error",
59 {
60 "default": "array"
61 }
62 ],
63 "@typescript-eslint/restrict-template-expressions": [
64 "off",
65 {
66 "allowNumber": "true"
67 }
68 ],
69 "@typescript-eslint/no-this-alias": [
70 "error",
71 {
72 "allowDestructuring": true, // Allow `const { props, state } = this`; false by default
73 "allowedNames": ["self"] // Allow `const self = this`; `[]` by default
74 }
75 ],
76
77 "@typescript-eslint/return-await": "off",
78 "@typescript-eslint/dot-notation": "off",
79 "@typescript-eslint/method-signature-style": "off",
80 "@typescript-eslint/no-base-to-string": "off",
81 "@typescript-eslint/quotes": "off",
82 "@typescript-eslint/no-var-requires": "off",
83 "@typescript-eslint/explicit-function-return-type": "off",
84 "@typescript-eslint/promise-function-async": "off",
85 "@typescript-eslint/no-dynamic-delete": "off",
86 "@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
87 "@typescript-eslint/strict-boolean-expressions": "off",
88 "@typescript-eslint/consistent-type-definitions": "off",
89 "@typescript-eslint/no-misused-promises": "off",
90 "@typescript-eslint/no-namespace": "off",
91 "@typescript-eslint/no-empty-interface": "off",
92 "@typescript-eslint/no-extraneous-class": "off",
93 "@typescript-eslint/no-use-before-define": "off",
94
95 "require-await": "off",
96 "@typescript-eslint/require-await": "error",
97
98 // bugged but useful
99 "@typescript-eslint/restrict-plus-operands": "off"
100 },
101 "ignorePatterns": [
102 "node_modules/"
103 ],
104 "parserOptions": {
105 "EXPERIMENTAL_useSourceOfProjectReferenceRedirect": true,
106 "project": [
107 "./tsconfig.json",
108 "./shared/tsconfig.json",
109 "./scripts/tsconfig.json",
110 "./server/tsconfig.json",
111 "./server/tools/tsconfig.json"
112 ]
113 }
114 }