UNPKG

19.6 kBJSONView Raw
1{
2 "env": {
3 "browser": true,
4 "es6": true,
5 "node": true
6 },
7 "globals": {
8 "graphql": true
9 },
10 "parser": "babel-eslint",
11 "parserOptions": {
12 "ecmaFeatures": {
13 "impliedStrict": true,
14 "jsx": true
15 },
16 "ecmaVersion": 2018,
17 "sourceType": "module"
18 },
19 "plugins": [
20 "eslint-plugin-better",
21 "eslint-plugin-fp",
22 "eslint-plugin-import",
23 "eslint-plugin-json",
24 "eslint-plugin-jsx-a11y",
25 "eslint-plugin-promise",
26 "eslint-plugin-react",
27 "eslint-plugin-standard"
28 ],
29 "rules": {
30 "accessor-pairs": "warn",
31 "array-bracket-newline": [
32 "warn",
33 "consistent"
34 ],
35 "array-bracket-spacing": [
36 "warn",
37 "never"
38 ],
39 "array-callback-return": "warn",
40 "array-element-newline": "off",
41 "arrow-body-style": [
42 "warn",
43 "as-needed"
44 ],
45 "arrow-parens": [
46 "warn",
47 "always"
48 ],
49 "arrow-spacing": [
50 "warn",
51 {
52 "after": true,
53 "before": true
54 }
55 ],
56 "better/explicit-return": "warn",
57 "better/no-classes": "off",
58 "better/no-deletes": "off",
59 "better/no-exceptions": "off",
60 "better/no-exports": "off",
61 "better/no-fors": "off",
62 "better/no-function-expressions": "off",
63 "better/no-ifs": "warn",
64 "better/no-imports": "off",
65 "better/no-instanceofs": "warn",
66 "better/no-new": "warn",
67 "better/no-nulls": "off",
68 "better/no-reassigns": "off",
69 "better/no-switches": "off",
70 "better/no-this": "off",
71 "better/no-typeof": "off",
72 "better/no-undefined": "off",
73 "better/no-variable-declaration": "off",
74 "better/no-whiles": "off",
75 "block-scoped-var": "warn",
76 "block-spacing": [
77 "warn",
78 "always"
79 ],
80 "brace-style": [
81 "warn",
82 "1tbs",
83 {
84 "allowSingleLine": true
85 }
86 ],
87 "callback-return": "warn",
88 "camelcase": [
89 "warn",
90 {
91 "properties": "always"
92 }
93 ],
94 "capitalized-comments": "off",
95 "class-methods-use-this": "warn",
96 "comma-dangle": [
97 "warn",
98 "never"
99 ],
100 "comma-spacing": [
101 "warn",
102 {
103 "after": true,
104 "before": false
105 }
106 ],
107 "comma-style": [
108 "warn",
109 "last"
110 ],
111 "complexity": "off",
112 "computed-property-spacing": [
113 "warn",
114 "never"
115 ],
116 "consistent-return": "warn",
117 "consistent-this": [
118 "warn",
119 "self"
120 ],
121 "constructor-super": "warn",
122 "curly": [
123 "warn",
124 "all"
125 ],
126 "default-case": "warn",
127 "dot-location": [
128 "warn",
129 "property"
130 ],
131 "dot-notation": [
132 "warn",
133 {
134 "allowKeywords": true
135 }
136 ],
137 "eol-last": [
138 "warn",
139 "unix"
140 ],
141 "eqeqeq": [
142 "warn",
143 "smart"
144 ],
145 "for-direction": "warn",
146 "fp/no-arguments": "warn",
147 "fp/no-class": "warn",
148 "fp/no-delete": "warn",
149 "fp/no-events": "warn",
150 "fp/no-get-set": "warn",
151 "fp/no-let": "warn",
152 "fp/no-loops": "warn",
153 "fp/no-mutating-assign": "warn",
154 "fp/no-mutating-methods": "warn",
155 "fp/no-mutation": [
156 "warn",
157 {
158 "commonjs": true
159 }
160 ],
161 "fp/no-nil": "warn",
162 "fp/no-proxy": "warn",
163 "fp/no-rest-parameters": "warn",
164 "fp/no-this": "warn",
165 "fp/no-throw": "warn",
166 "fp/no-unused-expression": [
167 "warn",
168 {
169 "allowUseStrict": true
170 }
171 ],
172 "fp/no-valueof-field": "warn",
173 "func-call-spacing": [
174 "warn",
175 "always"
176 ],
177 "func-name-matching": "warn",
178 "func-names": "off",
179 "func-style": [
180 "warn",
181 "expression"
182 ],
183 "function-paren-newline": [
184 "warn",
185 "consistent"
186 ],
187 "generator-star-spacing": [
188 "warn",
189 {
190 "after": true,
191 "before": true
192 }
193 ],
194 "getter-return": "warn",
195 "global-require": "warn",
196 "guard-for-in": "warn",
197 "handle-callback-err": [
198 "warn",
199 "^(err|error)$"
200 ],
201 "id-blacklist": "off",
202 "id-length": "off",
203 "id-match": "off",
204 "import/export": "warn",
205 "import/no-amd": "warn",
206 "import/no-commonjs": [
207 "warn",
208 "allow-primitive-modules"
209 ],
210 "indent": [
211 "warn",
212 2,
213 {
214 "SwitchCase": 1,
215 "VariableDeclarator": 1
216 }
217 ],
218 "init-declarations": "off",
219 "jsx-a11y/accessible-emoji": "off",
220 "jsx-a11y/alt-text": "off",
221 "jsx-a11y/anchor-has-content": "off",
222 "jsx-a11y/anchor-is-valid": "off",
223 "jsx-a11y/aria-activedescendant-has-tabindex": "off",
224 "jsx-a11y/aria-props": "off",
225 "jsx-a11y/aria-proptypes": "off",
226 "jsx-a11y/aria-role": "off",
227 "jsx-a11y/aria-unsupported-elements": "off",
228 "jsx-a11y/click-events-have-key-events": "off",
229 "jsx-a11y/heading-has-content": "off",
230 "jsx-a11y/html-has-lang": "off",
231 "jsx-a11y/iframe-has-title": "off",
232 "jsx-a11y/img-redundant-alt": "off",
233 "jsx-a11y/interactive-supports-focus": "off",
234 "jsx-a11y/label-has-for": "off",
235 "jsx-a11y/lang": "off",
236 "jsx-a11y/media-has-caption": "off",
237 "jsx-a11y/mouse-events-have-key-events": "off",
238 "jsx-a11y/no-access-key": "off",
239 "jsx-a11y/no-autofocus": "off",
240 "jsx-a11y/no-distracting-elements": "off",
241 "jsx-a11y/no-interactive-element-to-noninteractive-role": "off",
242 "jsx-a11y/no-noninteractive-element-interactions": "off",
243 "jsx-a11y/no-noninteractive-element-to-interactive-role": "off",
244 "jsx-a11y/no-noninteractive-tabindex": "off",
245 "jsx-a11y/no-onchange": "off",
246 "jsx-a11y/no-redundant-roles": "off",
247 "jsx-a11y/no-static-element-interactions": "off",
248 "jsx-a11y/role-has-required-aria-props": "off",
249 "jsx-a11y/role-supports-aria-props": "off",
250 "jsx-a11y/scope": "off",
251 "jsx-a11y/tabindex-no-positive": "off",
252 "jsx-quotes": [
253 "warn",
254 "prefer-double"
255 ],
256 "key-spacing": [
257 "warn",
258 {
259 "afterColon": true,
260 "beforeColon": false,
261 "mode": "strict"
262 }
263 ],
264 "keyword-spacing": [
265 "warn",
266 {
267 "after": true,
268 "before": true
269 }
270 ],
271 "line-comment-position": [
272 "warn",
273 {
274 "position": "above"
275 }
276 ],
277 "linebreak-style": [
278 "warn",
279 "unix"
280 ],
281 "lines-around-comment": [
282 "warn",
283 {
284 "afterBlockComment": false,
285 "afterLineComment": false,
286 "allowArrayEnd": true,
287 "allowArrayStart": true,
288 "allowBlockEnd": true,
289 "allowBlockStart": true,
290 "allowObjectEnd": true,
291 "allowObjectStart": true,
292 "beforeBlockComment": true,
293 "beforeLineComment": true
294 }
295 ],
296 "lines-between-class-members": [
297 "warn",
298 "always"
299 ],
300 "max-depth": "off",
301 "max-len": [
302 "warn",
303 {
304 "code": 78,
305 "ignoreUrls": true
306 }
307 ],
308 "max-lines": "off",
309 "max-nested-callbacks": "off",
310 "max-params": "off",
311 "max-statements": [
312 "warn",
313 {
314 "max": 10
315 }
316 ],
317 "max-statements-per-line": [
318 "warn",
319 {
320 "max": 1
321 }
322 ],
323 "multiline-comment-style": "off",
324 "multiline-ternary": "off",
325 "new-cap": [
326 "warn",
327 {
328 "capIsNew": true,
329 "newIsCap": true
330 }
331 ],
332 "new-parens": "warn",
333 "newline-per-chained-call": "warn",
334 "no-alert": "warn",
335 "no-array-constructor": "warn",
336 "no-await-in-loop": "warn",
337 "no-bitwise": "warn",
338 "no-buffer-constructor": "warn",
339 "no-caller": "warn",
340 "no-case-declarations": "warn",
341 "no-catch-shadow": "off",
342 "no-class-assign": "warn",
343 "no-compare-neg-zero": "warn",
344 "no-cond-assign": "warn",
345 "no-confusing-arrow": [
346 "warn",
347 {
348 "allowParens": true
349 }
350 ],
351 "no-console": "warn",
352 "no-const-assign": "warn",
353 "no-constant-condition": "warn",
354 "no-continue": "warn",
355 "no-control-regex": "warn",
356 "no-debugger": "warn",
357 "no-delete-var": "warn",
358 "no-div-regex": "warn",
359 "no-dupe-args": "warn",
360 "no-dupe-class-members": "warn",
361 "no-dupe-keys": "warn",
362 "no-duplicate-case": "warn",
363 "no-duplicate-imports": [
364 "warn",
365 {
366 "includeExports": true
367 }
368 ],
369 "no-else-return": "warn",
370 "no-empty": [
371 "warn",
372 {
373 "allowEmptyCatch": true
374 }
375 ],
376 "no-empty-character-class": "warn",
377 "no-empty-function": "warn",
378 "no-empty-pattern": "warn",
379 "no-eq-null": "warn",
380 "no-eval": "warn",
381 "no-ex-assign": "warn",
382 "no-extend-native": "warn",
383 "no-extra-bind": "warn",
384 "no-extra-boolean-cast": "warn",
385 "no-extra-label": "warn",
386 "no-extra-parens": [
387 "warn",
388 "all",
389 {
390 "enforceForArrowConditionals": false,
391 "returnAssign": false
392 }
393 ],
394 "no-extra-semi": "warn",
395 "no-fallthrough": "warn",
396 "no-floating-decimal": "warn",
397 "no-func-assign": "warn",
398 "no-global-assign": "warn",
399 "no-implicit-coercion": "warn",
400 "no-implicit-globals": "warn",
401 "no-implied-eval": "warn",
402 "no-inline-comments": "warn",
403 "no-inner-declarations": [
404 "warn",
405 "both"
406 ],
407 "no-invalid-regexp": "warn",
408 "no-invalid-this": "warn",
409 "no-irregular-whitespace": "warn",
410 "no-iterator": "warn",
411 "no-label-var": "warn",
412 "no-labels": [
413 "warn",
414 {
415 "allowLoop": false,
416 "allowSwitch": false
417 }
418 ],
419 "no-lone-blocks": "warn",
420 "no-lonely-if": "warn",
421 "no-loop-func": "warn",
422 "no-magic-numbers": [
423 "warn",
424 {
425 "enforceConst": true,
426 "ignoreArrayIndexes": true
427 }
428 ],
429 "no-mixed-operators": "warn",
430 "no-mixed-requires": [
431 "warn",
432 {
433 "allowCall": true,
434 "grouping": true
435 }
436 ],
437 "no-mixed-spaces-and-tabs": "warn",
438 "no-multi-assign": "warn",
439 "no-multi-spaces": "warn",
440 "no-multi-str": "warn",
441 "no-multiple-empty-lines": [
442 "warn",
443 {
444 "max": 1
445 }
446 ],
447 "no-negated-condition": "warn",
448 "no-nested-ternary": "warn",
449 "no-new": "warn",
450 "no-new-func": "warn",
451 "no-new-object": "warn",
452 "no-new-require": "warn",
453 "no-new-symbol": "warn",
454 "no-new-wrappers": "warn",
455 "no-obj-calls": "warn",
456 "no-octal": "warn",
457 "no-octal-escape": "warn",
458 "no-param-reassign": "warn",
459 "no-path-concat": "warn",
460 "no-plusplus": [
461 "warn",
462 {
463 "allowForLoopAfterthoughts": true
464 }
465 ],
466 "no-process-env": "warn",
467 "no-process-exit": "warn",
468 "no-proto": "warn",
469 "no-prototype-builtins": "warn",
470 "no-redeclare": [
471 "warn",
472 {
473 "builtinGlobals": true
474 }
475 ],
476 "no-regex-spaces": "warn",
477 "no-restricted-globals": "off",
478 "no-restricted-imports": "off",
479 "no-restricted-modules": "off",
480 "no-restricted-properties": "off",
481 "no-restricted-syntax": "off",
482 "no-return-assign": [
483 "warn",
484 "always"
485 ],
486 "no-return-await": "warn",
487 "no-script-url": "warn",
488 "no-self-assign": "warn",
489 "no-self-compare": "warn",
490 "no-sequences": "warn",
491 "no-shadow": [
492 "warn",
493 {
494 "builtinGlobals": true,
495 "hoist": "all"
496 }
497 ],
498 "no-shadow-restricted-names": "warn",
499 "no-sparse-arrays": "warn",
500 "no-sync": "off",
501 "no-tabs": "warn",
502 "no-template-curly-in-string": "warn",
503 "no-ternary": "off",
504 "no-this-before-super": "warn",
505 "no-throw-literal": "warn",
506 "no-trailing-spaces": "warn",
507 "no-undef": "warn",
508 "no-undef-init": "warn",
509 "no-undefined": "warn",
510 "no-underscore-dangle": "off",
511 "no-unexpected-multiline": "warn",
512 "no-unmodified-loop-condition": "warn",
513 "no-unneeded-ternary": [
514 "warn",
515 {
516 "defaultAssignment": false
517 }
518 ],
519 "no-unreachable": "warn",
520 "no-unsafe-finally": "warn",
521 "no-unsafe-negation": "warn",
522 "no-unused-expressions": [
523 "warn",
524 {
525 "allowShortCircuit": true,
526 "allowTernary": true
527 }
528 ],
529 "no-unused-labels": "warn",
530 "no-unused-vars": [
531 "warn",
532 {
533 "args": "all",
534 "argsIgnorePattern": "^_",
535 "vars": "all"
536 }
537 ],
538 "no-use-before-define": "warn",
539 "no-useless-call": "warn",
540 "no-useless-computed-key": "warn",
541 "no-useless-concat": "warn",
542 "no-useless-constructor": "warn",
543 "no-useless-escape": "warn",
544 "no-useless-rename": "warn",
545 "no-useless-return": "warn",
546 "no-var": "warn",
547 "no-void": "warn",
548 "no-warning-comments": "warn",
549 "no-whitespace-before-property": "warn",
550 "no-with": "warn",
551 "nonblock-statement-body-position": "off",
552 "object-curly-newline": [
553 "warn",
554 {
555 "consistent": true
556 }
557 ],
558 "object-curly-spacing": [
559 "warn",
560 "always",
561 {
562 "arraysInObjects": true,
563 "objectsInObjects": true
564 }
565 ],
566 "object-property-newline": "off",
567 "object-shorthand": [
568 "warn",
569 "always",
570 {
571 "avoidQuotes": true
572 }
573 ],
574 "one-var": [
575 "warn",
576 {
577 "initialized": "never",
578 "uninitialized": "always"
579 }
580 ],
581 "one-var-declaration-per-line": "off",
582 "operator-assignment": [
583 "warn",
584 "always"
585 ],
586 "operator-linebreak": [
587 "warn",
588 "after",
589 {
590 "overrides": {
591 ":": "before",
592 "?": "before"
593 }
594 }
595 ],
596 "padded-blocks": [
597 "warn",
598 "never"
599 ],
600 "padding-line-between-statements": [
601 "warn",
602 {
603 "blankLine": "always",
604 "next": "*",
605 "prev": [
606 "const",
607 "let",
608 "var"
609 ]
610 },
611 {
612 "blankLine": "any",
613 "next": [
614 "const",
615 "let",
616 "var"
617 ],
618 "prev": [
619 "const",
620 "let",
621 "var"
622 ]
623 }
624 ],
625 "prefer-arrow-callback": "off",
626 "prefer-const": "warn",
627 "prefer-destructuring": "off",
628 "prefer-numeric-literals": "warn",
629 "prefer-promise-reject-errors": "warn",
630 "prefer-rest-params": "warn",
631 "prefer-spread": "warn",
632 "prefer-template": "warn",
633 "promise/param-names": "warn",
634 "quote-props": [
635 "warn",
636 "always"
637 ],
638 "quotes": [
639 "warn",
640 "double",
641 {
642 "allowTemplateLiterals": true,
643 "avoidEscape": true
644 }
645 ],
646 "radix": [
647 "warn",
648 "always"
649 ],
650 "react/boolean-prop-naming": "off",
651 "react/button-has-type": "off",
652 "react/default-props-match-prop-types": "off",
653 "react/destructuring-assignment": "off",
654 "react/display-name": "off",
655 "react/forbid-component-props": "off",
656 "react/forbid-elements": "off",
657 "react/forbid-foreign-prop-types": "off",
658 "react/forbid-prop-types": "off",
659 "react/jsx-boolean-value": "off",
660 "react/jsx-closing-bracket-location": "off",
661 "react/jsx-closing-tag-location": "off",
662 "react/jsx-curly-brace-presence": "off",
663 "react/jsx-curly-spacing": "off",
664 "react/jsx-equals-spacing": "off",
665 "react/jsx-filename-extension": "off",
666 "react/jsx-first-prop-new-line": "off",
667 "react/jsx-handler-names": "off",
668 "react/jsx-indent": "off",
669 "react/jsx-indent-props": "off",
670 "react/jsx-key": "off",
671 "react/jsx-max-props-per-line": "off",
672 "react/jsx-no-bind": "off",
673 "react/jsx-no-comment-textnodes": "off",
674 "react/jsx-no-duplicate-props": "off",
675 "react/jsx-no-literals": "off",
676 "react/jsx-no-target-blank": "off",
677 "react/jsx-no-undef": "off",
678 "react/jsx-pascal-case": "off",
679 "react/jsx-sort-props": "off",
680 "react/jsx-space-before-closing": "off",
681 "react/jsx-tag-spacing": "off",
682 "react/jsx-uses-react": "off",
683 "react/jsx-uses-vars": "off",
684 "react/jsx-wrap-multilines": "off",
685 "react/no-access-state-in-setstate": "off",
686 "react/no-array-index-key": "off",
687 "react/no-children-prop": "off",
688 "react/no-danger": "off",
689 "react/no-danger-with-children": "off",
690 "react/no-deprecated": "off",
691 "react/no-did-mount-set-state": "off",
692 "react/no-did-update-set-state": "off",
693 "react/no-direct-mutation-state": "off",
694 "react/no-find-dom-node": "off",
695 "react/no-is-mounted": "off",
696 "react/no-multi-comp": "off",
697 "react/no-redundant-should-component-update": "off",
698 "react/no-render-return-value": "off",
699 "react/no-set-state": "off",
700 "react/no-string-refs": "off",
701 "react/no-typos": "off",
702 "react/no-unescaped-entities": "off",
703 "react/no-unknown-property": "off",
704 "react/no-unused-prop-types": "off",
705 "react/no-unused-state": "off",
706 "react/no-will-update-set-state": "off",
707 "react/prefer-es6-class": "off",
708 "react/prefer-stateless-function": "off",
709 "react/prop-types": "off",
710 "react/react-in-jsx-scope": "off",
711 "react/require-default-props": "off",
712 "react/require-optimization": "off",
713 "react/require-render-return": "off",
714 "react/self-closing-comp": "off",
715 "react/sort-comp": "off",
716 "react/sort-prop-types": "off",
717 "react/style-prop-object": "off",
718 "react/void-dom-elements-no-children": "off",
719 "require-await": "warn",
720 "require-jsdoc": "warn",
721 "require-yield": "off",
722 "rest-spread-spacing": [
723 "warn",
724 "always"
725 ],
726 "semi": [
727 "warn",
728 "never"
729 ],
730 "semi-spacing": [
731 "warn",
732 {
733 "after": true,
734 "before": false
735 }
736 ],
737 "semi-style": [
738 "warn",
739 "last"
740 ],
741 "sort-imports": [
742 "warn",
743 {
744 "ignoreCase": true,
745 "memberSyntaxSortOrder": [
746 "multiple",
747 "single",
748 "all",
749 "none"
750 ]
751 }
752 ],
753 "sort-keys": [
754 "warn",
755 "asc",
756 {
757 "caseSensitive": false,
758 "natural": true
759 }
760 ],
761 "sort-vars": [
762 "warn",
763 {
764 "ignoreCase": true
765 }
766 ],
767 "space-before-blocks": [
768 "warn",
769 "always"
770 ],
771 "space-before-function-paren": [
772 "warn",
773 "always"
774 ],
775 "space-in-parens": [
776 "warn",
777 "never"
778 ],
779 "space-infix-ops": "warn",
780 "space-unary-ops": [
781 "warn",
782 {
783 "nonwords": false,
784 "words": true
785 }
786 ],
787 "spaced-comment": [
788 "warn",
789 "always",
790 {
791 "markers": [
792 "global",
793 "globals",
794 "eslint",
795 "eslint-disable",
796 "*package",
797 "!",
798 ","
799 ]
800 }
801 ],
802 "standard/array-bracket-even-spacing": [
803 "warn",
804 "either"
805 ],
806 "standard/computed-property-even-spacing": [
807 "warn",
808 "even"
809 ],
810 "standard/object-curly-even-spacing": [
811 "warn",
812 "either"
813 ],
814 "strict": [
815 "warn",
816 "safe"
817 ],
818 "switch-colon-spacing": [
819 "warn",
820 {
821 "after": true,
822 "before": false
823 }
824 ],
825 "symbol-description": "off",
826 "template-curly-spacing": [
827 "warn",
828 "never"
829 ],
830 "template-tag-spacing": [
831 "warn",
832 "always"
833 ],
834 "unicode-bom": [
835 "warn",
836 "never"
837 ],
838 "use-isnan": "warn",
839 "valid-jsdoc": "warn",
840 "valid-typeof": "warn",
841 "vars-on-top": "warn",
842 "wrap-iife": [
843 "warn",
844 "any"
845 ],
846 "wrap-regex": "warn",
847 "yield-star-spacing": [
848 "warn",
849 "both"
850 ],
851 "yoda": [
852 "warn",
853 "never"
854 ]
855 }
856}