diff options
author | Chocobozzz <me@florianbigard.com> | 2021-08-17 14:42:53 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2021-08-18 08:35:06 +0200 |
commit | 9df52d660feb722404be00a50f3c8a612bec1c15 (patch) | |
tree | dde52880fa012874d24c60f64eb596b0a789cc8b /client/.eslintrc.json | |
parent | adb8809d43648ea0a64d6845bb39aa3bd0e005a6 (diff) | |
download | PeerTube-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.json | 169 |
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 | } | ||