linted 16.12.2-rc.0 → 16.12.2-rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. package/dist/rules/html/{_enable.d.ts → enable.d.ts} +1 -1
  2. package/dist/rules/html/enable.d.ts.map +1 -0
  3. package/dist/rules/html/enable.js +15 -0
  4. package/dist/rules/html/enable.js.map +1 -0
  5. package/dist/rules/{mocha/_recommended.d.ts → html/enable_recommended.d.ts} +1 -1
  6. package/dist/rules/html/enable_recommended.d.ts.map +1 -0
  7. package/dist/rules/html/enable_recommended.js +8 -0
  8. package/dist/rules/html/enable_recommended.js.map +1 -0
  9. package/dist/rules/{_html.d.ts → html.d.ts} +1 -1
  10. package/dist/rules/html.d.ts.map +1 -0
  11. package/dist/rules/html.js +4 -0
  12. package/dist/rules/html.js.map +1 -0
  13. package/dist/rules/js/{_enable.d.ts → enable.d.ts} +1 -1
  14. package/dist/rules/js/{_enable.d.ts.map → enable.d.ts.map} +1 -1
  15. package/dist/rules/js/{_enable.js → enable.js} +281 -45
  16. package/dist/rules/js/enable.js.map +1 -0
  17. package/dist/rules/js/{stylistic.d.ts → enable_stylistic.d.ts} +25 -25
  18. package/dist/rules/js/{stylistic.d.ts.map → enable_stylistic.d.ts.map} +1 -1
  19. package/dist/rules/js/enable_stylistic.js +585 -0
  20. package/dist/rules/js/enable_stylistic.js.map +1 -0
  21. package/dist/rules/{_js.d.ts → js.d.ts} +25 -25
  22. package/dist/rules/{_js.d.ts.map → js.d.ts.map} +1 -1
  23. package/dist/rules/js.js +4 -0
  24. package/dist/rules/js.js.map +1 -0
  25. package/dist/rules/json/{_enable.d.ts → enable.d.ts} +1 -1
  26. package/dist/rules/json/enable.d.ts.map +1 -0
  27. package/dist/rules/json/{_enable.js → enable.js} +3 -3
  28. package/dist/rules/json/enable.js.map +1 -0
  29. package/dist/rules/json/enable_x.d.ts.map +1 -1
  30. package/dist/rules/json/enable_x.js +48 -8
  31. package/dist/rules/json/enable_x.js.map +1 -1
  32. package/dist/rules/{_json.d.ts → json.d.ts} +1 -1
  33. package/dist/rules/json.d.ts.map +1 -0
  34. package/dist/rules/{_json.js → json.js} +2 -2
  35. package/dist/rules/json.js.map +1 -0
  36. package/dist/rules/jsonc/override.d.ts.map +1 -1
  37. package/dist/rules/jsonc/override.js +12 -3
  38. package/dist/rules/jsonc/override.js.map +1 -1
  39. package/dist/rules/{_jsonc.d.ts → jsonc.d.ts} +1 -1
  40. package/dist/rules/jsonc.d.ts.map +1 -0
  41. package/dist/rules/{_jsonc.js → jsonc.js} +2 -2
  42. package/dist/rules/jsonc.js.map +1 -0
  43. package/dist/rules/md/{_enable.d.ts → enable.d.ts} +1 -1
  44. package/dist/rules/md/enable.d.ts.map +1 -0
  45. package/dist/rules/md/enable.js +14 -0
  46. package/dist/rules/md/enable.js.map +1 -0
  47. package/dist/rules/{_md.d.ts → md.d.ts} +1 -1
  48. package/dist/rules/md.d.ts.map +1 -0
  49. package/dist/rules/md.js +3 -0
  50. package/dist/rules/md.js.map +1 -0
  51. package/dist/rules/mocha/{_enable.d.ts → enable.d.ts} +1 -1
  52. package/dist/rules/mocha/enable.d.ts.map +1 -0
  53. package/dist/rules/mocha/enable.js +3 -0
  54. package/dist/rules/mocha/enable.js.map +1 -0
  55. package/dist/rules/{html/_recommended.d.ts → mocha/enable_recommended.d.ts} +1 -1
  56. package/dist/rules/mocha/enable_recommended.d.ts.map +1 -0
  57. package/dist/rules/mocha/enable_recommended.js +8 -0
  58. package/dist/rules/mocha/enable_recommended.js.map +1 -0
  59. package/dist/rules/{_mocha.d.ts → mocha.d.ts} +1 -1
  60. package/dist/rules/mocha.d.ts.map +1 -0
  61. package/dist/rules/mocha.js +4 -0
  62. package/dist/rules/mocha.js.map +1 -0
  63. package/dist/rules/svelte/disable.d.ts +5 -0
  64. package/dist/rules/svelte/disable.d.ts.map +1 -0
  65. package/dist/rules/svelte/disable.js +8 -0
  66. package/dist/rules/svelte/disable.js.map +1 -0
  67. package/dist/rules/svelte/disable_js.d.ts.map +1 -1
  68. package/dist/rules/svelte/disable_js.js +8 -3
  69. package/dist/rules/svelte/disable_js.js.map +1 -1
  70. package/dist/rules/svelte/disable_ts.d.ts.map +1 -1
  71. package/dist/rules/svelte/disable_ts.js +8 -3
  72. package/dist/rules/svelte/disable_ts.js.map +1 -1
  73. package/dist/rules/svelte/{_enable.d.ts → enable.d.ts} +1 -1
  74. package/dist/rules/svelte/enable.d.ts.map +1 -0
  75. package/dist/rules/svelte/enable.js +190 -0
  76. package/dist/rules/svelte/enable.js.map +1 -0
  77. package/dist/rules/svelte/enable_x.d.ts.map +1 -1
  78. package/dist/rules/svelte/enable_x.js +15 -3
  79. package/dist/rules/svelte/enable_x.js.map +1 -1
  80. package/dist/rules/{_svelte.d.ts → svelte.d.ts} +27 -27
  81. package/dist/rules/{_svelte.d.ts.map → svelte.d.ts.map} +1 -1
  82. package/dist/rules/{_svelte.js → svelte.js} +4 -4
  83. package/dist/rules/svelte.js.map +1 -0
  84. package/dist/rules/ts/{disable_compiler.d.ts → disable.d.ts} +2 -2
  85. package/dist/rules/ts/disable.d.ts.map +1 -0
  86. package/dist/rules/ts/{disable_compiler.js → disable.js} +3 -4
  87. package/dist/rules/ts/disable.js.map +1 -0
  88. package/dist/rules/ts/disable_x.d.ts.map +1 -1
  89. package/dist/rules/ts/disable_x.js +1 -2
  90. package/dist/rules/ts/disable_x.js.map +1 -1
  91. package/dist/rules/ts/{_enable.d.ts → enable.d.ts} +1 -1
  92. package/dist/rules/ts/enable.d.ts.map +1 -0
  93. package/dist/rules/ts/{_enable.js → enable.js} +173 -29
  94. package/dist/rules/ts/enable.js.map +1 -0
  95. package/dist/rules/ts/enable_x.d.ts.map +1 -1
  96. package/dist/rules/ts/enable_x.js +32 -5
  97. package/dist/rules/ts/enable_x.js.map +1 -1
  98. package/dist/rules/{_ts.d.ts → ts.d.ts} +26 -26
  99. package/dist/rules/{_ts.d.ts.map → ts.d.ts.map} +1 -1
  100. package/dist/rules/{_ts.js → ts.js} +4 -4
  101. package/dist/rules/ts.js.map +1 -0
  102. package/dist/rules/yml/{_enable.d.ts → enable.d.ts} +1 -1
  103. package/dist/rules/yml/enable.d.ts.map +1 -0
  104. package/dist/rules/yml/enable.js +60 -0
  105. package/dist/rules/yml/enable.js.map +1 -0
  106. package/dist/rules/yml/enable_x.d.ts.map +1 -1
  107. package/dist/rules/yml/enable_x.js +57 -9
  108. package/dist/rules/yml/enable_x.js.map +1 -1
  109. package/dist/rules/{_yml.d.ts → yml.d.ts} +1 -1
  110. package/dist/rules/yml.d.ts.map +1 -0
  111. package/dist/rules/{_yml.js → yml.js} +2 -2
  112. package/dist/rules/yml.js.map +1 -0
  113. package/dist/rules.d.ts +75 -75
  114. package/dist/rules.js +9 -9
  115. package/dist/rules.js.map +1 -1
  116. package/package.json +2 -2
  117. package/src/rules/html/enable.ts +16 -0
  118. package/src/rules/html/enable_recommended.ts +9 -0
  119. package/src/rules/html.ts +4 -0
  120. package/src/rules/js/enable.ts +524 -0
  121. package/src/rules/js/enable_stylistic.ts +608 -0
  122. package/src/rules/js.ts +4 -0
  123. package/src/rules/json/{_enable.ts → enable.ts} +3 -5
  124. package/src/rules/json/enable_x.ts +48 -9
  125. package/src/rules/{_json.ts → json.ts} +1 -1
  126. package/src/rules/jsonc/override.ts +13 -6
  127. package/src/rules/{_jsonc.ts → jsonc.ts} +1 -1
  128. package/src/rules/md/enable.ts +15 -0
  129. package/src/rules/md.ts +3 -0
  130. package/src/rules/mocha/enable.ts +3 -0
  131. package/src/rules/mocha/enable_recommended.ts +9 -0
  132. package/src/rules/mocha.ts +4 -0
  133. package/src/rules/svelte/disable.ts +9 -0
  134. package/src/rules/svelte/disable_js.ts +10 -6
  135. package/src/rules/svelte/disable_ts.ts +8 -4
  136. package/src/rules/svelte/{_enable.ts → enable.ts} +120 -21
  137. package/src/rules/svelte/enable_x.ts +15 -4
  138. package/src/rules/{_svelte.ts → svelte.ts} +3 -3
  139. package/src/rules/ts/{disable_compiler.ts → disable.ts} +3 -4
  140. package/src/rules/ts/disable_x.ts +2 -6
  141. package/src/rules/ts/{_enable.ts → enable.ts} +176 -33
  142. package/src/rules/ts/enable_x.ts +37 -12
  143. package/src/rules/{_ts.ts → ts.ts} +3 -3
  144. package/src/rules/yml/{_enable.ts → enable.ts} +38 -7
  145. package/src/rules/yml/enable_x.ts +56 -9
  146. package/src/rules/{_yml.ts → yml.ts} +1 -1
  147. package/src/rules.ts +9 -9
  148. package/dist/rules/_html.d.ts.map +0 -1
  149. package/dist/rules/_html.js +0 -4
  150. package/dist/rules/_html.js.map +0 -1
  151. package/dist/rules/_js.js +0 -4
  152. package/dist/rules/_js.js.map +0 -1
  153. package/dist/rules/_json.d.ts.map +0 -1
  154. package/dist/rules/_json.js.map +0 -1
  155. package/dist/rules/_jsonc.d.ts.map +0 -1
  156. package/dist/rules/_jsonc.js.map +0 -1
  157. package/dist/rules/_md.d.ts.map +0 -1
  158. package/dist/rules/_md.js +0 -3
  159. package/dist/rules/_md.js.map +0 -1
  160. package/dist/rules/_mocha.d.ts.map +0 -1
  161. package/dist/rules/_mocha.js +0 -4
  162. package/dist/rules/_mocha.js.map +0 -1
  163. package/dist/rules/_svelte.js.map +0 -1
  164. package/dist/rules/_ts.js.map +0 -1
  165. package/dist/rules/_yml.d.ts.map +0 -1
  166. package/dist/rules/_yml.js.map +0 -1
  167. package/dist/rules/html/_enable.d.ts.map +0 -1
  168. package/dist/rules/html/_enable.js +0 -10
  169. package/dist/rules/html/_enable.js.map +0 -1
  170. package/dist/rules/html/_recommended.d.ts.map +0 -1
  171. package/dist/rules/html/_recommended.js +0 -5
  172. package/dist/rules/html/_recommended.js.map +0 -1
  173. package/dist/rules/js/_enable.js.map +0 -1
  174. package/dist/rules/js/stylistic.js +0 -270
  175. package/dist/rules/js/stylistic.js.map +0 -1
  176. package/dist/rules/json/_enable.d.ts.map +0 -1
  177. package/dist/rules/json/_enable.js.map +0 -1
  178. package/dist/rules/md/_enable.d.ts.map +0 -1
  179. package/dist/rules/md/_enable.js +0 -9
  180. package/dist/rules/md/_enable.js.map +0 -1
  181. package/dist/rules/mocha/_enable.d.ts.map +0 -1
  182. package/dist/rules/mocha/_enable.js +0 -4
  183. package/dist/rules/mocha/_enable.js.map +0 -1
  184. package/dist/rules/mocha/_recommended.d.ts.map +0 -1
  185. package/dist/rules/mocha/_recommended.js +0 -5
  186. package/dist/rules/mocha/_recommended.js.map +0 -1
  187. package/dist/rules/svelte/_enable.d.ts.map +0 -1
  188. package/dist/rules/svelte/_enable.js +0 -90
  189. package/dist/rules/svelte/_enable.js.map +0 -1
  190. package/dist/rules/svelte/disable_x.d.ts +0 -5
  191. package/dist/rules/svelte/disable_x.d.ts.map +0 -1
  192. package/dist/rules/svelte/disable_x.js +0 -4
  193. package/dist/rules/svelte/disable_x.js.map +0 -1
  194. package/dist/rules/ts/_enable.d.ts.map +0 -1
  195. package/dist/rules/ts/_enable.js.map +0 -1
  196. package/dist/rules/ts/disable_compiler.d.ts.map +0 -1
  197. package/dist/rules/ts/disable_compiler.js.map +0 -1
  198. package/dist/rules/yml/_enable.d.ts.map +0 -1
  199. package/dist/rules/yml/_enable.js +0 -28
  200. package/dist/rules/yml/_enable.js.map +0 -1
  201. package/src/rules/_html.ts +0 -4
  202. package/src/rules/_js.ts +0 -4
  203. package/src/rules/_md.ts +0 -3
  204. package/src/rules/_mocha.ts +0 -4
  205. package/src/rules/html/_enable.ts +0 -13
  206. package/src/rules/html/_recommended.ts +0 -7
  207. package/src/rules/js/_enable.ts +0 -287
  208. package/src/rules/js/stylistic.ts +0 -294
  209. package/src/rules/md/_enable.ts +0 -14
  210. package/src/rules/mocha/_enable.ts +0 -5
  211. package/src/rules/mocha/_recommended.ts +0 -7
  212. package/src/rules/svelte/disable_x.ts +0 -8
@@ -0,0 +1,524 @@
1
+ import { enable, level, state } from "../_strings.js";
2
+
3
+ const
4
+ { ERROR, OFF } = level,
5
+ {
6
+ Never,
7
+ Always,
8
+ AsNeeded,
9
+ Consecutive,
10
+ Allow,
11
+ All,
12
+ Multi,
13
+ Both,
14
+ } = state;
15
+
16
+ export default [
17
+ enable,
18
+ {
19
+ // #region Problems
20
+ // https://eslint.org/docs/latest/rules/#possible-problems
21
+ "array-callback-return": [
22
+ ERROR,
23
+ {
24
+ allowImplicit: false,
25
+ checkForEach: true,
26
+ allowVoid: true,
27
+ },
28
+ ],
29
+ "constructor-super": ERROR, /* tsc */
30
+ "for-direction": ERROR,
31
+ "getter-return": [
32
+ ERROR,
33
+ {
34
+ allowImplicit: false,
35
+ },
36
+ ], /* tsc */
37
+ "no-async-promise-executor": ERROR,
38
+ "no-await-in-loop": ERROR,
39
+ "no-class-assign": ERROR,
40
+ "no-compare-neg-zero": ERROR,
41
+ "no-cond-assign": [ERROR, Always],
42
+ "no-const-assign": ERROR, /* tsc */
43
+ "no-constant-binary-expression": ERROR,
44
+ "no-constant-condition": [
45
+ ERROR,
46
+ {
47
+ checkLoops: true,
48
+ },
49
+ ] /* BUG: incorrect option description (claims "all" is ok): https://eslint.org/docs/latest/rules/no-constant-condition */,
50
+ "no-constructor-return": ERROR,
51
+ "no-control-regex": ERROR,
52
+ "no-debugger": ERROR,
53
+ "no-dupe-args": ERROR, /* tsc */
54
+ "no-dupe-class-members": ERROR, /* tsc -- TSLint:off: tsc */
55
+ "no-dupe-else-if": ERROR,
56
+ "no-dupe-keys": ERROR, /* tsc */
57
+ "no-duplicate-case": ERROR,
58
+ "no-duplicate-imports": OFF /* BUG: breaks separation of TS type-only imports from value imports */,
59
+ "no-empty-character-class": ERROR,
60
+ "no-empty-pattern": [
61
+ ERROR,
62
+ {
63
+ allowObjectPatternsAsParameters: false,
64
+ },
65
+ ],
66
+ "no-ex-assign": ERROR,
67
+ "no-fallthrough": [
68
+ ERROR,
69
+ {
70
+ allowEmptyCase: true,
71
+ reportUnusedFallthroughComment: true,
72
+ },
73
+ ],
74
+ "no-func-assign": ERROR, /* tsc */
75
+ "no-import-assign": ERROR, /* tsc (except Object.assign()) */
76
+ "no-inner-declarations": [
77
+ ERROR,
78
+ Both,
79
+ {
80
+ blockScopedFunctions: Allow,
81
+ },
82
+ ],
83
+ "no-invalid-regexp": [
84
+ ERROR,
85
+ {
86
+ allowConstructorFlags: [],
87
+ },
88
+ ],
89
+ "no-irregular-whitespace": [
90
+ ERROR,
91
+ {
92
+ skipStrings: true,
93
+ skipComments: true,
94
+ skipRegExps: true,
95
+ skipTemplates: true,
96
+ skipJSXText: true,
97
+ },
98
+ ],
99
+ "no-loss-of-precision": ERROR /* TSLint */,
100
+ "no-misleading-character-class": ERROR,
101
+ "no-new-native-nonconstructor": ERROR,
102
+ "no-obj-calls": ERROR, /* tsc */
103
+ "no-promise-executor-return": [
104
+ ERROR,
105
+ {
106
+ allowVoid: true,
107
+ },
108
+ ],
109
+ "no-prototype-builtins": ERROR,
110
+ "no-self-assign": [
111
+ ERROR,
112
+ {
113
+ props: true,
114
+ },
115
+ ],
116
+ "no-self-compare": ERROR,
117
+ "no-setter-return": ERROR, /* tsc */
118
+ "no-sparse-arrays": ERROR,
119
+ "no-template-curly-in-string": ERROR,
120
+ "no-this-before-super": ERROR, /* tsc */
121
+ "no-undef": ERROR, /* tsc */
122
+ "no-unexpected-multiline": ERROR,
123
+ "no-unmodified-loop-condition": ERROR,
124
+ "no-unreachable": ERROR, /* tsc */
125
+ "no-unreachable-loop": [
126
+ ERROR,
127
+ {
128
+ ignore: [] /* WhileStatement, DoWhileStatement, ForStatement, ForInStatement, ForOfStatement */,
129
+ },
130
+ ],
131
+ "no-unsafe-finally": ERROR,
132
+ "no-unsafe-negation": [
133
+ ERROR,
134
+ {
135
+ enforceForOrderingRelations: true,
136
+ },
137
+ ], /* tsc */
138
+ "no-unsafe-optional-chaining": [
139
+ ERROR,
140
+ {
141
+ disallowArithmeticOperators: true,
142
+ },
143
+ ],
144
+ "no-unused-private-class-members": ERROR,
145
+ "no-unused-vars": [
146
+ ERROR,
147
+ {
148
+ vars: All,
149
+ args: All,
150
+ caughtErrors: All,
151
+ ignoreRestSiblings: false,
152
+ ignoreClassWithStaticInitBlock: false,
153
+ reportUsedIgnorePattern: true,
154
+ },
155
+ ] /* TSLint */,
156
+ "no-use-before-define": [
157
+ ERROR,
158
+ {
159
+ functions: true,
160
+ classes: true,
161
+ variables: true,
162
+ allowNamedExports: false,
163
+ },
164
+ ] /* TSLint */,
165
+ "no-useless-assignment": ERROR,
166
+ "no-useless-backreference": ERROR,
167
+ "require-atomic-updates": [
168
+ ERROR,
169
+ {
170
+ allowProperties: false,
171
+ },
172
+ ],
173
+ "use-isnan": [
174
+ ERROR,
175
+ {
176
+ enforceForSwitchCase: true,
177
+ enforceForIndexOf: true,
178
+ },
179
+ ],
180
+ "valid-typeof": [
181
+ ERROR,
182
+ {
183
+ requireStringLiterals: true,
184
+ },
185
+ ],
186
+
187
+ // #endregion
188
+
189
+ // #region Suggestions
190
+ // [ https://eslint.org/docs/latest/rules/#suggestions ]
191
+ "accessor-pairs": [
192
+ ERROR,
193
+ {
194
+ setWithoutGet: true,
195
+ getWithoutSet: false,
196
+ enforceForClassMembers: true,
197
+ },
198
+ ],
199
+ "arrow-body-style": [
200
+ ERROR,
201
+ AsNeeded,
202
+ {
203
+ requireReturnForObjectLiteral: true,
204
+ },
205
+ ],
206
+ "block-scoped-var": ERROR,
207
+ camelcase: OFF /* preference */,
208
+ "capitalized-comments": OFF /* preference */,
209
+ "class-methods-use-this": OFF, /* preference -- TSLint */
210
+ complexity: OFF /* preference */,
211
+ "consistent-return": [
212
+ ERROR,
213
+ {
214
+ treatUndefinedAsUnspecified: false,
215
+ },
216
+ ] /* tsc -- TSLint:off: tsconfig: noImplicitReturns */,
217
+ "consistent-this": ERROR,
218
+ curly: [ERROR, Multi],
219
+ "default-case": OFF, /* preference: don't care */
220
+ "default-case-last": ERROR,
221
+ "default-param-last": ERROR /* TSLint */,
222
+ "dot-notation": [
223
+ ERROR,
224
+ {
225
+ allowKeywords: true,
226
+ },
227
+ ] /* TSLint */,
228
+ eqeqeq: [ERROR, Always],
229
+ "func-name-matching": OFF /* preference */,
230
+ "func-names": OFF /* preference */,
231
+ "func-style": OFF /* preference */,
232
+ "grouped-accessor-pairs": OFF /* preference -- BUG: requires adjacency, not as described in documentation */,
233
+ "guard-for-in": OFF, /* preference - not helpful because using for-in on non-literal objects is bad practice and this rule doesn't guard against that anyway, while adding a pointless check to known object literals */
234
+ "id-denylist": OFF /* preference */,
235
+ "id-length": OFF /* preference */,
236
+ "id-match": OFF /* preference */,
237
+ "init-declarations": [ERROR, Always] /* TSLint */,
238
+ "logical-assignment-operators": [
239
+ ERROR,
240
+ Always,
241
+ {
242
+ enforceForIfStatements: true,
243
+ },
244
+ ],
245
+ "max-classes-per-file": OFF /* preference */,
246
+ "max-depth": OFF /* preference */,
247
+ "max-lines": OFF /* preference */,
248
+ "max-lines-per-function": OFF /* preference */,
249
+ "max-nested-callbacks": OFF /* preference */,
250
+ "max-params": OFF, /* preference -- TSLint:off: preference */
251
+ "max-statements": OFF /* preference */,
252
+ "multiline-comment-style": OFF /* preference */,
253
+ "new-cap": OFF, /* preference -- breaks Scriptable */
254
+ "no-alert": ERROR,
255
+ "no-array-constructor": ERROR /* TSLint */,
256
+ "no-bitwise": [
257
+ ERROR,
258
+ {
259
+ allow: [],
260
+ int32Hint: true,
261
+ },
262
+ ],
263
+ "no-caller": ERROR,
264
+ "no-case-declarations": ERROR,
265
+ "no-console": OFF, /* preference -- breaks Node.js console applications and Scriptable, and otherwise unnecessarily hampers browser test code */
266
+ "no-continue": ERROR,
267
+ "no-delete-var": ERROR,
268
+ "no-div-regex": ERROR,
269
+ "no-else-return": OFF /* preference */,
270
+ "no-empty": [
271
+ ERROR,
272
+ {
273
+ allowEmptyCatch: false,
274
+ },
275
+ ],
276
+ "no-empty-function": [
277
+ ERROR,
278
+ {
279
+ allow:
280
+ ["constructors"] /** functions, arrowFunctions, generatorFunctions, methods, generatorMethods, getters, setters, constructors, asyncFunctions, asyncMethods; TS-ONLY: private-constructors, protected-constructors, decoratedFunctions, overrideMethods */,
281
+ },
282
+ ] /* TSLint */,
283
+ "no-empty-static-block": ERROR,
284
+ "no-eq-null": ERROR,
285
+ "no-eval": [
286
+ ERROR,
287
+ {
288
+ allowIndirect: false,
289
+ },
290
+ ],
291
+ "no-extend-native": [
292
+ ERROR,
293
+ {
294
+ exceptions: [],
295
+ },
296
+ ],
297
+ "no-extra-bind": ERROR,
298
+ "no-extra-boolean-cast": [
299
+ ERROR,
300
+ {
301
+ enforceForLogicalOperands: true,
302
+ },
303
+ ],
304
+ "no-extra-label": ERROR,
305
+ "no-global-assign": [
306
+ ERROR,
307
+ {
308
+ exceptions: [],
309
+ },
310
+ ],
311
+ "no-implicit-coercion": [
312
+ ERROR,
313
+ {
314
+ "boolean": true,
315
+ number: true,
316
+ string: true,
317
+ disallowTemplateShorthand: true,
318
+ allow: [] /** "~" | "!!" | "+" | "- -" | "-" | "*" */,
319
+ },
320
+ ],
321
+ "no-implicit-globals": OFF /* investigate (breaks Scriptable? breaks Sveltekit?) */,
322
+ "no-implied-eval": ERROR /* TSLint */,
323
+ "no-inline-comments": OFF /* preference */,
324
+ "no-invalid-this": [ERROR, { capIsConstructor: false }] /* TSLint:off: tsconfig: { strict, noImplicitThis } */,
325
+ "no-iterator": ERROR,
326
+ "no-label-var": ERROR,
327
+ "no-lone-blocks": ERROR,
328
+ "no-lonely-if": OFF /* preference */,
329
+ "no-loop-func": ERROR /* TSLint */,
330
+ "no-magic-numbers": OFF /* preference - breaks TypeScript number literals, even with most liberal exceptions */,
331
+ "no-multi-assign": [
332
+ ERROR,
333
+ {
334
+ ignoreNonDeclaration: false,
335
+ },
336
+ ],
337
+ "no-multi-str": ERROR,
338
+ "no-negated-condition": OFF /* preference */,
339
+ "no-nested-ternary": OFF /* preference */,
340
+ "no-new": ERROR,
341
+ "no-new-func": ERROR,
342
+ "no-new-wrappers": ERROR,
343
+ "no-nonoctal-decimal-escape": ERROR,
344
+ "no-object-constructor": ERROR,
345
+ "no-octal": ERROR,
346
+ "no-octal-escape": ERROR,
347
+ "no-param-reassign": [
348
+ ERROR,
349
+ {
350
+ props: true,
351
+ ignorePropertyModificationsFor: [],
352
+ ignorePropertyModificationsForRegex: [],
353
+ },
354
+ ],
355
+ "no-plusplus": [
356
+ ERROR,
357
+ {
358
+ allowForLoopAfterthoughts: true,
359
+ },
360
+ ],
361
+ "no-proto": ERROR,
362
+ "no-redeclare": [ERROR, { builtinGlobals: true }] /* tsc -- TSLint:off: tsc (let, const, -var) */,
363
+ "no-regex-spaces": OFF /* preference */,
364
+ "no-restricted-exports": OFF /* preference */,
365
+ "no-restricted-globals": OFF /* preference */,
366
+ "no-restricted-imports": OFF /* preference -- TSLint:off */,
367
+ "no-restricted-properties": OFF /* preference */,
368
+ "no-restricted-syntax": OFF /* preference */,
369
+ "no-return-assign": [ERROR, Always] /* ALWAYS | "except-parens" (disallow assignments unless enclosed in parens) */,
370
+ "no-script-url": ERROR,
371
+ "no-sequences": [
372
+ ERROR,
373
+ {
374
+ allowInParentheses: true,
375
+ },
376
+ ],
377
+ "no-shadow": OFF /* investigate -- TSLint:off: investigate */,
378
+ "no-shadow-restricted-names": ERROR,
379
+ "no-ternary": OFF /* preference */,
380
+ "no-throw-literal": ERROR /* TSLint */,
381
+ "no-undef-init": ERROR,
382
+ "no-undefined": OFF /* investigate (breaks Scriptable? breaks Sveltekit?) */,
383
+ "no-underscore-dangle": OFF /* preference */,
384
+ "no-unneeded-ternary": [
385
+ ERROR,
386
+ {
387
+ defaultAssignment: false,
388
+ },
389
+ ],
390
+ "no-unused-expressions": [
391
+ ERROR,
392
+ {
393
+ allowShortCircuit: true,
394
+ allowTernary: true,
395
+ allowTaggedTemplates: true,
396
+ enforceForJSX: false,
397
+ },
398
+ ] /* TSLint */,
399
+ "no-unused-labels": ERROR,
400
+ "no-useless-call": ERROR,
401
+ "no-useless-catch": ERROR,
402
+ "no-useless-computed-key": [
403
+ ERROR,
404
+ {
405
+ enforceForClassMembers: true,
406
+ },
407
+ ],
408
+ "no-useless-concat": ERROR,
409
+ "no-useless-constructor": ERROR /* TSLint */,
410
+ "no-useless-escape": ERROR,
411
+ "no-useless-rename": [
412
+ ERROR,
413
+ {
414
+ ignoreImport: false,
415
+ ignoreExport: false,
416
+ ignoreDestructuring: false,
417
+ },
418
+ ],
419
+ "no-useless-return": ERROR,
420
+ "no-var": ERROR,
421
+ "no-void": [
422
+ ERROR,
423
+ {
424
+ allowAsStatement: true,
425
+
426
+ },
427
+ ],
428
+ "no-warning-comments": OFF /* preference */,
429
+ "no-with": ERROR,
430
+ "object-shorthand": [
431
+ ERROR,
432
+ Always,
433
+ {
434
+ avoidQuotes: true,
435
+ ignoreConstructors: false,
436
+ avoidExplicitReturnArrows: false,
437
+ },
438
+ ],
439
+ "one-var": [
440
+ ERROR,
441
+ {
442
+ "var": Consecutive,
443
+ let: Consecutive,
444
+ "const": Consecutive,
445
+ separateRequires: true,
446
+ },
447
+ ],
448
+ "operator-assignment": [ERROR, Always],
449
+ "prefer-arrow-callback": [
450
+ ERROR,
451
+ {
452
+ allowNamedFunctions: false,
453
+ allowUnboundThis: true,
454
+ },
455
+ ],
456
+ "prefer-const": [
457
+ ERROR,
458
+ {
459
+ destructuring: All,
460
+ ignoreReadBeforeAssign: false,
461
+ },
462
+ ],
463
+ "prefer-destructuring": [
464
+ ERROR,
465
+ {
466
+ VariableDeclarator: {
467
+ array: true,
468
+ object: true,
469
+ },
470
+ AssignmentExpression: {
471
+ array: false,
472
+ object: false,
473
+ },
474
+ },
475
+ { enforceForRenamedProperties: true },
476
+ ] /* TSLint */,
477
+ "prefer-exponentiation-operator": ERROR,
478
+ "prefer-named-capture-group": OFF,
479
+ "prefer-numeric-literals": ERROR,
480
+ "prefer-object-has-own": ERROR,
481
+ "prefer-object-spread": ERROR,
482
+ "prefer-promise-reject-errors": [
483
+ ERROR,
484
+ {
485
+ allowEmptyReject: false,
486
+ },
487
+ ],
488
+ "prefer-regex-literals": [
489
+ ERROR,
490
+ {
491
+ disallowRedundantWrapping: true,
492
+ },
493
+ ] /* TSLint */,
494
+ "prefer-rest-params": ERROR,
495
+ "prefer-spread": ERROR,
496
+ "prefer-template": ERROR,
497
+ radix: [ERROR, AsNeeded],
498
+ "require-await": ERROR /* TSLint */,
499
+ "require-unicode-regexp": ERROR,
500
+ "require-yield": ERROR,
501
+ "sort-imports": OFF /* preference */,
502
+ "sort-keys": OFF /* preference */,
503
+ "sort-vars": OFF /* preference */,
504
+ strict: OFF /* preference */,
505
+ "symbol-description": OFF /* preference */,
506
+ "vars-on-top": ERROR,
507
+ yoda: [
508
+ ERROR,
509
+ Never,
510
+ {
511
+ exceptRange: false,
512
+ onlyEquality: false,
513
+ },
514
+ ],
515
+
516
+ // #endregion
517
+
518
+ // #region Layout & Formatting
519
+ // [ https://eslint.org/docs/latest/rules/#layout--formatting ]
520
+ "unicode-bom": OFF /* preference: don't care */,
521
+
522
+ // #endregion
523
+ },
524
+ ] as const;