aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/.eslintrc.json
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-08-17 14:42:53 +0200
committerChocobozzz <me@florianbigard.com>2021-08-18 08:35:06 +0200
commit9df52d660feb722404be00a50f3c8a612bec1c15 (patch)
treedde52880fa012874d24c60f64eb596b0a789cc8b /client/.eslintrc.json
parentadb8809d43648ea0a64d6845bb39aa3bd0e005a6 (diff)
downloadPeerTube-9df52d660feb722404be00a50f3c8a612bec1c15.tar.gz
PeerTube-9df52d660feb722404be00a50f3c8a612bec1c15.tar.zst
PeerTube-9df52d660feb722404be00a50f3c8a612bec1c15.zip
Migrate client to eslint
Diffstat (limited to 'client/.eslintrc.json')
-rw-r--r--client/.eslintrc.json169
1 files changed, 169 insertions, 0 deletions
diff --git a/client/.eslintrc.json b/client/.eslintrc.json
new file mode 100644
index 000000000..81b50378a
--- /dev/null
+++ b/client/.eslintrc.json
@@ -0,0 +1,169 @@
1{
2 "root": true,
3 "ignorePatterns": [
4 "projects/**/*",
5 "node_modules/"
6 ],
7 "overrides": [
8 {
9 "files": [
10 "*.ts"
11 ],
12 "parserOptions": {
13 "project": [
14 "tsconfig.json",
15 "e2e/tsconfig.json"
16 ],
17 "createDefaultProgram": true
18 },
19 "extends": [
20 "../.eslintrc.json",
21 "plugin:@angular-eslint/ng-cli-compat",
22 "plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
23 "plugin:@angular-eslint/template/process-inline-templates"
24 ],
25 "rules": {
26 "lines-between-class-members": "off",
27 "@typescript-eslint/lines-between-class-members": [ "off" ],
28 "arrow-body-style": "off",
29 "import/no-webpack-loader-syntax": "off",
30 "no-underscore-dangle": "off",
31 "node/no-callback-literal": "off",
32 "@angular-eslint/component-selector": [
33 "error",
34 {
35 "type": [ "element", "attribute" ],
36 "prefix": "my",
37 "style": "kebab-case"
38 }
39 ],
40 "@angular-eslint/directive-selector": [
41 "error",
42 {
43 "type": [ "element", "attribute" ],
44 "prefix": "my",
45 "style": "camelCase"
46 }
47 ],
48 "@typescript-eslint/no-this-alias": [
49 "error",
50 {
51 "allowDestructuring": true,
52 "allowedNames": ["self", "player"]
53 }
54 ],
55 "@typescript-eslint/prefer-readonly": "off",
56 "@angular-eslint/use-component-view-encapsulation": "error",
57 "prefer-arrow/prefer-arrow-functions": "off",
58 "@typescript-eslint/await-thenable": "error",
59 "@typescript-eslint/consistent-type-definitions": "off",
60 "@typescript-eslint/dot-notation": "off",
61 "@typescript-eslint/explicit-member-accessibility": [
62 "off",
63 {
64 "accessibility": "explicit"
65 }
66 ],
67 "@typescript-eslint/member-ordering": [
68 "off"
69 ],
70 "@typescript-eslint/member-delimiter-style": [
71 "error",
72 {
73 "multiline": {
74 "delimiter": "none",
75 "requireLast": true
76 },
77 "singleline": {
78 "delimiter": "comma",
79 "requireLast": false
80 }
81 }
82 ],
83 "@typescript-eslint/prefer-for-of": "off",
84 "@typescript-eslint/no-empty-function": "error",
85 "@typescript-eslint/no-floating-promises": "off",
86 "@typescript-eslint/no-inferrable-types": "error",
87 "@typescript-eslint/no-shadow": [
88 "off",
89 {
90 "hoist": "all"
91 }
92 ],
93 "@typescript-eslint/no-unnecessary-qualifier": "error",
94 "@typescript-eslint/no-unnecessary-type-assertion": "error",
95 "@typescript-eslint/no-unused-expressions": [
96 "error",
97 {
98 "allowTaggedTemplates": true,
99 "allowShortCircuit": true
100 }
101 ],
102 "@typescript-eslint/quotes": [
103 "error",
104 "single",
105 {
106 "avoidEscape": true,
107 "allowTemplateLiterals": true
108 }
109 ],
110 "@typescript-eslint/semi": [
111 "error",
112 "never"
113 ],
114 "brace-style": [
115 "error",
116 "1tbs"
117 ],
118 "comma-dangle": "error",
119 "curly": [
120 "error",
121 "multi-line"
122 ],
123 "dot-notation": "off",
124 "no-useless-return": "off",
125 "indent": "off",
126 "no-bitwise": "off",
127 "no-console": "off",
128 "no-return-assign": "off",
129 "no-constant-condition": "error",
130 "no-control-regex": "error",
131 "no-duplicate-imports": "error",
132 "no-empty": "error",
133 "no-empty-function": [
134 "error",
135 { "allow": [ "constructors" ] }
136 ],
137 "no-invalid-regexp": "error",
138 "no-multiple-empty-lines": "error",
139 "no-redeclare": "error",
140 "no-regex-spaces": "error",
141 "no-return-await": "error",
142 "no-shadow": "off",
143 "no-unused-expressions": "error",
144 "semi": "error",
145 "space-before-function-paren": [
146 "error",
147 "always"
148 ],
149 "space-in-parens": [
150 "error",
151 "never"
152 ],
153 "object-shorthand": [
154 "error",
155 "properties"
156 ]
157 }
158 },
159 {
160 "files": [
161 "*.html"
162 ],
163 "extends": [
164 "plugin:@angular-eslint/template/recommended"
165 ],
166 "rules": {}
167 }
168 ]
169}