@enigmatry/eslint-config 15.0.0 → 15.0.1-preview.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +701 -408
  2. package/package.json +15 -13
package/index.js CHANGED
@@ -1,373 +1,803 @@
1
1
  'use strict';
2
2
  module.exports = {
3
- root: true,
4
- env: {
5
- browser: true,
6
- jest: true,
7
- node: true
3
+ "root": true,
4
+ "env": {
5
+ "browser": true,
6
+ "jest": true,
7
+ "node": true
8
8
  },
9
- overrides: [
9
+ "overrides": [
10
10
  {
11
- files: ["*.ts"],
12
- plugins: ["@typescript-eslint", "@angular-eslint", "no-loops", "no-secrets",
13
- "import", "no-unsanitized", "promise", "unused-imports", "xss", "deprecation"],
14
- parser: "@typescript-eslint/parser",
15
- parserOptions: {
16
- project: [
11
+ "files": ["*.ts"],
12
+ "plugins": ["@typescript-eslint", "@angular-eslint", "no-loops", "no-secrets",
13
+ "import", "no-unsanitized", "promise", "unused-imports", "xss", "deprecation", "@stylistic"],
14
+ "parser": "@typescript-eslint/parser",
15
+ "parserOptions": {
16
+ "project": [
17
17
  "tsconfig.json",
18
18
  "e2e/tsconfig.json"
19
19
  ],
20
- createDefaultProgram: true
20
+ "createDefaultProgram": true
21
21
  },
22
- extends: [
22
+ "extends": [
23
23
  "plugin:@angular-eslint/recommended",
24
24
  "plugin:@angular-eslint/template/process-inline-templates"
25
25
  ],
26
- rules: {
27
- // The rules below are listed in the order they appear on the eslint
28
- // rules page. All rules are listed to make it easier to keep in sync
29
- // as new ESLint rules are added.
30
- // http://eslint.org/docs/rules/
31
- "for-direction": "error",
32
- "getter-return": "error",
33
- "no-async-promise-executor": "error",
34
- "no-await-in-loop": "error",
35
- "no-compare-neg-zero": "error",
36
- "no-cond-assign": "error",
37
- "no-console": "error",
38
- "no-constant-condition": "error",
39
- "no-control-regex": "error",
40
- "no-debugger": "error",
41
- "no-dupe-args": "error",
42
- "no-dupe-else-if": "error",
43
- "no-dupe-keys": "error",
44
- "no-duplicate-case": "error",
45
- "no-empty": "off",
46
- "no-empty-character-class": "error",
47
- "no-ex-assign": "error",
48
- "no-extra-boolean-cast": "error",
49
- "no-extra-parens": "off",
50
- "no-extra-semi": "error",
51
- "no-func-assign": "error",
52
- "no-import-assign": "error",
53
- "no-inner-declarations": "error",
54
- "no-invalid-regexp": "error",
55
- "no-irregular-whitespace": "error",
56
- "no-loss-of-precision": "off",
57
- "no-misleading-character-class": "error",
58
- "no-obj-calls": "error",
59
- "no-promise-executor-return": "error",
60
- "no-prototype-builtins": "error",
61
- "no-regex-spaces": "error",
62
- "no-setter-return": "error",
63
- "no-sparse-arrays": "error",
64
- "no-template-curly-in-string": "error",
65
- "no-unexpected-multiline": "error",
66
- "no-unreachable": "error",
67
- "no-unreachable-loop": "error",
68
- "no-unsafe-finally": "error",
69
- "no-unsafe-negation": "error",
70
- "no-unsafe-optional-chaining": "error",
71
- "no-useless-backreference": "error",
72
- "require-atomic-updates": "error",
73
- "use-isnan": "error",
74
- "valid-typeof": "error",
26
+ "rules": {
27
+ "@angular-eslint/component-selector": [
28
+ "error",
29
+ {
30
+ "prefix": [
31
+ "app",
32
+ "appg",
33
+ "enigmatry",
34
+ "entry"
35
+ ],
36
+ "style": "kebab-case",
37
+ "type": "element"
38
+ }
39
+ ],
40
+ "@angular-eslint/directive-selector": [
41
+ "error",
42
+ {
43
+ "prefix": [
44
+ "app",
45
+ "appg",
46
+ "enigmatry",
47
+ "entry"
48
+ ],
49
+ "style": "camelCase",
50
+ "type": "attribute"
51
+ }
52
+ ],
53
+ "@stylistic/array-bracket-newline": "off",
54
+ "@stylistic/array-bracket-spacing": [
55
+ "error",
56
+ "never"
57
+ ],
58
+ "@stylistic/array-element-newline": "off",
59
+ "@stylistic/arrow-parens": [
60
+ "error",
61
+ "as-needed",
62
+ {
63
+ "requireForBlockBody": false
64
+ }
65
+ ],
66
+ "@stylistic/arrow-spacing": "error",
67
+ "@stylistic/block-spacing": "error",
68
+ "@stylistic/brace-style": "off",
69
+ "@stylistic/comma-dangle": "off",
70
+ "@stylistic/comma-spacing": "off",
71
+ "@stylistic/comma-style": "error",
72
+ "@stylistic/computed-property-spacing": "error",
73
+ "@stylistic/dot-location": [
74
+ "error",
75
+ "property"
76
+ ],
77
+ "@stylistic/eol-last": "off",
78
+ "@stylistic/func-call-spacing": "off",
79
+ "@stylistic/function-paren-newline": "off",
80
+ "@stylistic/generator-star-spacing": "error",
81
+ "@stylistic/implicit-arrow-linebreak": "off",
82
+ "@stylistic/indent": [
83
+ "off",
84
+ "tab"
85
+ ],
86
+ "@stylistic/jsx-quotes": "error",
87
+ "@stylistic/key-spacing": "error",
88
+ "@stylistic/keyword-spacing": "off",
89
+ "@stylistic/lines-around-comment": "off",
90
+ "@stylistic/lines-between-class-members": [
91
+ "off",
92
+ "always",
93
+ {
94
+ "exceptAfterSingleLine": true
95
+ }
96
+ ],
97
+ "@stylistic/max-len": [
98
+ "error",
99
+ {
100
+ "code": 120,
101
+ "ignoreComments": true
102
+ }
103
+ ],
104
+ "@stylistic/max-statements-per-line": "error",
105
+ "@stylistic/multiline-ternary": "off",
106
+ "@stylistic/new-parens": "error",
107
+ "@stylistic/newline-per-chained-call": [
108
+ "error",
109
+ {
110
+ "ignoreChainWithDepth": 2
111
+ }
112
+ ],
113
+ "@stylistic/no-confusing-arrow": "off",
114
+ "@stylistic/no-extra-parens": [
115
+ "error"
116
+ ],
117
+ "@stylistic/no-extra-semi": [
118
+ "error"
119
+ ],
120
+ "@stylistic/no-floating-decimal": "off",
121
+ "@stylistic/no-mixed-operators": "off",
122
+ "@stylistic/no-mixed-spaces-and-tabs": "off",
123
+ "@stylistic/no-multi-spaces": "error",
124
+ "@stylistic/no-multiple-empty-lines": "error",
125
+ "@stylistic/no-tabs": "off",
126
+ "@stylistic/no-trailing-spaces": "error",
127
+ "@stylistic/no-whitespace-before-property": "error",
128
+ "@stylistic/nonblock-statement-body-position": [
129
+ "error",
130
+ "below"
131
+ ],
132
+ "@stylistic/object-curly-newline": "off",
133
+ "@stylistic/object-curly-spacing": "off",
134
+ "@stylistic/object-property-newline": [
135
+ "error",
136
+ {
137
+ "allowAllPropertiesOnSameLine": true
138
+ }
139
+ ],
140
+ "@stylistic/one-var-declaration-per-line": "off",
141
+ "@stylistic/operator-linebreak": "off",
142
+ "@stylistic/padded-blocks": [
143
+ "error",
144
+ "never"
145
+ ],
146
+ "@stylistic/padding-line-between-statements": "off",
147
+ "@stylistic/quote-props": [
148
+ "error",
149
+ "as-needed"
150
+ ],
151
+ "@stylistic/quotes": "off",
152
+ "@stylistic/rest-spread-spacing": [
153
+ "error",
154
+ "never"
155
+ ],
156
+ "@stylistic/semi": "off",
157
+ "@stylistic/semi-spacing": "error",
158
+ "@stylistic/semi-style": "off",
159
+ "@stylistic/space-before-blocks": "error",
160
+ "@stylistic/space-before-function-paren": "off",
161
+ "@stylistic/space-in-parens": "error",
162
+ "@stylistic/space-infix-ops": "off",
163
+ "@stylistic/space-unary-ops": "error",
164
+ "@stylistic/spaced-comment": "error",
165
+ "@stylistic/switch-colon-spacing": "error",
166
+ "@stylistic/template-curly-spacing": "error",
167
+ "@stylistic/template-tag-spacing": "error",
168
+ "@stylistic/member-delimiter-style": [
169
+ "error"
170
+ ],
171
+ "@stylistic/type-annotation-spacing": [
172
+ "error",
173
+ {
174
+ "after": true,
175
+ "before": false,
176
+ "overrides": {
177
+ "arrow": {
178
+ "after": true,
179
+ "before": true
180
+ },
181
+ "colon": {
182
+ "after": true,
183
+ "before": false
184
+ }
185
+ }
186
+ }
187
+ ],
188
+ "@stylistic/wrap-iife": "off",
189
+ "@stylistic/wrap-regex": "off",
190
+ "@stylistic/yield-star-spacing": "error",
191
+ "@typescript-eslint/ban-ts-comments": "off",
192
+ "@typescript-eslint/ban-types": "error",
193
+ "@typescript-eslint/brace-style": [
194
+ "error"
195
+ ],
196
+ "@typescript-eslint/comma-dangle": [
197
+ "error",
198
+ "never"
199
+ ],
200
+ "@typescript-eslint/comma-spacing": [
201
+ "error"
202
+ ],
203
+ "@typescript-eslint/consistent-type-definitions": "error",
204
+ "@typescript-eslint/consistent-type-exports": [
205
+ "error",
206
+ {
207
+ "fixMixedExportsWithInlineTypeSpecifier": true
208
+ }
209
+ ],
210
+ "@typescript-eslint/consistent-type-imports": [
211
+ "off"
212
+ ],
213
+ "@typescript-eslint/default-param-last": [
214
+ "error"
215
+ ],
216
+ "@typescript-eslint/dot-notation": [
217
+ "error"
218
+ ],
219
+ "@typescript-eslint/func-call-spacing": [
220
+ "error"
221
+ ],
222
+ "@typescript-eslint/indent": [
223
+ "off",
224
+ "tab"
225
+ ],
226
+ "@typescript-eslint/init-declarations": [
227
+ "off"
228
+ ],
229
+ "@typescript-eslint/keyword-spacing": [
230
+ "error"
231
+ ],
232
+ "@typescript-eslint/lines-between-class-members": [
233
+ "error",
234
+ "always",
235
+ {
236
+ "exceptAfterSingleLine": true
237
+ }
238
+ ],
239
+ "@typescript-eslint/naming-convention": "off",
240
+ "@typescript-eslint/no-array-constructor": [
241
+ "error"
242
+ ],
243
+ "@typescript-eslint/no-dupe-class-members": [
244
+ "error"
245
+ ],
246
+ "@typescript-eslint/no-empty-function": [
247
+ "error"
248
+ ],
249
+ "@typescript-eslint/no-implied-eval": [
250
+ "error"
251
+ ],
252
+ "@typescript-eslint/no-import-type-side-effects": "error",
253
+ "@typescript-eslint/no-invalid-this": [
254
+ "error"
255
+ ],
256
+ "@typescript-eslint/no-loop-func": [
257
+ "error"
258
+ ],
259
+ "@typescript-eslint/no-loss-of-precision": [
260
+ "error"
261
+ ],
262
+ "@typescript-eslint/no-magic-numbers": [
263
+ "error",
264
+ {
265
+ "enforceConst": true,
266
+ "ignore": [
267
+ 0,
268
+ 1
269
+ ],
270
+ "ignoreArrayIndexes": true,
271
+ "ignoreClassFieldInitialValues": true,
272
+ "ignoreDefaultValues": true,
273
+ "ignoreEnums": true,
274
+ "ignoreNumericLiteralTypes": true,
275
+ "ignoreReadonlyClassProperties": true,
276
+ "ignoreTypeIndexes": true
277
+ }
278
+ ],
279
+ "@typescript-eslint/no-meaningless-void-operator": [
280
+ "error",
281
+ {
282
+ "checkNever": false
283
+ }
284
+ ],
285
+ "@typescript-eslint/no-mixed-enums": "error",
286
+ "@typescript-eslint/no-non-null-asserted-nullish-coalescing": "error",
287
+ "@typescript-eslint/no-non-null-assertion": [
288
+ "error"
289
+ ],
290
+ "@typescript-eslint/no-redeclare": [
291
+ "error"
292
+ ],
293
+ "@typescript-eslint/no-redundant-type-constituents": [
294
+ "error"
295
+ ],
296
+ "@typescript-eslint/no-restricted-imports": [
297
+ "off"
298
+ ],
299
+ "@typescript-eslint/no-shadow": [
300
+ "error"
301
+ ],
302
+ "@typescript-eslint/no-throw-literal": [
303
+ "error"
304
+ ],
305
+ "@typescript-eslint/no-unsafe-declaration-merging": [
306
+ "error"
307
+ ],
308
+ "@typescript-eslint/no-unsafe-enum-comparison": "error",
309
+ "@typescript-eslint/no-unsafe-return": "off",
310
+ "@typescript-eslint/no-unused-expressions": [
311
+ "error"
312
+ ],
313
+ "@typescript-eslint/no-unused-vars": [
314
+ "error",
315
+ {
316
+ "argsIgnorePattern": "^_"
317
+ }
318
+ ],
319
+ "@typescript-eslint/no-use-before-define": [
320
+ "error"
321
+ ],
322
+ "@typescript-eslint/no-useless-constructor": [
323
+ "error"
324
+ ],
325
+ "@typescript-eslint/object-curly-spacing": [
326
+ "error",
327
+ "always"
328
+ ],
329
+ "@typescript-eslint/parameter-properties": "off",
330
+ "@typescript-eslint/prefer-optional-chain": "error",
331
+ "@typescript-eslint/prefer-readonly": "off",
332
+ "@typescript-eslint/prefer-readonly-parameter-types": [
333
+ "error",
334
+ {
335
+ "checkParameterProperties": false,
336
+ "ignoreInferredTypes": true,
337
+ "treatMethodsAsReadonly": true
338
+ }
339
+ ],
340
+ "@typescript-eslint/quotes": [
341
+ "error",
342
+ "single",
343
+ {
344
+ "allowTemplateLiterals": true
345
+ }
346
+ ],
347
+ "@typescript-eslint/require-await": [
348
+ "error"
349
+ ],
350
+ "@typescript-eslint/restrict-plus-operands": "error",
351
+ "@typescript-eslint/return-await": [
352
+ "error"
353
+ ],
354
+ "@typescript-eslint/semi": [
355
+ "error"
356
+ ],
357
+ "@typescript-eslint/space-before-function-paren": [
358
+ "error",
359
+ "never"
360
+ ],
361
+ "@typescript-eslint/space-infix-ops": [
362
+ "error"
363
+ ],
75
364
  "array-callback-return": "error",
365
+ "arrow-body-style": [
366
+ "error",
367
+ "as-needed",
368
+ {
369
+ "requireReturnForObjectLiteral": true
370
+ }
371
+ ],
76
372
  "block-scoped-var": "error",
373
+ "camelcase": "warn",
374
+ "capitalized-comments": "error",
77
375
  "class-methods-use-this": "off",
78
376
  "complexity": "error",
79
377
  "consistent-return": "error",
378
+ "consistent-this": "error",
379
+ "constructor-super": "error",
80
380
  "curly": "error",
81
381
  "default-case": "warn",
82
382
  "default-case-last": "error",
83
383
  "default-param-last": "off",
84
- "dot-location": ["error", "property"],
384
+ "deprecation/deprecation": "error",
85
385
  "dot-notation": "off",
86
386
  "eqeqeq": "error",
387
+ "for-direction": "error",
388
+ "func-name-matching": "off",
389
+ "func-names": "error",
390
+ "func-style": "error",
391
+ "function-call-argument-newline": "off",
392
+ "getter-return": "error",
87
393
  "grouped-accessor-pairs": "warn",
88
394
  "guard-for-in": "warn",
89
- "max-classes-per-file": ["error", 1],
395
+ "id-denylist": "off",
396
+ "id-length": [
397
+ "error",
398
+ {
399
+ "max": 50,
400
+ "min": 1
401
+ }
402
+ ],
403
+ "id-match": "off",
404
+ "import/consistent-type-specifier-style": [
405
+ "off"
406
+ ],
407
+ "import/default": [
408
+ "error"
409
+ ],
410
+ "import/dynamic-import-chunkname": [
411
+ "off"
412
+ ],
413
+ "import/export": [
414
+ "error"
415
+ ],
416
+ "import/exports-last": [
417
+ "off"
418
+ ],
419
+ "import/extensions": [
420
+ "off",
421
+ "never"
422
+ ],
423
+ "import/first": [
424
+ "error"
425
+ ],
426
+ "import/max-dependencies": [
427
+ "error",
428
+ {
429
+ "ignoreTypeImports": false,
430
+ "max": 20
431
+ }
432
+ ],
433
+ "import/named": [
434
+ "off"
435
+ ],
436
+ "import/namespace": [
437
+ "error"
438
+ ],
439
+ "import/newline-after-import": [
440
+ "error"
441
+ ],
442
+ "import/no-absolute-path": [
443
+ "off"
444
+ ],
445
+ "import/no-amd": [
446
+ "error"
447
+ ],
448
+ "import/no-anonymous-default-export": [
449
+ "error"
450
+ ],
451
+ "import/no-commonjs": [
452
+ "error"
453
+ ],
454
+ "import/no-cycle": [
455
+ "error"
456
+ ],
457
+ "import/no-default-export": [
458
+ "off"
459
+ ],
460
+ "import/no-deprecated": [
461
+ "error"
462
+ ],
463
+ "import/no-duplicates": [
464
+ "error"
465
+ ],
466
+ "import/no-dynamic-require": [
467
+ "off"
468
+ ],
469
+ "import/no-empty-named-blocks": [
470
+ "error"
471
+ ],
472
+ "import/no-extraneous-dependencies": [
473
+ "error"
474
+ ],
475
+ "import/no-import-module-exports": [
476
+ "error"
477
+ ],
478
+ "import/no-internal-modules": [
479
+ "off"
480
+ ],
481
+ "import/no-mutable-exports": [
482
+ "error"
483
+ ],
484
+ "import/no-named-as-default": [
485
+ "error"
486
+ ],
487
+ "import/no-named-as-default-member": [
488
+ "error"
489
+ ],
490
+ "import/no-named-default": [
491
+ "error"
492
+ ],
493
+ "import/no-named-export": [
494
+ "off"
495
+ ],
496
+ "import/no-namespace": [
497
+ "off"
498
+ ],
499
+ "import/no-nodejs-modules": [
500
+ "off"
501
+ ],
502
+ "import/no-relative-packages": [
503
+ "off"
504
+ ],
505
+ "import/no-relative-parent-imports": [
506
+ "off"
507
+ ],
508
+ "import/no-restricted-paths": [
509
+ "off"
510
+ ],
511
+ "import/no-self-import": [
512
+ "error"
513
+ ],
514
+ "import/no-unassigned-import": [
515
+ "off"
516
+ ],
517
+ "import/no-unresolved": [
518
+ "off"
519
+ ],
520
+ "import/no-unused-modules": [
521
+ "off"
522
+ ],
523
+ "import/no-useless-path-segments": [
524
+ "error"
525
+ ],
526
+ "import/no-webpack-loader-syntax": [
527
+ "error"
528
+ ],
529
+ "import/order": [
530
+ "error",
531
+ {
532
+ "alphabetize": {
533
+ "caseInsensitive": true,
534
+ "order": "asc"
535
+ }
536
+ }
537
+ ],
538
+ "import/prefer-default-export": [
539
+ "off"
540
+ ],
541
+ "import/unambiguous": [
542
+ "error"
543
+ ],
544
+ "init-declarations": "off",
545
+ "max-classes-per-file": [
546
+ "error",
547
+ 1
548
+ ],
549
+ "max-depth": [
550
+ "error",
551
+ 3
552
+ ],
553
+ "max-lines": [
554
+ "error",
555
+ 150
556
+ ],
557
+ "max-lines-per-function": [
558
+ "error",
559
+ 40
560
+ ],
561
+ "max-nested-callbacks": [
562
+ "error",
563
+ 3
564
+ ],
565
+ "max-params": [
566
+ "error",
567
+ 8
568
+ ],
569
+ "max-statements": [
570
+ "error",
571
+ 20
572
+ ],
573
+ "new-cap": "off",
90
574
  "no-alert": "error",
575
+ "no-array-constructor": "off",
576
+ "no-async-promise-executor": "error",
577
+ "no-await-in-loop": "error",
578
+ "no-bitwise": "error",
91
579
  "no-caller": "error",
92
580
  "no-case-declarations": "error",
581
+ "no-class-assign": "error",
582
+ "no-compare-neg-zero": "error",
583
+ "no-cond-assign": "error",
584
+ "no-console": "error",
585
+ "no-const-assign": "error",
586
+ "no-constant-condition": "error",
93
587
  "no-constructor-return": "error",
588
+ "no-continue": "off",
589
+ "no-control-regex": "error",
590
+ "no-debugger": "error",
591
+ "no-delete-var": "error",
94
592
  "no-div-regex": "error",
593
+ "no-dupe-args": "error",
594
+ "no-dupe-class-members": "off",
595
+ "no-dupe-else-if": "error",
596
+ "no-dupe-keys": "error",
597
+ "no-duplicate-case": "error",
95
598
  "no-else-return": "error",
599
+ "no-empty": "off",
600
+ "no-empty-character-class": "error",
96
601
  "no-empty-function": "off",
97
602
  "no-empty-pattern": "warn",
603
+ "no-empty-static-block": "off",
98
604
  "no-eq-null": "error",
99
605
  "no-eval": "error",
606
+ "no-ex-assign": "error",
100
607
  "no-extend-native": "error",
101
608
  "no-extra-bind": "error",
609
+ "no-extra-boolean-cast": "error",
102
610
  "no-extra-label": "error",
103
611
  "no-fallthrough": "error",
104
- "no-floating-decimal": "off",
612
+ "no-func-assign": "error",
105
613
  "no-global-assign": "error",
106
614
  "no-implicit-coercion": "off",
107
615
  "no-implicit-globals": "error",
108
616
  "no-implied-eval": "off",
617
+ "no-import-assign": "error",
618
+ "no-inner-declarations": "error",
619
+ "no-invalid-regexp": "error",
109
620
  "no-invalid-this": "off",
621
+ "no-irregular-whitespace": "error",
110
622
  "no-iterator": "error",
623
+ "no-label-var": "error",
111
624
  "no-labels": "error",
112
625
  "no-lone-blocks": "error",
626
+ "no-lonely-if": "error",
113
627
  "no-loop-func": "off",
628
+ "no-loops/no-loops": 2,
629
+ "no-loss-of-precision": "off",
114
630
  "no-magic-numbers": "off",
115
- "no-multi-spaces": "error",
631
+ "no-misleading-character-class": "error",
632
+ "no-multi-assign": "error",
116
633
  "no-multi-str": "warn",
634
+ "no-negated-condition": "error",
635
+ "no-nested-ternary": "off",
117
636
  "no-new": "off",
118
637
  "no-new-func": "error",
638
+ "no-new-native-nonconstructor": "error",
639
+ "no-new-symbol": "error",
119
640
  "no-new-wrappers": "error",
120
641
  "no-nonoctal-decimal-escape": "error",
642
+ "no-obj-calls": "error",
643
+ "no-object-constructor": "error",
121
644
  "no-octal": "error",
122
645
  "no-octal-escape": "error",
123
646
  "no-param-reassign": "error",
647
+ "no-plusplus": "off",
648
+ "no-promise-executor-return": "error",
124
649
  "no-proto": "error",
650
+ "no-prototype-builtins": "error",
125
651
  "no-redeclare": "off",
652
+ "no-regex-spaces": "error",
653
+ "no-restricted-exports": "off",
654
+ "no-restricted-globals": "off",
655
+ "no-restricted-imports": "off",
126
656
  "no-restricted-properties": "off",
657
+ "no-restricted-syntax": "off",
127
658
  "no-return-assign": "off",
128
659
  "no-return-await": "off",
129
660
  "no-script-url": "error",
661
+ "no-secrets/no-secrets": [
662
+ "error",
663
+ {
664
+ "ignoreContent": [
665
+ "__zone_symbol__UNPATCHED_EVENTS"
666
+ ]
667
+ }
668
+ ],
130
669
  "no-self-assign": "error",
131
670
  "no-self-compare": "error",
132
671
  "no-sequences": "error",
672
+ "no-setter-return": "error",
673
+ "no-shadow": "off",
674
+ "no-shadow-restricted-names": "error",
675
+ "no-sparse-arrays": "error",
676
+ "no-template-curly-in-string": "error",
677
+ "no-ternary": "off",
678
+ "no-this-before-super": "error",
133
679
  "no-throw-literal": "off",
680
+ "no-undef": "off",
681
+ "no-undef-init": "error",
682
+ "no-undefined": "off",
683
+ "no-underscore-dangle": "off",
684
+ "no-unexpected-multiline": "error",
134
685
  "no-unmodified-loop-condition": "error",
686
+ "no-unneeded-ternary": "error",
687
+ "no-unreachable": "error",
688
+ "no-unreachable-loop": "error",
689
+ "no-unsafe-finally": "error",
690
+ "no-unsafe-negation": "error",
691
+ "no-unsafe-optional-chaining": "error",
692
+ "no-unsanitized/method": "error",
693
+ "no-unsanitized/property": "error",
135
694
  "no-unused-expressions": "off",
136
695
  "no-unused-labels": "error",
137
696
  "no-unused-private-class-members": "error",
697
+ "no-unused-vars": "off",
698
+ "no-use-before-define": "off",
699
+ "no-useless-backreference": "error",
138
700
  "no-useless-call": "error",
139
701
  "no-useless-catch": "error",
702
+ "no-useless-computed-key": "error",
140
703
  "no-useless-concat": "error",
704
+ "no-useless-constructor": "off",
141
705
  "no-useless-empty-export": "off",
142
706
  "no-useless-escape": "error",
707
+ "no-useless-rename": "error",
143
708
  "no-useless-return": "error",
709
+ "no-var": "error",
144
710
  "no-void": "error",
145
711
  "no-warning-comments": "warn",
146
712
  "no-with": "error",
147
- "prefer-named-capture-group": "off",
148
- "prefer-promise-reject-errors": "off",
149
- "prefer-regex-literals": "off",
150
- "radix": "error",
151
- "require-await": "off",
152
- "require-unicode-regexp": "warn",
153
- "vars-on-top": "off",
154
- "wrap-iife": "off",
155
- "yoda": "warn",
156
- "strict": "off",
157
- "init-declarations": "off",
158
- "no-delete-var": "error",
159
- "no-label-var": "error",
160
- "no-restricted-globals": "off",
161
- "no-shadow": "off",
162
- "no-shadow-restricted-names": "error",
163
- "no-undef": "off",
164
- "no-undef-init": "error",
165
- "no-undefined": "off",
166
- "no-unused-vars": "off",
167
- "no-use-before-define": "off",
168
- "array-bracket-newline": "off",
169
- "array-bracket-spacing": ["error", "never"],
170
- "array-element-newline": "off",
171
- "block-spacing": "error",
172
- "brace-style": "off",
173
- "camelcase": "warn",
174
- "capitalized-comments": "error",
175
- "comma-dangle": "off",
176
- "comma-spacing": "off",
177
- "comma-style": "error",
178
- "computed-property-spacing": "error",
179
- "consistent-this": "error",
180
- "eol-last": "off",
181
- "func-call-spacing": "off",
182
- "func-name-matching": "off",
183
- "func-names": "error",
184
- "func-style": "error",
185
- "function-call-argument-newline": "off",
186
- "function-paren-newline": "off",
187
- "id-denylist": "off",
188
- "id-length": [
189
- "error",
190
- {
191
- "min": 1,
192
- "max": 50
193
- }
194
- ],
195
- "id-match": "off",
196
- "implicit-arrow-linebreak": "off",
197
- "import/no-duplicates": "off",
198
- "indent": ["off", "tab"],
199
- "jsx-quotes": "error",
200
- "key-spacing": "error",
201
- "keyword-spacing": "off",
202
- "lines-between-class-members": [
203
- "off",
204
- "always",
205
- { "exceptAfterSingleLine": true }
206
- ],
207
- "max-depth": ["error", 3],
208
- "max-len": [
209
- "error",
210
- {
211
- "code": 120,
212
- "ignoreComments": true
213
- }
214
- ],
215
- "max-lines": ["error", 150],
216
- "max-lines-per-function": ["error", 40],
217
- "max-nested-callbacks": ["error", 3],
218
- "max-params": ["error", 8],
219
- "max-statements": ["error", 20],
220
- "max-statements-per-line": "error",
221
- "multiline-ternary": "off",
222
- "new-cap": "off",
223
- "new-parens": "error",
224
- "newline-per-chained-call": [
225
- "error",
226
- { "ignoreChainWithDepth": 2 }
227
- ],
228
- "no-array-constructor": "off",
229
- "no-bitwise": "error",
230
- "no-continue": "off",
231
- "no-lonely-if": "error",
232
- "no-mixed-operators": "off",
233
- "no-mixed-spaces-and-tabs": "off",
234
- "no-multi-assign": "error",
235
- "no-multiple-empty-lines": "error",
236
- "no-negated-condition": "error",
237
- "no-nested-ternary": "off",
238
- "no-new-object": "error",
239
- "no-plusplus": "off",
240
- "no-restricted-syntax": "off",
241
- "no-tabs": "off",
242
- "no-ternary": "off",
243
- "no-trailing-spaces": "error",
244
- "no-underscore-dangle": "off",
245
- "no-unneeded-ternary": "error",
246
- "no-whitespace-before-property": "error",
247
- "nonblock-statement-body-position": ["error", "below"],
248
- "object-curly-newline": "off",
249
- "object-curly-spacing": "off",
250
- "object-property-newline": [
251
- "error",
252
- { "allowAllPropertiesOnSameLine": true }
253
- ],
713
+ "object-shorthand": "error",
254
714
  "one-var": "off",
255
- "one-var-declaration-per-line": "off",
256
715
  "operator-assignment": "error",
257
- "operator-linebreak": "off",
258
- "padded-blocks": ["error", "never"],
259
- "padding-line-between-statements": "off",
260
- "prefer-exponentiation-operator": "off",
261
- "prefer-object-spread": "off",
262
- "quote-props": ["error", "as-needed"],
263
- "quotes": "off",
264
- "semi": "off",
265
- "semi-spacing": "error",
266
- "semi-style": "off",
267
- "sort-keys": "off",
268
- "sort-vars": "off",
269
- "space-before-blocks": "error",
270
- "space-before-function-paren": "off",
271
- "space-in-parens": "error",
272
- "space-infix-ops": "off",
273
- "space-unary-ops": "error",
274
- "spaced-comment": "error",
275
- "switch-colon-spacing": "error",
276
- "template-tag-spacing": "error",
277
- "unicode-bom": "off",
278
- "wrap-regex": "off",
279
- "arrow-body-style": [
280
- "error",
281
- "as-needed",
282
- { "requireReturnForObjectLiteral": true }
283
- ],
284
- "arrow-parens": [
285
- "error",
286
- "as-needed",
287
- { "requireForBlockBody": false }
288
- ],
289
- "arrow-spacing": "error",
290
- "constructor-super": "error",
291
- "generator-star-spacing": "error",
292
- "no-class-assign": "error",
293
- "no-confusing-arrow": "off",
294
- "no-const-assign": "error",
295
- "no-dupe-class-members": "off",
296
- "no-empty-static-block": "off",
297
- "no-new-native-nonconstructor": "error",
298
- "no-new-symbol": "error",
299
- "no-restricted-exports": "off",
300
- "no-restricted-imports": "off",
301
- "no-this-before-super": "error",
302
- "no-useless-computed-key": "error",
303
- "no-useless-constructor": "off",
304
- "no-useless-rename": "error",
305
- "no-var": "error",
306
- "object-shorthand": "error",
307
716
  "prefer-arrow-callback": "error",
308
717
  "prefer-const": "error",
309
718
  "prefer-destructuring": "off",
719
+ "prefer-exponentiation-operator": "off",
720
+ "prefer-named-capture-group": "off",
310
721
  "prefer-numeric-literals": "warn",
311
722
  "prefer-object-has-own": "off",
723
+ "prefer-object-spread": "off",
724
+ "prefer-promise-reject-errors": "off",
725
+ "prefer-regex-literals": "off",
312
726
  "prefer-rest-params": "error",
313
727
  "prefer-spread": "error",
314
728
  "prefer-template": "error",
315
- "require-yield": "error",
316
- "sort-imports": "off",
317
- "symbol-description": "error",
318
- "template-curly-spacing": "error",
319
- "yield-star-spacing": "error",
320
- "no-loops/no-loops": 2,
321
- "no-secrets/no-secrets": [
322
- "error",
323
- { "ignoreContent": ["__zone_symbol__UNPATCHED_EVENTS"] }
324
- ],
325
- "no-unsanitized/method": "error",
326
- "no-unsanitized/property": "error",
327
729
  "promise/always-return": [
328
730
  "error",
329
- { "ignoreLastCallback": true }
330
- ],
331
- "promise/no-return-wrap": [
332
- "error",
333
- { "allowReject": true }
731
+ {
732
+ "ignoreLastCallback": true
733
+ }
334
734
  ],
335
- "promise/no-multiple-resolved": "error",
336
- "promise/param-names": "error",
735
+ "promise/avoid-new": "warn",
337
736
  "promise/catch-or-return": [
338
737
  "error",
339
738
  {
340
739
  "allowThen": true,
341
- "terminationMethod": ["catch", "finally"]
740
+ "terminationMethod": [
741
+ "catch",
742
+ "finally"
743
+ ]
342
744
  }
343
745
  ],
746
+ "promise/no-callback-in-promise": "off",
747
+ "promise/no-multiple-resolved": "error",
344
748
  "promise/no-native": "off",
345
749
  "promise/no-nesting": "off",
346
- "promise/no-promise-in-callback": "off",
347
- "promise/no-callback-in-promise": "off",
348
- "promise/avoid-new": "warn",
349
750
  "promise/no-new-statics": "error",
751
+ "promise/no-promise-in-callback": "off",
350
752
  "promise/no-return-in-finally": "warn",
753
+ "promise/no-return-wrap": [
754
+ "error",
755
+ {
756
+ "allowReject": true
757
+ }
758
+ ],
759
+ "promise/param-names": "error",
351
760
  "promise/valid-params": "warn",
761
+ "radix": "error",
762
+ "require-atomic-updates": "error",
763
+ "require-await": "off",
764
+ "require-unicode-regexp": "warn",
765
+ "require-yield": "error",
766
+ "sort-imports": "off",
767
+ "sort-keys": "off",
768
+ "sort-vars": "off",
769
+ "strict": "off",
770
+ "symbol-description": "error",
771
+ "unicode-bom": "off",
352
772
  "unused-imports/no-unused-imports": "error",
353
773
  "unused-imports/no-unused-vars": [
354
774
  "warn",
355
775
  {
356
- "vars": "all",
357
- "varsIgnorePattern": "^_",
358
776
  "args": "after-used",
359
- "argsIgnorePattern": "^_"
777
+ "argsIgnorePattern": "^_",
778
+ "vars": "all",
779
+ "varsIgnorePattern": "^_"
780
+ }
781
+ ],
782
+ "use-isnan": "error",
783
+ "valid-typeof": "error",
784
+ "vars-on-top": "off",
785
+ "xss/no-location-href-assign": [
786
+ 2,
787
+ {
788
+ "escapeFunc": "escapeHref"
360
789
  }
361
790
  ],
362
791
  "xss/no-mixed-html": [
363
792
  2,
364
793
  {
365
- "htmlVariableRules": ["AsHtml", "HtmlEncoded/i", "^html$"],
366
- "htmlFunctionRules": [".asHtml/i", "toHtml"],
367
794
  "functions": {
368
795
  "$": {
369
796
  "htmlInput": true,
370
- "safe": ["document", "this"]
797
+ "safe": [
798
+ "document",
799
+ "this"
800
+ ]
371
801
  },
372
802
  ".html": {
373
803
  "htmlInput": true,
@@ -375,167 +805,30 @@ module.exports = {
375
805
  },
376
806
  ".join": {
377
807
  "passthrough": {
378
- "obj": true,
379
- "args": true
808
+ "args": true,
809
+ "obj": true
380
810
  }
381
811
  }
382
- }
383
- }
384
- ],
385
- "xss/no-location-href-assign": [
386
- 2,
387
- {
388
- "escapeFunc": "escapeHref"
389
- }
390
- ],
391
- "import/export": ["error"],
392
- "import/no-deprecated": ["error"],
393
- "import/no-empty-named-blocks": ["error"],
394
- "import/no-extraneous-dependencies": ["error"],
395
- "import/no-mutable-exports": ["error"],
396
- "import/no-named-as-default": ["error"],
397
- "import/no-named-as-default-member": ["error"],
398
- "import/no-unused-modules": ["off"],
399
- "import/no-amd": ["error"],
400
- "import/no-commonjs": ["error"],
401
- "import/no-import-module-exports": ["error"],
402
- "import/no-nodejs-modules": ["off"],
403
- "import/unambiguous": ["error"],
404
- "import/default": ["error"],
405
- "import/named": ["off"],
406
- "import/namespace": ["error"],
407
- "import/no-absolute-path": ["off"],
408
- "import/no-cycle": ["error"],
409
- "import/no-dynamic-require": ["off"],
410
- "import/no-internal-modules": ["off"],
411
- "import/no-relative-packages": ["off"],
412
- "import/no-relative-parent-imports": ["off"],
413
- "import/no-restricted-paths": ["off"],
414
- "import/no-self-import": ["error"],
415
- "import/no-unresolved": ["off"],
416
- "import/no-useless-path-segments": ["error"],
417
- "import/no-webpack-loader-syntax": ["error"],
418
- "import/consistent-type-specifier-style": ["off"],
419
- "import/dynamic-import-chunkname": ["off"],
420
- "import/exports-last": ["off"],
421
- "import/extensions": ["off", "never"],
422
- "import/first": ["error"],
423
- "import/max-dependencies": ["error", {
424
- "max": 20,
425
- "ignoreTypeImports": false,
426
- }],
427
- "import/newline-after-import": ["error"],
428
- "import/no-anonymous-default-export": ["error"],
429
- "import/no-default-export": ["off"],
430
- "import/no-duplicates": ["error"],
431
- "import/no-named-default": ["error"],
432
- "import/no-named-export": ["off"],
433
- "import/no-namespace": ["off"],
434
- "import/no-unassigned-import": ["off"],
435
- "import/order": ["error", { "alphabetize": { "order": "asc", "caseInsensitive": true } }],
436
- "import/prefer-default-export": ["off"],
437
- "@typescript-eslint/brace-style": ["error"],
438
- "@typescript-eslint/comma-dangle": ["error", "never"],
439
- "@typescript-eslint/comma-spacing": ["error"],
440
- "@typescript-eslint/consistent-type-exports": [
441
- "error",
442
- {
443
- "fixMixedExportsWithInlineTypeSpecifier": true
444
- }
445
- ],
446
- "@typescript-eslint/consistent-type-imports": ["off"],
447
- "@typescript-eslint/default-param-last": ["error"],
448
- "@typescript-eslint/dot-notation": ["error"],
449
- "@typescript-eslint/func-call-spacing": ["error"],
450
- "@typescript-eslint/indent": ["off", "tab"],
451
- "@typescript-eslint/init-declarations": ["off"],
452
- "@typescript-eslint/keyword-spacing": ["error"],
453
- "@typescript-eslint/lines-between-class-members": [
454
- "error",
455
- "always",
456
- { "exceptAfterSingleLine": true }
457
- ],
458
- "@typescript-eslint/no-array-constructor": ["error"],
459
- "@typescript-eslint/no-dupe-class-members": ["error"],
460
- "@typescript-eslint/no-empty-function": ["error"],
461
- "@typescript-eslint/no-extra-parens": ["error"],
462
- "@typescript-eslint/no-extra-semi": ["error"],
463
- "@typescript-eslint/no-implied-eval": ["error"],
464
- "@typescript-eslint/no-import-type-side-effects": "error",
465
- "@typescript-eslint/no-invalid-this": ["error"],
466
- "@typescript-eslint/no-loop-func": ["error"],
467
- "@typescript-eslint/no-loss-of-precision": ["error"],
468
- "@typescript-eslint/no-magic-numbers": [
469
- "error",
470
- {
471
- "ignore": [0, 1],
472
- "enforceConst": true,
473
- "ignoreArrayIndexes": true,
474
- "ignoreClassFieldInitialValues": true,
475
- "ignoreDefaultValues": true,
476
- "ignoreEnums": true,
477
- "ignoreNumericLiteralTypes": true,
478
- "ignoreReadonlyClassProperties": true,
479
- "ignoreTypeIndexes": true
480
- }
481
- ],
482
- "@typescript-eslint/no-meaningless-void-operator": [
483
- "error",
484
- {
485
- "checkNever": false
486
- }
487
- ],
488
- "@typescript-eslint/no-mixed-enums": "error",
489
- "@typescript-eslint/no-non-null-assertion": ["error"],
490
- "@typescript-eslint/no-redeclare": ["error"],
491
- "@typescript-eslint/no-redundant-type-constituents": ["error"],
492
- "@typescript-eslint/no-restricted-imports": ["off"],
493
- "@typescript-eslint/no-shadow": ["error"],
494
- "@typescript-eslint/no-throw-literal": ["error"],
495
- "@typescript-eslint/no-unsafe-declaration-merging": ["error"],
496
- "@typescript-eslint/no-unused-expressions": ["error"],
497
- "@typescript-eslint/no-unused-vars": [
498
- "error",
499
- { "argsIgnorePattern": "^_" }
500
- ],
501
- "@typescript-eslint/no-use-before-define": ["error"],
502
- "@typescript-eslint/no-useless-constructor": ["error"],
503
- "@typescript-eslint/object-curly-spacing": ["error", "always"],
504
- "@typescript-eslint/parameter-properties": "off",
505
- "@typescript-eslint/quotes": [
506
- "error",
507
- "single",
508
- { "allowTemplateLiterals": true }
509
- ],
510
- "@typescript-eslint/require-await": ["error"],
511
- "@typescript-eslint/return-await": ["error"],
512
- "@typescript-eslint/semi": ["error"],
513
- "@typescript-eslint/space-before-function-paren": ["error", "never"],
514
- "@typescript-eslint/space-infix-ops": ["error"],
515
- "@angular-eslint/component-selector": [
516
- "error",
517
- {
518
- "type": "element",
519
- "prefix": ["app", "enigmatry", "appg"],
520
- "style": "kebab-case"
521
- }
522
- ],
523
- "@angular-eslint/directive-selector": [
524
- "error",
525
- {
526
- "type": "attribute",
527
- "prefix": ["app", "enigmatry", "appg"],
528
- "style": "camelCase"
812
+ },
813
+ "htmlFunctionRules": [
814
+ ".asHtml/i",
815
+ "toHtml"
816
+ ],
817
+ "htmlVariableRules": [
818
+ "AsHtml",
819
+ "HtmlEncoded/i",
820
+ "^html$"
821
+ ]
529
822
  }
530
823
  ],
531
- "deprecation/deprecation": "error"
824
+ "yoda": "warn"
532
825
  }
533
826
  },
534
827
  {
535
- files: ["*.html"],
536
- extends: ["plugin:@angular-eslint/template/recommended"],
537
- parser: "@angular-eslint/template-parser",
538
- plugins: ["@angular-eslint/template"]
828
+ "files": ["*.html"],
829
+ "extends": ["plugin:@angular-eslint/template/recommended"],
830
+ "parser": "@angular-eslint/template-parser",
831
+ "plugins": ["@angular-eslint/template"]
539
832
  }
540
833
  ]
541
834
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enigmatry/eslint-config",
3
- "version": "15.0.0",
3
+ "version": "15.0.1-preview.5",
4
4
  "author": "Enigmatry",
5
5
  "description": "ESLint shareable config for the Enigmatry style.",
6
6
  "homepage": "https://github.com/enigmatry/entry-angular-building-blocks/tree/master/libs/eslint-config#readme",
@@ -13,17 +13,18 @@
13
13
  "index.js"
14
14
  ],
15
15
  "dependencies": {
16
- "eslint": "8.37.0",
17
- "@typescript-eslint/eslint-plugin": "5.57.0",
18
- "@typescript-eslint/parser": "5.57.0",
19
- "eslint-plugin-deprecation": "1.3.3",
20
- "eslint-plugin-import": "2.27.5",
16
+ "eslint": "8.54.0",
17
+ "@typescript-eslint/eslint-plugin": "6.12.0",
18
+ "@typescript-eslint/parser": "6.12.0",
19
+ "@stylistic/eslint-plugin": "1.4.0",
20
+ "eslint-plugin-deprecation": "2.0.0",
21
+ "eslint-plugin-import": "2.29.0",
21
22
  "eslint-plugin-no-loops": "0.3.0",
22
23
  "eslint-plugin-no-secrets": "0.8.9",
23
24
  "eslint-plugin-no-unsanitized": "4.0.2",
24
25
  "eslint-plugin-prefer-arrow": "1.2.3",
25
26
  "eslint-plugin-promise": "6.1.1",
26
- "eslint-plugin-unused-imports": "2.0.0",
27
+ "eslint-plugin-unused-imports": "3.0.0",
27
28
  "eslint-plugin-xss": "0.1.12",
28
29
  "@angular-eslint/builder": "15.2.1",
29
30
  "@angular-eslint/eslint-plugin": "15.2.1",
@@ -32,17 +33,18 @@
32
33
  "@angular-eslint/template-parser": "15.2.1"
33
34
  },
34
35
  "peerDependencies": {
35
- "eslint": "8.37.0",
36
- "@typescript-eslint/eslint-plugin": "5.57.0",
37
- "@typescript-eslint/parser": "5.57.0",
38
- "eslint-plugin-deprecation": "1.3.3",
39
- "eslint-plugin-import": "2.27.5",
36
+ "eslint": "8.54.0",
37
+ "@typescript-eslint/eslint-plugin": "6.12.0",
38
+ "@typescript-eslint/parser": "6.12.0",
39
+ "@stylistic/eslint-plugin": "1.4.0",
40
+ "eslint-plugin-deprecation": "2.0.0",
41
+ "eslint-plugin-import": "2.29.0",
40
42
  "eslint-plugin-no-loops": "0.3.0",
41
43
  "eslint-plugin-no-secrets": "0.8.9",
42
44
  "eslint-plugin-no-unsanitized": "4.0.2",
43
45
  "eslint-plugin-prefer-arrow": "1.2.3",
44
46
  "eslint-plugin-promise": "6.1.1",
45
- "eslint-plugin-unused-imports": "2.0.0",
47
+ "eslint-plugin-unused-imports": "3.0.0",
46
48
  "eslint-plugin-xss": "0.1.12",
47
49
  "@angular-eslint/builder": "15.2.1",
48
50
  "@angular-eslint/eslint-plugin": "15.2.1",