UNPKG

23.3 kBJSONView Raw
1{
2 "env": {
3 "browser": true,
4 "es6": true,
5 "node": true
6 },
7 "globals": {
8 "Atomics": "readonly",
9 "SharedArrayBuffer": "readonly"
10 },
11 "ignorePatterns": [],
12 "parserOptions": {
13 "ecmaFeatures": {
14 "jsx": true
15 },
16 "ecmaVersion": 2018,
17 "project": "./tsconfig.json",
18 "sourceType": "module"
19 },
20 "plugins": [
21 "eslint-comments",
22 "import",
23 "unicorn",
24 "react",
25 "unused-imports",
26 "tsdoc",
27 "promise",
28 "jsdoc",
29 "@typescript-eslint",
30 "@rushstack/security",
31 "@rushstack"
32 ],
33 "reportUnusedDisableDirectives": true,
34 "rules": {
35 "@rushstack/no-new-null": [
36 "warn"
37 ],
38 "@rushstack/typedef-var": [
39 "off"
40 ],
41 "@typescript-eslint/adjacent-overload-signatures": [
42 "error"
43 ],
44 "@typescript-eslint/array-type": [
45 "error"
46 ],
47 "@typescript-eslint/await-thenable": [
48 "error"
49 ],
50 "@typescript-eslint/ban-ts-comment": [
51 "error"
52 ],
53 "@typescript-eslint/ban-types": [
54 "error"
55 ],
56 "@typescript-eslint/brace-style": [
57 "error",
58 "1tbs",
59 {
60 "allowSingleLine": true
61 }
62 ],
63 "@typescript-eslint/comma-dangle": [
64 "error",
65 "always-multiline"
66 ],
67 "@typescript-eslint/comma-spacing": [
68 "error"
69 ],
70 "@typescript-eslint/consistent-type-assertions": [
71 "error",
72 {
73 "assertionStyle": "as",
74 "objectLiteralTypeAssertions": "never"
75 }
76 ],
77 "@typescript-eslint/consistent-type-definitions": [
78 "error"
79 ],
80 "@typescript-eslint/dot-notation": [
81 "error"
82 ],
83 "@typescript-eslint/explicit-function-return-type": [
84 "off"
85 ],
86 "@typescript-eslint/explicit-member-accessibility": [
87 "off"
88 ],
89 "@typescript-eslint/explicit-module-boundary-types": [
90 "off"
91 ],
92 "@typescript-eslint/func-call-spacing": [
93 "error"
94 ],
95 "@typescript-eslint/indent": [
96 "off"
97 ],
98 "@typescript-eslint/interface-name-prefix": [
99 "off"
100 ],
101 "@typescript-eslint/keyword-spacing": [
102 "error"
103 ],
104 "@typescript-eslint/member-delimiter-style": [
105 "error",
106 {
107 "multiline": {
108 "delimiter": "semi",
109 "requireLast": true
110 },
111 "multilineDetection": "brackets",
112 "singleline": {
113 "delimiter": "semi",
114 "requireLast": true
115 }
116 }
117 ],
118 "@typescript-eslint/member-ordering": [
119 "off"
120 ],
121 "@typescript-eslint/naming-convention": [
122 "error",
123 {
124 "format": [
125 "camelCase"
126 ],
127 "leadingUnderscore": "allow",
128 "modifiers": [
129 "private"
130 ],
131 "selector": "accessor"
132 }
133 ],
134 "@typescript-eslint/no-array-constructor": [
135 "error"
136 ],
137 "@typescript-eslint/no-duplicate-imports": [
138 "error"
139 ],
140 "@typescript-eslint/no-dynamic-delete": [
141 "error"
142 ],
143 "@typescript-eslint/no-empty-function": [
144 "off"
145 ],
146 "@typescript-eslint/no-empty-interface": [
147 "error"
148 ],
149 "@typescript-eslint/no-explicit-any": [
150 "off"
151 ],
152 "@typescript-eslint/no-extra-non-null-assertion": [
153 "error"
154 ],
155 "@typescript-eslint/no-extra-semi": [
156 "error"
157 ],
158 "@typescript-eslint/no-extraneous-class": [
159 "error"
160 ],
161 "@typescript-eslint/no-floating-promises": [
162 "error"
163 ],
164 "@typescript-eslint/no-for-in-array": [
165 "error"
166 ],
167 "@typescript-eslint/no-implied-eval": [
168 "error"
169 ],
170 "@typescript-eslint/no-inferrable-types": [
171 "off"
172 ],
173 "@typescript-eslint/no-invalid-this": [
174 "off"
175 ],
176 "@typescript-eslint/no-loss-of-precision": [
177 "error"
178 ],
179 "@typescript-eslint/no-magic-numbers": [
180 "off"
181 ],
182 "@typescript-eslint/no-misused-new": [
183 "error"
184 ],
185 "@typescript-eslint/no-misused-promises": [
186 "error"
187 ],
188 "@typescript-eslint/no-namespace": [
189 "error"
190 ],
191 "@typescript-eslint/no-non-null-asserted-optional-chain": [
192 "error"
193 ],
194 "@typescript-eslint/no-non-null-assertion": [
195 "error"
196 ],
197 "@typescript-eslint/no-parameter-properties": [
198 "off"
199 ],
200 "@typescript-eslint/no-require-imports": [
201 "error"
202 ],
203 "@typescript-eslint/no-shadow": [
204 "error",
205 {
206 "hoist": "all",
207 "ignoreTypeValueShadow": true
208 }
209 ],
210 "@typescript-eslint/no-this-alias": [
211 "error"
212 ],
213 "@typescript-eslint/no-throw-literal": [
214 "error"
215 ],
216 "@typescript-eslint/no-unnecessary-qualifier": [
217 "error"
218 ],
219 "@typescript-eslint/no-unnecessary-type-arguments": [
220 "error"
221 ],
222 "@typescript-eslint/no-unnecessary-type-assertion": [
223 "error"
224 ],
225 "@typescript-eslint/no-unnecessary-type-constraint": [
226 "error"
227 ],
228 "@typescript-eslint/no-unsafe-argument": [
229 "off"
230 ],
231 "@typescript-eslint/no-unsafe-assignment": [
232 "off"
233 ],
234 "@typescript-eslint/no-unsafe-call": [
235 "off"
236 ],
237 "@typescript-eslint/no-unsafe-member-access": [
238 "off"
239 ],
240 "@typescript-eslint/no-unsafe-return": [
241 "error"
242 ],
243 "@typescript-eslint/no-unused-expressions": [
244 "error"
245 ],
246 "@typescript-eslint/no-unused-vars": [
247 "off"
248 ],
249 "@typescript-eslint/no-use-before-declare": [
250 "off"
251 ],
252 "@typescript-eslint/no-use-before-define": [
253 "off"
254 ],
255 "@typescript-eslint/no-var-requires": [
256 "error"
257 ],
258 "@typescript-eslint/object-curly-spacing": [
259 "error",
260 "always"
261 ],
262 "@typescript-eslint/prefer-as-const": [
263 "error"
264 ],
265 "@typescript-eslint/prefer-for-of": [
266 "error"
267 ],
268 "@typescript-eslint/prefer-function-type": [
269 "error"
270 ],
271 "@typescript-eslint/prefer-includes": [
272 "error"
273 ],
274 "@typescript-eslint/prefer-namespace-keyword": [
275 "error"
276 ],
277 "@typescript-eslint/prefer-nullish-coalescing": [
278 "error"
279 ],
280 "@typescript-eslint/prefer-optional-chain": [
281 "error"
282 ],
283 "@typescript-eslint/prefer-readonly": [
284 "error"
285 ],
286 "@typescript-eslint/promise-function-async": [
287 "error"
288 ],
289 "@typescript-eslint/quotes": [
290 "error",
291 "double",
292 {
293 "allowTemplateLiterals": true,
294 "avoidEscape": true
295 }
296 ],
297 "@typescript-eslint/require-await": [
298 "off"
299 ],
300 "@typescript-eslint/restrict-plus-operands": [
301 "error"
302 ],
303 "@typescript-eslint/restrict-template-expressions": [
304 "off"
305 ],
306 "@typescript-eslint/semi": [
307 "error",
308 "always"
309 ],
310 "@typescript-eslint/space-before-function-paren": [
311 "error",
312 {
313 "anonymous": "never",
314 "asyncArrow": "always",
315 "named": "never"
316 }
317 ],
318 "@typescript-eslint/space-infix-ops": [
319 "error"
320 ],
321 "@typescript-eslint/strict-boolean-expressions": [
322 "error"
323 ],
324 "@typescript-eslint/triple-slash-reference": [
325 "error"
326 ],
327 "@typescript-eslint/type-annotation-spacing": [
328 "error"
329 ],
330 "@typescript-eslint/typedef": [
331 "off"
332 ],
333 "@typescript-eslint/unbound-method": [
334 "error",
335 {
336 "ignoreStatic": true
337 }
338 ],
339 "@typescript-eslint/unified-signatures": [
340 "error"
341 ],
342 "array-bracket-spacing": [
343 "error"
344 ],
345 "arrow-body-style": [
346 "off"
347 ],
348 "arrow-parens": [
349 "error",
350 "always"
351 ],
352 "arrow-spacing": [
353 "error"
354 ],
355 "block-spacing": [
356 "error"
357 ],
358 "brace-style": [
359 "off"
360 ],
361 "camelcase": [
362 "off"
363 ],
364 "capitalized-comments": [
365 "off"
366 ],
367 "comma-dangle": [
368 "off"
369 ],
370 "comma-spacing": [
371 "off"
372 ],
373 "complexity": [
374 "off"
375 ],
376 "constructor-super": [
377 "error"
378 ],
379 "curly": [
380 "error"
381 ],
382 "default-case": [
383 "error"
384 ],
385 "dot-location": [
386 "error",
387 "property"
388 ],
389 "dot-notation": [
390 "off"
391 ],
392 "eol-last": [
393 "error"
394 ],
395 "eqeqeq": [
396 "error",
397 "smart"
398 ],
399 "eslint-comments/disable-enable-pair": [
400 "error",
401 {
402 "allowWholeFile": true
403 }
404 ],
405 "eslint-comments/no-aggregating-enable": [
406 "error"
407 ],
408 "eslint-comments/no-duplicate-disable": [
409 "error"
410 ],
411 "eslint-comments/no-unlimited-disable": [
412 "error"
413 ],
414 "eslint-comments/no-unused-enable": [
415 "error"
416 ],
417 "for-direction": [
418 "error"
419 ],
420 "func-call-spacing": [
421 "off"
422 ],
423 "getter-return": [
424 "off"
425 ],
426 "guard-for-in": [
427 "error"
428 ],
429 "id-match": [
430 "error"
431 ],
432 "import/default": [
433 2
434 ],
435 "import/export": [
436 2
437 ],
438 "import/named": [
439 "off"
440 ],
441 "import/namespace": [
442 2
443 ],
444 "import/no-default-export": [
445 "error"
446 ],
447 "import/no-deprecated": [
448 "off"
449 ],
450 "import/no-duplicates": [
451 1
452 ],
453 "import/no-extraneous-dependencies": [
454 "error",
455 {
456 "devDependencies": [
457 "**/*.spec.ts",
458 "src/test/**"
459 ]
460 }
461 ],
462 "import/no-internal-modules": [
463 "error"
464 ],
465 "import/no-named-as-default": [
466 1
467 ],
468 "import/no-named-as-default-member": [
469 1
470 ],
471 "import/no-unassigned-import": [
472 "error"
473 ],
474 "import/no-unresolved": [
475 2,
476 {
477 "caseSensitive": true,
478 "caseSensitiveStrict": false
479 }
480 ],
481 "import/no-unused-modules": [
482 "error"
483 ],
484 "import/order": [
485 "error"
486 ],
487 "jsdoc/check-access": [
488 "error"
489 ],
490 "jsdoc/check-examples": [
491 "off"
492 ],
493 "jsdoc/check-indentation": [
494 "error"
495 ],
496 "jsdoc/check-line-alignment": [
497 "error"
498 ],
499 "jsdoc/check-tag-names": [
500 "off"
501 ],
502 "jsdoc/empty-tags": [
503 "error"
504 ],
505 "jsdoc/no-bad-blocks": [
506 "error"
507 ],
508 "jsdoc/require-asterisk-prefix": [
509 "error"
510 ],
511 "jsdoc/require-hyphen-before-param-description": [
512 "error"
513 ],
514 "jsdoc/require-param-description": [
515 "error"
516 ],
517 "jsdoc/require-returns-description": [
518 "error"
519 ],
520 "jsx-quotes": [
521 "error"
522 ],
523 "key-spacing": [
524 "error"
525 ],
526 "keyword-spacing": [
527 "off"
528 ],
529 "linebreak-style": [
530 "off"
531 ],
532 "max-classes-per-file": [
533 "off"
534 ],
535 "max-len": [
536 "error",
537 {
538 "code": 120,
539 "ignoreRegExpLiterals": false,
540 "ignoreStrings": false
541 }
542 ],
543 "max-lines": [
544 "off"
545 ],
546 "new-parens": [
547 "error"
548 ],
549 "newline-per-chained-call": [
550 "off"
551 ],
552 "no-array-constructor": [
553 "off"
554 ],
555 "no-async-promise-executor": [
556 "error"
557 ],
558 "no-bitwise": [
559 "error"
560 ],
561 "no-caller": [
562 "error"
563 ],
564 "no-case-declarations": [
565 "error"
566 ],
567 "no-class-assign": [
568 "error"
569 ],
570 "no-compare-neg-zero": [
571 "error"
572 ],
573 "no-cond-assign": [
574 "error"
575 ],
576 "no-const-assign": [
577 "off"
578 ],
579 "no-constant-condition": [
580 "error"
581 ],
582 "no-control-regex": [
583 "error"
584 ],
585 "no-debugger": [
586 "off"
587 ],
588 "no-delete-var": [
589 "error"
590 ],
591 "no-dupe-args": [
592 "off"
593 ],
594 "no-dupe-class-members": [
595 "off"
596 ],
597 "no-dupe-else-if": [
598 "error"
599 ],
600 "no-dupe-keys": [
601 "off"
602 ],
603 "no-duplicate-case": [
604 "error"
605 ],
606 "no-duplicate-imports": [
607 "off"
608 ],
609 "no-empty": [
610 "off"
611 ],
612 "no-empty-character-class": [
613 "error"
614 ],
615 "no-empty-function": [
616 "off"
617 ],
618 "no-empty-pattern": [
619 "error"
620 ],
621 "no-eval": [
622 "error"
623 ],
624 "no-ex-assign": [
625 "error"
626 ],
627 "no-extra-boolean-cast": [
628 "error"
629 ],
630 "no-extra-semi": [
631 "off"
632 ],
633 "no-fallthrough": [
634 "off"
635 ],
636 "no-func-assign": [
637 "off"
638 ],
639 "no-global-assign": [
640 "error"
641 ],
642 "no-implied-eval": [
643 "off"
644 ],
645 "no-import-assign": [
646 "off"
647 ],
648 "no-inner-declarations": [
649 "error"
650 ],
651 "no-invalid-regexp": [
652 "error"
653 ],
654 "no-invalid-this": [
655 "off"
656 ],
657 "no-irregular-whitespace": [
658 "error"
659 ],
660 "no-loss-of-precision": [
661 "off"
662 ],
663 "no-magic-numbers": [
664 "off"
665 ],
666 "no-misleading-character-class": [
667 "error"
668 ],
669 "no-mixed-spaces-and-tabs": [
670 "error"
671 ],
672 "no-multi-spaces": [
673 "error",
674 {
675 "ignoreEOLComments": true
676 }
677 ],
678 "no-multi-str": [
679 "off"
680 ],
681 "no-multiple-empty-lines": [
682 "error",
683 {
684 "max": 1,
685 "maxBOF": 0,
686 "maxEOF": 0
687 }
688 ],
689 "no-nested-ternary": [
690 "off"
691 ],
692 "no-new-func": [
693 "error"
694 ],
695 "no-new-symbol": [
696 "off"
697 ],
698 "no-new-wrappers": [
699 "error"
700 ],
701 "no-nonoctal-decimal-escape": [
702 "error"
703 ],
704 "no-obj-calls": [
705 "off"
706 ],
707 "no-octal": [
708 "error"
709 ],
710 "no-octal-escape": [
711 "error"
712 ],
713 "no-param-reassign": [
714 "error"
715 ],
716 "no-prototype-builtins": [
717 "error"
718 ],
719 "no-redeclare": [
720 "off"
721 ],
722 "no-regex-spaces": [
723 "error"
724 ],
725 "no-restricted-syntax": [
726 "error",
727 "ForInStatement"
728 ],
729 "no-return-await": [
730 "error"
731 ],
732 "no-self-assign": [
733 "error"
734 ],
735 "no-sequences": [
736 "error"
737 ],
738 "no-setter-return": [
739 "off"
740 ],
741 "no-shadow": [
742 "off"
743 ],
744 "no-shadow-restricted-names": [
745 "error"
746 ],
747 "no-sparse-arrays": [
748 "error"
749 ],
750 "no-template-curly-in-string": [
751 "error"
752 ],
753 "no-this-before-super": [
754 "off"
755 ],
756 "no-throw-literal": [
757 "off"
758 ],
759 "no-trailing-spaces": [
760 "error"
761 ],
762 "no-undef": [
763 "off"
764 ],
765 "no-undef-init": [
766 "error"
767 ],
768 "no-underscore-dangle": [
769 "off"
770 ],
771 "no-unexpected-multiline": [
772 "error"
773 ],
774 "no-unreachable": [
775 "off"
776 ],
777 "no-unsafe-finally": [
778 "error"
779 ],
780 "no-unsafe-negation": [
781 "off"
782 ],
783 "no-unsafe-optional-chaining": [
784 "error"
785 ],
786 "no-unused-expressions": [
787 "off"
788 ],
789 "no-unused-labels": [
790 "error"
791 ],
792 "no-unused-vars": [
793 "off"
794 ],
795 "no-useless-backreference": [
796 "error"
797 ],
798 "no-useless-catch": [
799 "error"
800 ],
801 "no-useless-escape": [
802 "error"
803 ],
804 "no-var": [
805 "error"
806 ],
807 "no-void": [
808 "off"
809 ],
810 "no-whitespace-before-property": [
811 "error"
812 ],
813 "no-with": [
814 "error"
815 ],
816 "object-curly-spacing": [
817 "off"
818 ],
819 "object-shorthand": [
820 "error"
821 ],
822 "one-var": [
823 "error",
824 "never"
825 ],
826 "padded-blocks": [
827 "error",
828 "never"
829 ],
830 "padding-line-between-statements": [
831 "off",
832 "error",
833 {
834 "blankLine": "always",
835 "next": "return",
836 "prev": "*"
837 }
838 ],
839 "prefer-arrow-callback": [
840 "error"
841 ],
842 "prefer-const": [
843 "error"
844 ],
845 "prefer-object-spread": [
846 "error"
847 ],
848 "prefer-promise-reject-errors": [
849 "error"
850 ],
851 "prefer-rest-params": [
852 "error"
853 ],
854 "prefer-spread": [
855 "error"
856 ],
857 "prefer-template": [
858 "error"
859 ],
860 "promise/param-names": [
861 "warn"
862 ],
863 "quote-props": [
864 "error",
865 "consistent-as-needed"
866 ],
867 "quotes": [
868 "off"
869 ],
870 "radix": [
871 "error"
872 ],
873 "require-atomic-updates": [
874 "off"
875 ],
876 "require-await": [
877 "off"
878 ],
879 "require-yield": [
880 "error"
881 ],
882 "semi": [
883 "off"
884 ],
885 "semi-spacing": [
886 "error"
887 ],
888 "space-before-blocks": [
889 "error"
890 ],
891 "space-before-function-paren": [
892 "off"
893 ],
894 "space-in-parens": [
895 "error",
896 "never"
897 ],
898 "space-infix-ops": [
899 "off"
900 ],
901 "space-unary-ops": [
902 "error"
903 ],
904 "spaced-comment": [
905 "error",
906 "always",
907 {
908 "block": {
909 "balanced": true,
910 "markers": [
911 "!"
912 ]
913 }
914 }
915 ],
916 "switch-colon-spacing": [
917 "error"
918 ],
919 "tsdoc/syntax": [
920 "error"
921 ],
922 "unicorn/better-regex": [
923 "error"
924 ],
925 "unicorn/filename-case": [
926 "error",
927 {
928 "cases": {
929 "camelCase": true,
930 "pascalCase": true
931 }
932 }
933 ],
934 "unicorn/no-new-buffer": [
935 "error"
936 ],
937 "unicorn/no-unsafe-regex": [
938 "error"
939 ],
940 "unicorn/prefer-switch": [
941 "error"
942 ],
943 "unicorn/prefer-ternary": [
944 "error"
945 ],
946 "unicorn/prefer-type-error": [
947 "error"
948 ],
949 "unused-imports/no-unused-imports": [
950 "error"
951 ],
952 "use-isnan": [
953 "error"
954 ],
955 "valid-typeof": [
956 "error"
957 ],
958 "yoda": [
959 "off"
960 ]
961 },
962 "settings": {
963 "import/extensions": [
964 ".ts",
965 ".tsx",
966 ".d.ts",
967 ".js",
968 ".jsx"
969 ],
970 "import/external-module-folders": [
971 "node_modules",
972 "node_modules/@types"
973 ],
974 "import/parsers": {
975 "@typescript-eslint/parser": [
976 ".ts",
977 ".tsx",
978 ".d.ts"
979 ]
980 },
981 "import/resolver": {
982 "node": {
983 "extensions": [
984 ".ts",
985 ".tsx",
986 ".d.ts",
987 ".js",
988 ".jsx"
989 ]
990 }
991 },
992 "jsdoc": {
993 "mode": "typescript",
994 "tagNamePreference": {
995 "arg": {
996 "message": "Please use @param instead of @arg.",
997 "replacement": "param"
998 },
999 "argument": {
1000 "message": "Please use @param instead of @argument.",
1001 "replacement": "param"
1002 },
1003 "return": {
1004 "message": "Please use @returns instead of @return.",
1005 "replacement": "returns"
1006 }
1007 }
1008 }
1009 }
1010}